---
Fuzzer filename: "PatternMatcher_match_Fuzzer"
Fuzzing method: "fuzzerTestOneInput"
All functions:
  Function list name: "All functions"
  Elements:
  - functionName: "[org.springframework.retry.policy.CompositeRetryPolicy$CompositeRetryContext].<init>(org.springframework.retry.RetryContext,java.util.List,org.springframework.retry.RetryPolicy[])"
    functionSourceFile: "org.springframework.retry.policy.CompositeRetryPolicy$CompositeRetryContext"
    linkageType: ""
    functionLinenumber: 154
    functionLinenumberEnd: 159
    functionDepth: 1
    returnType: "void"
    argCount: 3
    argTypes:
    - "org.springframework.retry.RetryContext"
    - "java.util.List"
    - "org.springframework.retry.RetryPolicy[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.context.RetryContextSupport].<init>(org.springframework.retry.RetryContext)"
    - "[java.util.ArrayList].size()"
    - "[java.util.LinkedList].size()"
    - "[java.util.Vector].size()"
    - "[org.springframework.util.AutoPopulatingList].size()"
    - "[java.util.concurrent.CopyOnWriteArrayList].size()"
    - "[sun.awt.util.IdentityArrayList].size()"
    - "[java.util.AbstractCollection].toArray(java.lang.Object[])"
    - "[java.util.ArrayList].toArray(java.lang.Object[])"
    - "[java.util.Vector].toArray(java.lang.Object[])"
    - "[java.util.LinkedList].toArray(java.lang.Object[])"
    - "[sun.awt.util.IdentityArrayList].toArray(java.lang.Object[])"
    - "[org.springframework.util.AutoPopulatingList].toArray(java.lang.Object[])"
    - "[java.util.concurrent.CopyOnWriteArrayList].toArray(java.lang.Object[])"
    - "[java.util.List].size()"
    - "[java.util.List].toArray(java.lang.Object[])"
    functionUses: 1
    ICount: 12
    EdgeCount: 14
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.policy.CompositeRetryPolicy$CompositeRetryContext:155,1"
      Dst: "[org.springframework.retry.context.RetryContextSupport].<init>(org.springframework.retry.RetryContext)"
    - Src: "org.springframework.retry.policy.CompositeRetryPolicy$CompositeRetryContext:156,1"
      Dst: "[java.util.List].size()"
    - Src: "org.springframework.retry.policy.CompositeRetryPolicy$CompositeRetryContext:156,1"
      Dst: "[java.util.List].toArray(java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext].<init>(org.springframework.retry.RetryContext,org.springframework.retry.RetryPolicy,long,long)"
    functionSourceFile: "org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext"
    linkageType: ""
    functionLinenumber: 119
    functionLinenumberEnd: 127
    functionDepth: 2
    returnType: "void"
    argCount: 4
    argTypes:
    - "org.springframework.retry.RetryContext"
    - "org.springframework.retry.RetryPolicy"
    - "long"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.System].currentTimeMillis()"
    - "[java.util.concurrent.atomic.AtomicInteger].<init>()"
    - "[org.springframework.retry.context.RetryContextSupport].<init>(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext].createDelegateContext(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext)"
    - "[org.springframework.core.AttributeAccessorSupport].setAttribute(java.lang.String,java.lang.Object)"
    - "[java.lang.Boolean].valueOf(boolean)"
    functionUses: 1
    ICount: 19
    EdgeCount: 6
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext:120,1"
      Dst: "[org.springframework.retry.context.RetryContextSupport].<init>(org.springframework.retry.RetryContext)"
    - Src: "org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext:111,1"
      Dst: "[java.lang.System].currentTimeMillis()"
    - Src: "org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext:117,1"
      Dst: "[java.util.concurrent.atomic.AtomicInteger].<init>()"
    - Src: "org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext:124,1"
      Dst: "[org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext].createDelegateContext(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext)"
    - Src: "org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext:125,1"
      Dst: "[java.lang.Boolean].valueOf(boolean)"
    - Src: "org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext:125,1"
      Dst: "[org.springframework.core.AttributeAccessorSupport].setAttribute(java.lang.String,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext].reset()"
    functionSourceFile: "org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext"
    linkageType: ""
    functionLinenumber: 128
    functionLinenumberEnd: 132
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.atomic.AtomicInteger].set(int)"
    - "[java.util.concurrent.atomic.AtomicInteger].get()"
    - "[org.springframework.core.AttributeAccessorSupport].setAttribute(java.lang.String,java.lang.Object)"
    - "[java.lang.Integer].valueOf(int)"
    functionUses: 2
    ICount: 8
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext:129,1"
      Dst: "[java.util.concurrent.atomic.AtomicInteger].set(int)"
    - Src: "org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext:130,1"
      Dst: "[java.util.concurrent.atomic.AtomicInteger].get()"
    - Src: "org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext:130,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext:130,1"
      Dst: "[org.springframework.core.AttributeAccessorSupport].setAttribute(java.lang.String,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext].incrementShortCircuitCount()"
    functionSourceFile: "org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext"
    linkageType: ""
    functionLinenumber: 133
    functionLinenumberEnd: 137
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.atomic.AtomicInteger].incrementAndGet()"
    - "[java.util.concurrent.atomic.AtomicInteger].get()"
    - "[org.springframework.core.AttributeAccessorSupport].setAttribute(java.lang.String,java.lang.Object)"
    - "[java.lang.Integer].valueOf(int)"
    functionUses: 1
    ICount: 8
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext:134,1"
      Dst: "[java.util.concurrent.atomic.AtomicInteger].incrementAndGet()"
    - Src: "org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext:135,1"
      Dst: "[java.util.concurrent.atomic.AtomicInteger].get()"
    - Src: "org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext:135,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext:135,1"
      Dst: "[org.springframework.core.AttributeAccessorSupport].setAttribute(java.lang.String,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext].createDelegateContext(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext)"
    functionSourceFile: "org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext"
    linkageType: ""
    functionLinenumber: 138
    functionLinenumberEnd: 142
    functionDepth: 1
    returnType: "org.springframework.retry.RetryContext"
    argCount: 2
    argTypes:
    - "org.springframework.retry.RetryPolicy"
    - "org.springframework.retry.RetryContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.policy.BinaryExceptionClassifierRetryPolicy].open(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.TimeoutRetryPolicy].open(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.SimpleRetryPolicy].open(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.CompositeRetryPolicy].open(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.CircuitBreakerRetryPolicy].open(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.ExceptionClassifierRetryPolicy].open(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.MaxAttemptsRetryPolicy].open(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.NeverRetryPolicy].open(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.ExceptionClassifierRetryPolicy$ExceptionClassifierRetryContext].open(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext].reset()"
    - "[org.springframework.retry.RetryPolicy].open(org.springframework.retry.RetryContext)"
    functionUses: 3
    ICount: 6
    EdgeCount: 10
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext:139,1"
      Dst: "[org.springframework.retry.RetryPolicy].open(org.springframework.retry.RetryContext)"
    - Src: "org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext:140,1"
      Dst: "[org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext].reset()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext].isOpen()"
    functionSourceFile: "org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext"
    linkageType: ""
    functionLinenumber: 144
    functionLinenumberEnd: 176
    functionDepth: 2
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.System].currentTimeMillis()"
    - "[org.springframework.retry.policy.BinaryExceptionClassifierRetryPolicy].canRetry(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.TimeoutRetryPolicy].canRetry(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.SimpleRetryPolicy].canRetry(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.ExceptionClassifierRetryPolicy$ExceptionClassifierRetryContext].canRetry(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.ExpressionRetryPolicy].canRetry(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.CircuitBreakerRetryPolicy].canRetry(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.CompositeRetryPolicy].canRetry(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.MaxAttemptsRetryPolicy].canRetry(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.NeverRetryPolicy].canRetry(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.ExceptionClassifierRetryPolicy].canRetry(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.AlwaysRetryPolicy].canRetry(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.CircuitBreakerRetryPolicy].access$100()"
    - "[org.apache.commons.logging.impl.Log4JLogger].trace(java.lang.Object)"
    - "[org.apache.commons.logging.impl.Jdk13LumberjackLogger].trace(java.lang.Object)"
    - "[org.apache.commons.logging.impl.Jdk14Logger].trace(java.lang.Object)"
    - "[org.apache.commons.logging.impl.LogKitLogger].trace(java.lang.Object)"
    - "[org.apache.commons.logging.impl.SimpleLog].trace(java.lang.Object)"
    - "[org.apache.commons.logging.impl.AvalonLogger].trace(java.lang.Object)"
    - "[org.apache.commons.logging.impl.NoOpLog].trace(java.lang.Object)"
    - "[org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext].createDelegateContext(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.context.RetryContextSupport].getParent()"
    - "[java.lang.Boolean].booleanValue()"
    - "[org.springframework.core.AttributeAccessorSupport].getAttribute(java.lang.String)"
    - "[org.springframework.core.AttributeAccessorSupport].hasAttribute(java.lang.String)"
    - "[org.springframework.core.AttributeAccessorSupport].setAttribute(java.lang.String,java.lang.Object)"
    - "[java.lang.Boolean].valueOf(boolean)"
    - "[org.apache.commons.logging.impl.SimpleLog].isTraceEnabled()"
    - "[org.apache.commons.logging.impl.Jdk13LumberjackLogger].isTraceEnabled()"
    - "[org.apache.commons.logging.impl.Jdk14Logger].isTraceEnabled()"
    - "[org.apache.commons.logging.impl.AvalonLogger].isTraceEnabled()"
    - "[org.apache.commons.logging.impl.LogKitLogger].isTraceEnabled()"
    - "[org.apache.commons.logging.impl.Log4JLogger].isTraceEnabled()"
    - "[org.apache.commons.logging.impl.NoOpLog].isTraceEnabled()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(boolean)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    - "[org.springframework.retry.RetryPolicy].canRetry(org.springframework.retry.RetryContext)"
    - "[org.apache.commons.logging.Log].trace(java.lang.Object)"
    - "[org.apache.commons.logging.Log].isTraceEnabled()"
    functionUses: 1
    ICount: 79
    EdgeCount: 81
    BranchProfiles:
    - Branch String: "org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext:147"
      Branch Sides:
      - BranchSide: "org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext:165"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext:164"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext:148"
      Branch Sides:
      - BranchSide: "org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext:154"
        BranchSideFuncs:
        - "canRetry(org.springframework.retry.RetryContext)"
      - BranchSide: "org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext:153"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext:154"
      Branch Sides:
      - BranchSide: "org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext:171"
        BranchSideFuncs:
        - "booleanValue()"
        - "getAttribute(java.lang.String)"
        - "hasAttribute(java.lang.String)"
      - BranchSide: "org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext:170"
        BranchSideFuncs:
        - "isTraceEnabled()"
    - Branch String: "org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext:155"
      Branch Sides:
      - BranchSide: "org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext:156"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext:155"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext:155"
      Branch Sides:
      - BranchSide: "org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext:161"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext:160"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext:165"
      Branch Sides:
      - BranchSide: "org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext:171"
        BranchSideFuncs:
        - "getParent()"
        - "createDelegateContext(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext)"
        - "currentTimeMillis()"
      - BranchSide: "org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext:170"
        BranchSideFuncs:
        - "isTraceEnabled()"
    - Branch String: "org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext:171"
      Branch Sides:
      - BranchSide: "org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext:174"
        BranchSideFuncs:
        - "access$100()"
        - "append(boolean)"
        - "append(java.lang.String)"
        - "toString()"
        - "trace(java.lang.Object)"
        - "<init>()"
      - BranchSide: "org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext:173"
        BranchSideFuncs:
        - "valueOf(boolean)"
        - "setAttribute(java.lang.String,java.lang.Object)"
    - Branch String: "org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext:172"
      Branch Sides:
      - BranchSide: "org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext:171"
        BranchSideFuncs:
        - "access$100()"
        - "append(boolean)"
        - "append(java.lang.String)"
        - "toString()"
        - "trace(java.lang.Object)"
        - "<init>()"
    - Branch String: "org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext:174"
      Branch Sides:
      - BranchSide: "org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext:174"
        BranchSideFuncs:
        - "valueOf(boolean)"
        - "setAttribute(java.lang.String,java.lang.Object)"
      - BranchSide: "org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext:173"
        BranchSideFuncs:
        - "valueOf(boolean)"
        - "setAttribute(java.lang.String,java.lang.Object)"
    - Branch String: "org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext:175"
      Branch Sides:
      - BranchSide: "org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext:173"
        BranchSideFuncs:
        - "valueOf(boolean)"
        - "setAttribute(java.lang.String,java.lang.Object)"
    Callsites:
    - Src: "org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext:145,1"
      Dst: "[java.lang.System].currentTimeMillis()"
    - Src: "org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext:146,1"
      Dst: "[org.springframework.retry.RetryPolicy].canRetry(org.springframework.retry.RetryContext)"
    - Src: "org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext:149,1"
      Dst: "[org.springframework.retry.policy.CircuitBreakerRetryPolicy].access$100()"
    - Src: "org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext:149,1"
      Dst: "[org.apache.commons.logging.Log].trace(java.lang.Object)"
    - Src: "org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext:150,1"
      Dst: "[org.springframework.retry.context.RetryContextSupport].getParent()"
    - Src: "org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext:150,1"
      Dst: "[org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext].createDelegateContext(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext)"
    - Src: "org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext:155,1"
      Dst: "[org.springframework.core.AttributeAccessorSupport].hasAttribute(java.lang.String)"
    - Src: "org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext:155,1"
      Dst: "[org.springframework.core.AttributeAccessorSupport].getAttribute(java.lang.String)"
    - Src: "org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext:155,1"
      Dst: "[java.lang.Boolean].booleanValue()"
    - Src: "org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext:157,1"
      Dst: "[java.lang.Boolean].valueOf(boolean)"
    - Src: "org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext:157,1"
      Dst: "[org.springframework.core.AttributeAccessorSupport].setAttribute(java.lang.String,java.lang.Object)"
    - Src: "org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext:171,1"
      Dst: "[org.apache.commons.logging.Log].isTraceEnabled()"
    - Src: "org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext:172,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext:172,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext:172,1"
      Dst: "[java.lang.StringBuilder].append(boolean)"
    - Src: "org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext:172,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 22
    CyclomaticComplexity: 10
  - functionName: "[org.springframework.retry.policy.CircuitBreakerRetryPolicy].access$100()"
    functionSourceFile: "org.springframework.retry.policy.CircuitBreakerRetryPolicy"
    linkageType: ""
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionDepth: 0
    returnType: "org.apache.commons.logging.Log"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 5
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.context.RetryContextSupport].getParent()"
    functionSourceFile: "org.springframework.retry.context.RetryContextSupport"
    linkageType: ""
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionDepth: 0
    returnType: "org.springframework.retry.RetryContext"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 5
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext].getRetryCount()"
    functionSourceFile: "org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext"
    linkageType: ""
    functionLinenumber: 179
    functionLinenumberEnd: 181
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext].getRetryCount()"
    - "[org.springframework.retry.context.RetryContextSupport].getRetryCount()"
    - "[org.springframework.retry.RetryContext].getRetryCount()"
    functionUses: 9
    ICount: 4
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext:180,1"
      Dst: "[org.springframework.retry.RetryContext].getRetryCount()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext].toString()"
    functionSourceFile: "org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext"
    linkageType: ""
    functionLinenumber: 184
    functionLinenumberEnd: 186
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.context.RetryContextSupport].toString()"
    - "[org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext].toString()"
    - "[java.lang.Object].toString()"
    functionUses: 33
    ICount: 4
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext:185,1"
      Dst: "[java.lang.Object].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext].access$000(org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext)"
    functionSourceFile: "org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext"
    linkageType: ""
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionDepth: 0
    returnType: "org.springframework.retry.RetryContext"
    argCount: 1
    argTypes:
    - "org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.backoff.ExponentialBackOffPolicy$ExponentialBackOffContext].<init>(long,double,long)"
    functionSourceFile: "org.springframework.retry.backoff.ExponentialBackOffPolicy$ExponentialBackOffContext"
    linkageType: ""
    functionLinenumber: 193
    functionLinenumberEnd: 199
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "long"
    - "double"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 2
    ICount: 9
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.backoff.ExponentialBackOffPolicy$ExponentialBackOffContext:194,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.backoff.ExponentialBackOffPolicy$ExponentialBackOffContext].getSleepAndIncrement()"
    functionSourceFile: "org.springframework.retry.backoff.ExponentialBackOffPolicy$ExponentialBackOffContext"
    linkageType: ""
    functionLinenumber: 200
    functionLinenumberEnd: 209
    functionDepth: 1
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.backoff.ExponentialBackOffPolicy$ExponentialBackOffContext].getNextInterval()"
    functionUses: 2
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.springframework.retry.backoff.ExponentialBackOffPolicy$ExponentialBackOffContext:202"
      Branch Sides:
      - BranchSide: "org.springframework.retry.backoff.ExponentialBackOffPolicy$ExponentialBackOffContext:206"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.backoff.ExponentialBackOffPolicy$ExponentialBackOffContext:205"
        BranchSideFuncs:
        - "getNextInterval()"
    Callsites:
    - Src: "org.springframework.retry.backoff.ExponentialBackOffPolicy$ExponentialBackOffContext:206,1"
      Dst: "[org.springframework.retry.backoff.ExponentialBackOffPolicy$ExponentialBackOffContext].getNextInterval()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[org.springframework.retry.backoff.ExponentialBackOffPolicy$ExponentialBackOffContext].getNextInterval()"
    functionSourceFile: "org.springframework.retry.backoff.ExponentialBackOffPolicy$ExponentialBackOffContext"
    linkageType: ""
    functionLinenumber: 211
    functionLinenumberEnd: 213
    functionDepth: 0
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.backoff.ExponentialBackOffPolicy$ExponentialBackOffContext].getMultiplier()"
    functionSourceFile: "org.springframework.retry.backoff.ExponentialBackOffPolicy$ExponentialBackOffContext"
    linkageType: ""
    functionLinenumber: 215
    functionLinenumberEnd: 217
    functionDepth: 0
    returnType: "double"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.backoff.ExponentialBackOffPolicy$ExponentialBackOffContext].getInterval()"
    functionSourceFile: "org.springframework.retry.backoff.ExponentialBackOffPolicy$ExponentialBackOffContext"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.backoff.ExponentialBackOffPolicy$ExponentialBackOffContext].getMaxInterval()"
    functionSourceFile: "org.springframework.retry.backoff.ExponentialBackOffPolicy$ExponentialBackOffContext"
    linkageType: ""
    functionLinenumber: 223
    functionLinenumberEnd: 225
    functionDepth: 0
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.ExceptionClassifierRetryPolicy$ExceptionClassifierRetryContext].<init>(org.springframework.retry.RetryContext,org.springframework.classify.Classifier)"
    functionSourceFile: "org.springframework.retry.policy.ExceptionClassifierRetryPolicy$ExceptionClassifierRetryContext"
    linkageType: ""
    functionLinenumber: 118
    functionLinenumberEnd: 122
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "org.springframework.retry.RetryContext"
    - "org.springframework.classify.Classifier"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.HashMap].<init>()"
    - "[org.springframework.retry.context.RetryContextSupport].<init>(org.springframework.retry.RetryContext)"
    functionUses: 1
    ICount: 9
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.policy.ExceptionClassifierRetryPolicy$ExceptionClassifierRetryContext:119,1"
      Dst: "[org.springframework.retry.context.RetryContextSupport].<init>(org.springframework.retry.RetryContext)"
    - Src: "org.springframework.retry.policy.ExceptionClassifierRetryPolicy$ExceptionClassifierRetryContext:115,1"
      Dst: "[java.util.HashMap].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.ExceptionClassifierRetryPolicy$ExceptionClassifierRetryContext].canRetry(org.springframework.retry.RetryContext)"
    functionSourceFile: "org.springframework.retry.policy.ExceptionClassifierRetryPolicy$ExceptionClassifierRetryContext"
    linkageType: ""
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "org.springframework.retry.RetryContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.policy.ExceptionClassifierRetryPolicy].canRetry(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.BinaryExceptionClassifierRetryPolicy].canRetry(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.TimeoutRetryPolicy].canRetry(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.SimpleRetryPolicy].canRetry(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.ExceptionClassifierRetryPolicy$ExceptionClassifierRetryContext].canRetry(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.ExpressionRetryPolicy].canRetry(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.CircuitBreakerRetryPolicy].canRetry(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.CompositeRetryPolicy].canRetry(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.MaxAttemptsRetryPolicy].canRetry(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.NeverRetryPolicy].canRetry(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.AlwaysRetryPolicy].canRetry(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.RetryPolicy].canRetry(org.springframework.retry.RetryContext)"
    functionUses: 8
    ICount: 12
    EdgeCount: 11
    BranchProfiles:
    - Branch String: "org.springframework.retry.policy.ExceptionClassifierRetryPolicy$ExceptionClassifierRetryContext:124"
      Branch Sides:
      - BranchSide: "org.springframework.retry.policy.ExceptionClassifierRetryPolicy$ExceptionClassifierRetryContext:123"
        BranchSideFuncs:
        - "canRetry(org.springframework.retry.RetryContext)"
    - Branch String: "org.springframework.retry.policy.ExceptionClassifierRetryPolicy$ExceptionClassifierRetryContext:124"
      Branch Sides:
      - BranchSide: "org.springframework.retry.policy.ExceptionClassifierRetryPolicy$ExceptionClassifierRetryContext:123"
        BranchSideFuncs:
        - "canRetry(org.springframework.retry.RetryContext)"
    Callsites:
    - Src: "org.springframework.retry.policy.ExceptionClassifierRetryPolicy$ExceptionClassifierRetryContext:124,1"
      Dst: "[org.springframework.retry.RetryPolicy].canRetry(org.springframework.retry.RetryContext)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[org.springframework.retry.policy.ExceptionClassifierRetryPolicy$ExceptionClassifierRetryContext].close(org.springframework.retry.RetryContext)"
    functionSourceFile: "org.springframework.retry.policy.ExceptionClassifierRetryPolicy$ExceptionClassifierRetryContext"
    linkageType: ""
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.springframework.retry.RetryContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.util.CollectionUtils$EnumerationIterator].hasNext()"
    - "[com.google.gson.JsonStreamParser].hasNext()"
    - "[java.nio.file.FileTreeIterator].hasNext()"
    - "[org.springframework.util.ConcurrentReferenceHashMap$EntryIterator].hasNext()"
    - "[org.springframework.util.CompositeIterator].hasNext()"
    - "[com.google.gson.internal.LinkedTreeMap$LinkedTreeMapIterator].hasNext()"
    - "[java.nio.file.Files$2].hasNext()"
    - "[java.io.BufferedReader$1].hasNext()"
    - "[com.google.gson.internal.LinkedHashTreeMap$LinkedTreeMapIterator].hasNext()"
    - "[java.util.TreeMap$EntrySet].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$KeySetView].iterator()"
    - "[com.google.gson.internal.LinkedTreeMap$EntrySet].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$EntrySetView].iterator()"
    - "[java.util.HashSet].iterator()"
    - "[com.google.gson.internal.LinkedTreeMap$KeySet].iterator()"
    - "[org.springframework.util.ConcurrentReferenceHashMap$EntrySet].iterator()"
    - "[java.util.TreeMap$KeySet].iterator()"
    - "[java.util.concurrent.ConcurrentSkipListMap$EntrySet].iterator()"
    - "[org.springframework.cglib.beans.FixedKeySet].iterator()"
    - "[java.util.TreeSet].iterator()"
    - "[com.google.gson.internal.LinkedHashTreeMap$EntrySet].iterator()"
    - "[java.util.concurrent.CopyOnWriteArraySet].iterator()"
    - "[com.google.gson.internal.LinkedHashTreeMap$KeySet].iterator()"
    - "[java.util.concurrent.ConcurrentSkipListMap$KeySet].iterator()"
    - "[org.springframework.util.CollectionUtils$MultiValueMapAdapter].keySet()"
    - "[com.google.gson.internal.LinkedTreeMap].keySet()"
    - "[java.util.concurrent.ConcurrentSkipListMap$SubMap].keySet()"
    - "[java.util.AbstractMap].keySet()"
    - "[java.util.Hashtable].keySet()"
    - "[java.util.IdentityHashMap].keySet()"
    - "[java.util.concurrent.ConcurrentSkipListMap].keySet()"
    - "[org.springframework.core.env.ReadOnlySystemAttributesMap].keySet()"
    - "[org.springframework.util.LinkedCaseInsensitiveMap].keySet()"
    - "[java.util.jar.Attributes].keySet()"
    - "[com.google.gson.internal.LinkedHashTreeMap].keySet()"
    - "[java.util.LinkedHashMap].keySet()"
    - "[java.util.TreeMap].keySet()"
    - "[java.util.concurrent.ConcurrentHashMap].keySet()"
    - "[java.util.WeakHashMap].keySet()"
    - "[java.awt.RenderingHints].keySet()"
    - "[javax.script.SimpleBindings].keySet()"
    - "[org.apache.commons.logging.impl.WeakHashtable].keySet()"
    - "[java.util.EnumMap].keySet()"
    - "[com.sun.net.httpserver.Headers].keySet()"
    - "[java.util.HashMap].keySet()"
    - "[org.springframework.util.LinkedMultiValueMap].keySet()"
    - "[java.util.Properties].keySet()"
    - "[java.security.Provider].keySet()"
    - "[com.google.gson.internal.LinkedTreeMap$EntrySet$1].next()"
    - "[com.google.gson.internal.LinkedTreeMap$KeySet$1].next()"
    - "[org.springframework.util.CollectionUtils$EnumerationIterator].next()"
    - "[com.google.gson.JsonStreamParser].next()"
    - "[java.io.BufferedReader$1].next()"
    - "[org.springframework.util.CompositeIterator].next()"
    - "[com.google.gson.internal.LinkedHashTreeMap$KeySet$1].next()"
    - "[com.google.gson.internal.LinkedHashTreeMap$EntrySet$1].next()"
    - "[org.springframework.util.ConcurrentReferenceHashMap$EntryIterator].next()"
    - "[java.nio.file.FileTreeIterator].next()"
    - "[java.nio.file.Files$2].next()"
    - "[org.springframework.retry.policy.CircuitBreakerRetryPolicy].close(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.ExceptionClassifierRetryPolicy].close(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.MaxAttemptsRetryPolicy].close(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.BinaryExceptionClassifierRetryPolicy].close(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.ExceptionClassifierRetryPolicy$ExceptionClassifierRetryContext].close(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.CompositeRetryPolicy].close(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.TimeoutRetryPolicy].close(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.NeverRetryPolicy].close(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.SimpleRetryPolicy].close(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.ExceptionClassifierRetryPolicy$ExceptionClassifierRetryContext].getContext(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.context.RetryContextSupport].getParent()"
    - "[java.util.Map].keySet()"
    - "[java.util.Set].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[org.springframework.retry.RetryContext].getParent()"
    - "[org.springframework.retry.RetryPolicy].close(org.springframework.retry.RetryContext)"
    functionUses: 6
    ICount: 14
    EdgeCount: 70
    BranchProfiles:
    - Branch String: "org.springframework.retry.policy.ExceptionClassifierRetryPolicy$ExceptionClassifierRetryContext:129"
      Branch Sides:
      - BranchSide: "org.springframework.retry.policy.ExceptionClassifierRetryPolicy$ExceptionClassifierRetryContext:132"
        BranchSideFuncs:
        - "getContext(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext)"
        - "hasNext()"
        - "close(org.springframework.retry.RetryContext)"
        - "iterator()"
        - "getParent()"
        - "next()"
        - "keySet()"
      - BranchSide: "org.springframework.retry.policy.ExceptionClassifierRetryPolicy$ExceptionClassifierRetryContext:131"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.springframework.retry.policy.ExceptionClassifierRetryPolicy$ExceptionClassifierRetryContext:129,1"
      Dst: "[java.util.Map].keySet()"
    - Src: "org.springframework.retry.policy.ExceptionClassifierRetryPolicy$ExceptionClassifierRetryContext:129,1"
      Dst: "[java.util.Set].iterator()"
    - Src: "org.springframework.retry.policy.ExceptionClassifierRetryPolicy$ExceptionClassifierRetryContext:129,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "org.springframework.retry.policy.ExceptionClassifierRetryPolicy$ExceptionClassifierRetryContext:129,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "org.springframework.retry.policy.ExceptionClassifierRetryPolicy$ExceptionClassifierRetryContext:130,1"
      Dst: "[org.springframework.retry.RetryContext].getParent()"
    - Src: "org.springframework.retry.policy.ExceptionClassifierRetryPolicy$ExceptionClassifierRetryContext:130,1"
      Dst: "[org.springframework.retry.policy.ExceptionClassifierRetryPolicy$ExceptionClassifierRetryContext].getContext(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext)"
    - Src: "org.springframework.retry.policy.ExceptionClassifierRetryPolicy$ExceptionClassifierRetryContext:130,1"
      Dst: "[org.springframework.retry.RetryPolicy].close(org.springframework.retry.RetryContext)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[org.springframework.retry.policy.ExceptionClassifierRetryPolicy$ExceptionClassifierRetryContext].getContext(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext)"
    functionSourceFile: "org.springframework.retry.policy.ExceptionClassifierRetryPolicy$ExceptionClassifierRetryContext"
    linkageType: ""
    functionLinenumber: 145
    functionLinenumberEnd: 152
    functionDepth: 0
    returnType: "org.springframework.retry.RetryContext"
    argCount: 2
    argTypes:
    - "org.springframework.retry.RetryPolicy"
    - "org.springframework.retry.RetryContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.util.ConcurrentReferenceHashMap].get(java.lang.Object)"
    - "[org.springframework.util.LinkedCaseInsensitiveMap].get(java.lang.Object)"
    - "[java.util.TreeMap].get(java.lang.Object)"
    - "[java.awt.RenderingHints].get(java.lang.Object)"
    - "[com.google.gson.internal.LinkedTreeMap].get(java.lang.Object)"
    - "[com.sun.net.httpserver.Headers].get(java.lang.Object)"
    - "[org.springframework.core.env.ReadOnlySystemAttributesMap].get(java.lang.Object)"
    - "[java.util.EnumMap].get(java.lang.Object)"
    - "[java.security.Provider].get(java.lang.Object)"
    - "[org.springframework.cglib.beans.BeanMap].get(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentHashMap].get(java.lang.Object)"
    - "[javax.script.SimpleBindings].get(java.lang.Object)"
    - "[org.springframework.util.LinkedMultiValueMap].get(java.lang.Object)"
    - "[java.util.jar.Attributes].get(java.lang.Object)"
    - "[java.util.AbstractMap].get(java.lang.Object)"
    - "[java.util.WeakHashMap].get(java.lang.Object)"
    - "[java.util.Hashtable].get(java.lang.Object)"
    - "[org.springframework.util.CollectionUtils$MultiValueMapAdapter].get(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentSkipListMap$SubMap].get(java.lang.Object)"
    - "[java.util.LinkedHashMap].get(java.lang.Object)"
    - "[com.google.gson.internal.LinkedHashTreeMap].get(java.lang.Object)"
    - "[java.util.HashMap].get(java.lang.Object)"
    - "[org.apache.commons.logging.impl.WeakHashtable].get(java.lang.Object)"
    - "[java.util.IdentityHashMap].get(java.lang.Object)"
    - "[java.util.Properties].get(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentSkipListMap].get(java.lang.Object)"
    - "[org.springframework.retry.policy.TimeoutRetryPolicy].open(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.SimpleRetryPolicy].open(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.CompositeRetryPolicy].open(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.CircuitBreakerRetryPolicy].open(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.ExceptionClassifierRetryPolicy].open(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.MaxAttemptsRetryPolicy].open(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.NeverRetryPolicy].open(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.BinaryExceptionClassifierRetryPolicy].open(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.ExceptionClassifierRetryPolicy$ExceptionClassifierRetryContext].open(org.springframework.retry.RetryContext)"
    - "[org.apache.commons.logging.impl.WeakHashtable].put(java.lang.Object,java.lang.Object)"
    - "[org.springframework.util.CollectionUtils$MultiValueMapAdapter].put(java.lang.Object,java.lang.Object)"
    - "[java.util.AbstractMap].put(java.lang.Object,java.lang.Object)"
    - "[java.util.jar.Attributes].put(java.lang.Object,java.lang.Object)"
    - "[java.util.Hashtable].put(java.lang.Object,java.lang.Object)"
    - "[com.google.gson.internal.LinkedTreeMap].put(java.lang.Object,java.lang.Object)"
    - "[org.springframework.util.ConcurrentReferenceHashMap].put(java.lang.Object,java.lang.Object)"
    - "[java.util.EnumMap].put(java.lang.Object,java.lang.Object)"
    - "[java.util.TreeMap].put(java.lang.Object,java.lang.Object)"
    - "[org.springframework.validation.support.BindingAwareModelMap].put(java.lang.Object,java.lang.Object)"
    - "[java.util.HashMap].put(java.lang.Object,java.lang.Object)"
    - "[org.springframework.beans.factory.config.YamlProcessor$StrictMapAppenderConstructor$1].put(java.lang.Object,java.lang.Object)"
    - "[java.util.concurrent.ConcurrentSkipListMap$SubMap].put(java.lang.Object,java.lang.Object)"
    - "[com.sun.net.httpserver.Headers].put(java.lang.Object,java.lang.Object)"
    - "[java.util.Properties].put(java.lang.Object,java.lang.Object)"
    - "[org.springframework.core.env.ReadOnlySystemAttributesMap].put(java.lang.Object,java.lang.Object)"
    - "[java.security.Provider].put(java.lang.Object,java.lang.Object)"
    - "[java.util.concurrent.ConcurrentSkipListMap].put(java.lang.Object,java.lang.Object)"
    - "[org.springframework.util.LinkedCaseInsensitiveMap].put(java.lang.Object,java.lang.Object)"
    - "[java.util.WeakHashMap].put(java.lang.Object,java.lang.Object)"
    - "[java.util.concurrent.ConcurrentHashMap].put(java.lang.Object,java.lang.Object)"
    - "[java.awt.RenderingHints].put(java.lang.Object,java.lang.Object)"
    - "[com.google.gson.internal.LinkedHashTreeMap].put(java.lang.Object,java.lang.Object)"
    - "[org.springframework.util.LinkedMultiValueMap].put(java.lang.Object,java.lang.Object)"
    - "[org.springframework.cglib.beans.BeanMap].put(java.lang.Object,java.lang.Object)"
    - "[java.util.IdentityHashMap].put(java.lang.Object,java.lang.Object)"
    - "[javax.script.SimpleBindings].put(java.lang.Object,java.lang.Object)"
    - "[java.util.Map].get(java.lang.Object)"
    - "[org.springframework.retry.RetryPolicy].open(org.springframework.retry.RetryContext)"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    functionUses: 2
    ICount: 12
    EdgeCount: 62
    BranchProfiles:
    - Branch String: "org.springframework.retry.policy.ExceptionClassifierRetryPolicy$ExceptionClassifierRetryContext:147"
      Branch Sides:
      - BranchSide: "org.springframework.retry.policy.ExceptionClassifierRetryPolicy$ExceptionClassifierRetryContext:151"
        BranchSideFuncs:
        - "put(java.lang.Object,java.lang.Object)"
        - "open(org.springframework.retry.RetryContext)"
      - BranchSide: "org.springframework.retry.policy.ExceptionClassifierRetryPolicy$ExceptionClassifierRetryContext:150"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.springframework.retry.policy.ExceptionClassifierRetryPolicy$ExceptionClassifierRetryContext:146,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    - Src: "org.springframework.retry.policy.ExceptionClassifierRetryPolicy$ExceptionClassifierRetryContext:148,1"
      Dst: "[org.springframework.retry.RetryPolicy].open(org.springframework.retry.RetryContext)"
    - Src: "org.springframework.retry.policy.ExceptionClassifierRetryPolicy$ExceptionClassifierRetryContext:149,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[org.springframework.retry.policy.ExceptionClassifierRetryPolicy$ExceptionClassifierRetryContext].open(org.springframework.retry.RetryContext)"
    functionSourceFile: "org.springframework.retry.policy.ExceptionClassifierRetryPolicy$ExceptionClassifierRetryContext"
    linkageType: ""
    functionLinenumber: 134
    functionLinenumberEnd: 136
    functionDepth: 0
    returnType: "org.springframework.retry.RetryContext"
    argCount: 1
    argTypes:
    - "org.springframework.retry.RetryContext"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 5
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.ExceptionClassifierRetryPolicy$ExceptionClassifierRetryContext].registerThrowable(org.springframework.retry.RetryContext,java.lang.Throwable)"
    functionSourceFile: "org.springframework.retry.policy.ExceptionClassifierRetryPolicy$ExceptionClassifierRetryContext"
    linkageType: ""
    functionLinenumber: 138
    functionLinenumberEnd: 144
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "org.springframework.retry.RetryContext"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.classify.BinaryExceptionClassifier].classify(java.lang.Object)"
    - "[org.springframework.classify.SubclassClassifier].classify(java.lang.Object)"
    - "[org.springframework.classify.BackToBackPatternClassifier].classify(java.lang.Object)"
    - "[org.springframework.classify.ClassifierAdapter].classify(java.lang.Object)"
    - "[org.springframework.classify.PatternMatchingClassifier].classify(java.lang.Object)"
    - "[org.springframework.classify.ClassifierSupport].classify(java.lang.Object)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[org.springframework.util.Assert].notNull(java.lang.Object,java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    - "[org.springframework.retry.policy.ExceptionClassifierRetryPolicy$ExceptionClassifierRetryContext].getContext(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.context.RetryContextSupport].getParent()"
    - "[org.springframework.retry.policy.CircuitBreakerRetryPolicy].registerThrowable(org.springframework.retry.RetryContext,java.lang.Throwable)"
    - "[org.springframework.retry.policy.ExceptionClassifierRetryPolicy].registerThrowable(org.springframework.retry.RetryContext,java.lang.Throwable)"
    - "[org.springframework.retry.policy.ExceptionClassifierRetryPolicy$ExceptionClassifierRetryContext].registerThrowable(org.springframework.retry.RetryContext,java.lang.Throwable)"
    - "[org.springframework.retry.policy.MaxAttemptsRetryPolicy].registerThrowable(org.springframework.retry.RetryContext,java.lang.Throwable)"
    - "[org.springframework.retry.policy.BinaryExceptionClassifierRetryPolicy].registerThrowable(org.springframework.retry.RetryContext,java.lang.Throwable)"
    - "[org.springframework.retry.policy.TimeoutRetryPolicy].registerThrowable(org.springframework.retry.RetryContext,java.lang.Throwable)"
    - "[org.springframework.retry.policy.SimpleRetryPolicy].registerThrowable(org.springframework.retry.RetryContext,java.lang.Throwable)"
    - "[org.springframework.retry.policy.CompositeRetryPolicy].registerThrowable(org.springframework.retry.RetryContext,java.lang.Throwable)"
    - "[org.springframework.retry.policy.NeverRetryPolicy].registerThrowable(org.springframework.retry.RetryContext,java.lang.Throwable)"
    - "[org.springframework.classify.Classifier].classify(java.lang.Object)"
    - "[org.springframework.retry.RetryContext].getParent()"
    - "[org.springframework.retry.RetryPolicy].registerThrowable(org.springframework.retry.RetryContext,java.lang.Throwable)"
    functionUses: 5
    ICount: 23
    EdgeCount: 23
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.policy.ExceptionClassifierRetryPolicy$ExceptionClassifierRetryContext:139,1"
      Dst: "[org.springframework.classify.Classifier].classify(java.lang.Object)"
    - Src: "org.springframework.retry.policy.ExceptionClassifierRetryPolicy$ExceptionClassifierRetryContext:140,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "org.springframework.retry.policy.ExceptionClassifierRetryPolicy$ExceptionClassifierRetryContext:140,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "org.springframework.retry.policy.ExceptionClassifierRetryPolicy$ExceptionClassifierRetryContext:140,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "org.springframework.retry.policy.ExceptionClassifierRetryPolicy$ExceptionClassifierRetryContext:140,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "org.springframework.retry.policy.ExceptionClassifierRetryPolicy$ExceptionClassifierRetryContext:140,1"
      Dst: "[org.springframework.util.Assert].notNull(java.lang.Object,java.lang.String)"
    - Src: "org.springframework.retry.policy.ExceptionClassifierRetryPolicy$ExceptionClassifierRetryContext:141,1"
      Dst: "[org.springframework.retry.RetryContext].getParent()"
    - Src: "org.springframework.retry.policy.ExceptionClassifierRetryPolicy$ExceptionClassifierRetryContext:141,1"
      Dst: "[org.springframework.retry.policy.ExceptionClassifierRetryPolicy$ExceptionClassifierRetryContext].getContext(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext)"
    - Src: "org.springframework.retry.policy.ExceptionClassifierRetryPolicy$ExceptionClassifierRetryContext:142,1"
      Dst: "[org.springframework.retry.RetryPolicy].registerThrowable(org.springframework.retry.RetryContext,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler$SimpleMetadata].<init>(int,java.lang.Class)"
    functionSourceFile: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler$SimpleMetadata"
    linkageType: ""
    functionLinenumber: 306
    functionLinenumberEnd: 311
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "int"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 2
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler$SimpleMetadata:307,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler$SimpleMetadata].getArgCount()"
    functionSourceFile: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler$SimpleMetadata"
    linkageType: ""
    functionLinenumber: 312
    functionLinenumberEnd: 314
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler$SimpleMetadata].getType()"
    functionSourceFile: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler$SimpleMetadata"
    linkageType: ""
    functionLinenumber: 316
    functionLinenumberEnd: 318
    functionDepth: 0
    returnType: "java.lang.Class"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler$SimpleMetadata].getArgs(java.lang.Throwable,java.lang.Object[])"
    functionSourceFile: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler$SimpleMetadata"
    linkageType: ""
    functionLinenumber: 320
    functionLinenumberEnd: 333
    functionDepth: 1
    returnType: "java.lang.Object[]"
    argCount: 2
    argTypes:
    - "java.lang.Throwable"
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler$SimpleMetadata].getArgCount()"
    - "[java.lang.Math].min(int,int)"
    - "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    functionUses: 1
    ICount: 22
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler$SimpleMetadata:323"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler$SimpleMetadata:326"
        BranchSideFuncs:
        - "min(int,int)"
    - Branch String: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler$SimpleMetadata:328"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler$SimpleMetadata:331"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler$SimpleMetadata:330"
        BranchSideFuncs:
        - "arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    Callsites:
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler$SimpleMetadata:321,1"
      Dst: "[org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler$SimpleMetadata].getArgCount()"
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler$SimpleMetadata:327,1"
      Dst: "[java.lang.Math].min(int,int)"
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler$SimpleMetadata:331,1"
      Dst: "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler$SimpleMetadata].access$000(org.springframework.retry.'annotation'.RecoverAnnotationRecoveryHandler$SimpleMetadata)"
    functionSourceFile: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler$SimpleMetadata"
    linkageType: ""
    functionLinenumber: 299
    functionLinenumberEnd: 301
    functionDepth: 0
    returnType: "java.lang.Class"
    argCount: 1
    argTypes:
    - "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler$SimpleMetadata"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.SimpleRetryPolicy].<init>()"
    functionSourceFile: "org.springframework.retry.policy.SimpleRetryPolicy"
    linkageType: ""
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionDepth: 4
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.policy.SimpleRetryPolicy].<init>(int,org.springframework.classify.BinaryExceptionClassifier)"
    - "[org.springframework.classify.BinaryExceptionClassifier].defaultClassifier()"
    functionUses: 3
    ICount: 4
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.policy.SimpleRetryPolicy:74,1"
      Dst: "[org.springframework.classify.BinaryExceptionClassifier].defaultClassifier()"
    - Src: "org.springframework.retry.policy.SimpleRetryPolicy:74,1"
      Dst: "[org.springframework.retry.policy.SimpleRetryPolicy].<init>(int,org.springframework.classify.BinaryExceptionClassifier)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.SimpleRetryPolicy].<init>(int)"
    functionSourceFile: "org.springframework.retry.policy.SimpleRetryPolicy"
    linkageType: ""
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.policy.SimpleRetryPolicy].<init>(int,org.springframework.classify.BinaryExceptionClassifier)"
    - "[org.springframework.classify.BinaryExceptionClassifier].defaultClassifier()"
    functionUses: 1
    ICount: 5
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.policy.SimpleRetryPolicy:83,1"
      Dst: "[org.springframework.classify.BinaryExceptionClassifier].defaultClassifier()"
    - Src: "org.springframework.retry.policy.SimpleRetryPolicy:83,1"
      Dst: "[org.springframework.retry.policy.SimpleRetryPolicy].<init>(int,org.springframework.classify.BinaryExceptionClassifier)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.SimpleRetryPolicy].<init>(int,java.util.Map)"
    functionSourceFile: "org.springframework.retry.policy.SimpleRetryPolicy"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "int"
    - "java.util.Map"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.policy.SimpleRetryPolicy].<init>(int,java.util.Map,boolean)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.policy.SimpleRetryPolicy:92,1"
      Dst: "[org.springframework.retry.policy.SimpleRetryPolicy].<init>(int,java.util.Map,boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.SimpleRetryPolicy].<init>(int,java.util.Map,boolean)"
    functionSourceFile: "org.springframework.retry.policy.SimpleRetryPolicy"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "int"
    - "java.util.Map"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.policy.SimpleRetryPolicy].<init>(int,java.util.Map,boolean,boolean)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.policy.SimpleRetryPolicy:107,1"
      Dst: "[org.springframework.retry.policy.SimpleRetryPolicy].<init>(int,java.util.Map,boolean,boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.SimpleRetryPolicy].<init>(int,java.util.Map,boolean,boolean)"
    functionSourceFile: "org.springframework.retry.policy.SimpleRetryPolicy"
    linkageType: ""
    functionLinenumber: 123
    functionLinenumberEnd: 129
    functionDepth: 3
    returnType: "void"
    argCount: 4
    argTypes:
    - "int"
    - "java.util.Map"
    - "boolean"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.classify.BinaryExceptionClassifier].<init>(boolean)"
    - "[java.lang.Object].<init>()"
    - "[org.springframework.classify.BinaryExceptionClassifier].<init>(java.util.Map,boolean)"
    - "[org.springframework.classify.BinaryExceptionClassifier].setTraverseCauses(boolean)"
    functionUses: 2
    ICount: 16
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.policy.SimpleRetryPolicy:124,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "org.springframework.retry.policy.SimpleRetryPolicy:67,1"
      Dst: "[org.springframework.classify.BinaryExceptionClassifier].<init>(boolean)"
    - Src: "org.springframework.retry.policy.SimpleRetryPolicy:126,1"
      Dst: "[org.springframework.classify.BinaryExceptionClassifier].<init>(java.util.Map,boolean)"
    - Src: "org.springframework.retry.policy.SimpleRetryPolicy:127,1"
      Dst: "[org.springframework.classify.BinaryExceptionClassifier].setTraverseCauses(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.SimpleRetryPolicy].<init>(int,org.springframework.classify.BinaryExceptionClassifier)"
    functionSourceFile: "org.springframework.retry.policy.SimpleRetryPolicy"
    linkageType: ""
    functionLinenumber: 136
    functionLinenumberEnd: 141
    functionDepth: 3
    returnType: "void"
    argCount: 2
    argTypes:
    - "int"
    - "org.springframework.classify.BinaryExceptionClassifier"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.classify.BinaryExceptionClassifier].<init>(boolean)"
    - "[java.lang.Object].<init>()"
    functionUses: 2
    ICount: 10
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.policy.SimpleRetryPolicy:137,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "org.springframework.retry.policy.SimpleRetryPolicy:67,1"
      Dst: "[org.springframework.classify.BinaryExceptionClassifier].<init>(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.SimpleRetryPolicy].setMaxAttempts(int)"
    functionSourceFile: "org.springframework.retry.policy.SimpleRetryPolicy"
    linkageType: ""
    functionLinenumber: 148
    functionLinenumberEnd: 151
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.SimpleRetryPolicy].getMaxAttempts()"
    functionSourceFile: "org.springframework.retry.policy.SimpleRetryPolicy"
    linkageType: ""
    functionLinenumber: 156
    functionLinenumberEnd: 158
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.SimpleRetryPolicy].canRetry(org.springframework.retry.RetryContext)"
    functionSourceFile: "org.springframework.retry.policy.SimpleRetryPolicy"
    linkageType: ""
    functionLinenumber: 168
    functionLinenumberEnd: 171
    functionDepth: 3
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "org.springframework.retry.RetryContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.context.RetryContextSupport].getLastThrowable()"
    - "[org.springframework.retry.policy.SimpleRetryPolicy].getMaxAttempts()"
    - "[org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext].getRetryCount()"
    - "[org.springframework.retry.context.RetryContextSupport].getRetryCount()"
    - "[org.springframework.retry.policy.SimpleRetryPolicy].retryForException(java.lang.Throwable)"
    - "[org.springframework.retry.RetryContext].getLastThrowable()"
    - "[org.springframework.retry.RetryContext].getRetryCount()"
    functionUses: 10
    ICount: 13
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "org.springframework.retry.policy.SimpleRetryPolicy:170"
      Branch Sides:
      - BranchSide: "org.springframework.retry.policy.SimpleRetryPolicy:168"
        BranchSideFuncs:
        - "getLastThrowable()"
        - "getMaxAttempts()"
        - "getRetryCount()"
        - "retryForException(java.lang.Throwable)"
    - Branch String: "org.springframework.retry.policy.SimpleRetryPolicy:170"
      Branch Sides:
      - BranchSide: "org.springframework.retry.policy.SimpleRetryPolicy:-2"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.policy.SimpleRetryPolicy:170"
      Branch Sides:
      - BranchSide: "org.springframework.retry.policy.SimpleRetryPolicy:-2"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.springframework.retry.policy.SimpleRetryPolicy:169,1"
      Dst: "[org.springframework.retry.RetryContext].getLastThrowable()"
    - Src: "org.springframework.retry.policy.SimpleRetryPolicy:170,1"
      Dst: "[org.springframework.retry.policy.SimpleRetryPolicy].retryForException(java.lang.Throwable)"
    - Src: "org.springframework.retry.policy.SimpleRetryPolicy:170,1"
      Dst: "[org.springframework.retry.RetryContext].getRetryCount()"
    - Src: "org.springframework.retry.policy.SimpleRetryPolicy:170,1"
      Dst: "[org.springframework.retry.policy.SimpleRetryPolicy].getMaxAttempts()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 4
  - functionName: "[org.springframework.retry.policy.SimpleRetryPolicy].retryForException(java.lang.Throwable)"
    functionSourceFile: "org.springframework.retry.policy.SimpleRetryPolicy"
    linkageType: ""
    functionLinenumber: 215
    functionLinenumberEnd: 217
    functionDepth: 2
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Boolean].booleanValue()"
    - "[org.springframework.classify.BinaryExceptionClassifier].classify(java.lang.Throwable)"
    functionUses: 1
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.policy.SimpleRetryPolicy:216,1"
      Dst: "[org.springframework.classify.BinaryExceptionClassifier].classify(java.lang.Throwable)"
    - Src: "org.springframework.retry.policy.SimpleRetryPolicy:216,1"
      Dst: "[java.lang.Boolean].booleanValue()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.classify.BinaryExceptionClassifier].classify(java.lang.Throwable)"
    functionSourceFile: "org.springframework.classify.BinaryExceptionClassifier"
    linkageType: ""
    functionLinenumber: 121
    functionLinenumberEnd: 144
    functionDepth: 1
    returnType: "java.lang.Boolean"
    argCount: 1
    argTypes:
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.classify.SubclassClassifier].classify(java.lang.Object)"
    - "[java.lang.Boolean].equals(java.lang.Object)"
    - "[org.springframework.classify.SubclassClassifier].getDefault()"
    - "[org.springframework.util.CollectionUtils$MultiValueMapAdapter].containsKey(java.lang.Object)"
    - "[org.springframework.util.LinkedCaseInsensitiveMap].containsKey(java.lang.Object)"
    - "[org.springframework.util.LinkedMultiValueMap].containsKey(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentHashMap].containsKey(java.lang.Object)"
    - "[org.springframework.util.ConcurrentReferenceHashMap].containsKey(java.lang.Object)"
    - "[com.sun.net.httpserver.Headers].containsKey(java.lang.Object)"
    - "[java.util.Properties].containsKey(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentSkipListMap].containsKey(java.lang.Object)"
    - "[java.util.TreeMap].containsKey(java.lang.Object)"
    - "[com.google.gson.internal.LinkedHashTreeMap].containsKey(java.lang.Object)"
    - "[java.util.jar.Attributes].containsKey(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentSkipListMap$SubMap].containsKey(java.lang.Object)"
    - "[org.springframework.util.LinkedCaseInsensitiveMap$1].containsKey(java.lang.Object)"
    - "[javax.script.SimpleBindings].containsKey(java.lang.Object)"
    - "[java.awt.RenderingHints].containsKey(java.lang.Object)"
    - "[com.google.gson.internal.LinkedTreeMap].containsKey(java.lang.Object)"
    - "[java.util.Hashtable].containsKey(java.lang.Object)"
    - "[java.util.AbstractMap].containsKey(java.lang.Object)"
    - "[java.util.IdentityHashMap].containsKey(java.lang.Object)"
    - "[java.util.HashMap].containsKey(java.lang.Object)"
    - "[org.springframework.cglib.beans.BeanMap].containsKey(java.lang.Object)"
    - "[org.springframework.core.env.ReadOnlySystemAttributesMap].containsKey(java.lang.Object)"
    - "[java.util.WeakHashMap].containsKey(java.lang.Object)"
    - "[org.apache.commons.logging.impl.WeakHashtable].containsKey(java.lang.Object)"
    - "[java.util.EnumMap].containsKey(java.lang.Object)"
    - "[java.lang.Object].getClass()"
    - "[org.springframework.classify.SubclassClassifier].getClassified()"
    - "[org.springframework.cglib.beans.BulkBeanException].getCause()"
    - "[java.rmi.RemoteException].getCause()"
    - "[javax.management.RuntimeErrorException].getCause()"
    - "[javax.management.ReflectionException].getCause()"
    - "[org.springframework.cglib.core.CodeGenerationException].getCause()"
    - "[javax.management.MBeanException].getCause()"
    - "[javax.xml.stream.FactoryConfigurationError].getCause()"
    - "[org.apache.commons.logging.LogConfigurationException].getCause()"
    - "[javax.management.remote.JMXProviderException].getCause()"
    - "[java.io.UncheckedIOException].getCause()"
    - "[javax.management.RuntimeMBeanException].getCause()"
    - "[org.springframework.expression.spel.InternalParseException].getCause()"
    - "[java.lang.Throwable].getCause()"
    - "[javax.naming.NamingException].getCause()"
    - "[javax.xml.transform.TransformerException].getCause()"
    - "[javax.management.RuntimeOperationsException].getCause()"
    - "[java.lang.reflect.InvocationTargetException].getCause()"
    - "[org.xml.sax.SAXException].getCause()"
    - "[java.util.Map].containsKey(java.lang.Object)"
    functionUses: 3
    ICount: 25
    EdgeCount: 51
    BranchProfiles:
    - Branch String: "org.springframework.classify.BinaryExceptionClassifier:123"
      Branch Sides:
      - BranchSide: "org.springframework.classify.BinaryExceptionClassifier:131"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.classify.BinaryExceptionClassifier:130"
        BranchSideFuncs: []
    - Branch String: "org.springframework.classify.BinaryExceptionClassifier:131"
      Branch Sides:
      - BranchSide: "org.springframework.classify.BinaryExceptionClassifier:143"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.classify.BinaryExceptionClassifier:142"
        BranchSideFuncs: []
    - Branch String: "org.springframework.classify.BinaryExceptionClassifier:134"
      Branch Sides:
      - BranchSide: "org.springframework.classify.BinaryExceptionClassifier:137"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.classify.BinaryExceptionClassifier:136"
        BranchSideFuncs:
        - "getCause()"
        - "getDefault()"
        - "equals(java.lang.Object)"
        - "classify(java.lang.Object)"
    - Branch String: "org.springframework.classify.BinaryExceptionClassifier:140"
      Branch Sides:
      - BranchSide: "org.springframework.classify.BinaryExceptionClassifier:142"
        BranchSideFuncs: []
    - Branch String: "org.springframework.classify.BinaryExceptionClassifier:140"
      Branch Sides:
      - BranchSide: "org.springframework.classify.BinaryExceptionClassifier:133"
        BranchSideFuncs:
        - "containsKey(java.lang.Object)"
        - "getClassified()"
        - "getClass()"
    Callsites:
    - Src: "org.springframework.classify.BinaryExceptionClassifier:122,1"
      Dst: "[org.springframework.classify.SubclassClassifier].classify(java.lang.Object)"
    - Src: "org.springframework.classify.BinaryExceptionClassifier:131,1"
      Dst: "[org.springframework.classify.SubclassClassifier].getDefault()"
    - Src: "org.springframework.classify.BinaryExceptionClassifier:131,1"
      Dst: "[java.lang.Boolean].equals(java.lang.Object)"
    - Src: "org.springframework.classify.BinaryExceptionClassifier:134,1"
      Dst: "[org.springframework.classify.SubclassClassifier].getClassified()"
    - Src: "org.springframework.classify.BinaryExceptionClassifier:134,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "org.springframework.classify.BinaryExceptionClassifier:134,1"
      Dst: "[java.util.Map].containsKey(java.lang.Object)"
    - Src: "org.springframework.classify.BinaryExceptionClassifier:137,1"
      Dst: "[java.lang.Throwable].getCause()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 9
    CyclomaticComplexity: 4
  - functionName: "[org.springframework.classify.SubclassClassifier].classify(java.lang.Object)"
    functionSourceFile: "org.springframework.classify.SubclassClassifier"
    linkageType: ""
    functionLinenumber: 106
    functionLinenumberEnd: 145
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].getClass()"
    - "[org.springframework.util.ConcurrentReferenceHashMap].containsKey(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentSkipListMap].containsKey(java.lang.Object)"
    - "[org.springframework.util.ConcurrentReferenceHashMap].get(java.lang.Object)"
    - "[java.lang.Object].equals(java.lang.Object)"
    - "[java.lang.Class].getSuperclass()"
    - "[java.lang.Class].getInterfaces()"
    - "[java.lang.Class:java.util.concurrent.ConcurrentHashMap:java.util.concurrent.ConcurrentSkipListMap:java.util.concurrent.ConcurrentSkipListMap$SubMap].put(java.lang.Object,java.lang.Object)"
    - "[org.springframework.util.ConcurrentReferenceHashMap].put(java.lang.Object,java.lang.Object)"
    - "[java.util.Map].containsKey(java.lang.Object)"
    - "[java.util.Map].get(java.lang.Object)"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    functionUses: 7
    ICount: 46
    EdgeCount: 15
    BranchProfiles:
    - Branch String: "org.springframework.classify.SubclassClassifier:107"
      Branch Sides:
      - BranchSide: "org.springframework.classify.SubclassClassifier:112"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.classify.SubclassClassifier:111"
        BranchSideFuncs:
        - "containsKey(java.lang.Object)"
        - "getClass()"
    - Branch String: "org.springframework.classify.SubclassClassifier:113"
      Branch Sides:
      - BranchSide: "org.springframework.classify.SubclassClassifier:118"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.classify.SubclassClassifier:117"
        BranchSideFuncs: []
    - Branch String: "org.springframework.classify.SubclassClassifier:119"
      Branch Sides:
      - BranchSide: "org.springframework.classify.SubclassClassifier:123"
        BranchSideFuncs: []
    - Branch String: "org.springframework.classify.SubclassClassifier:119"
      Branch Sides:
      - BranchSide: "org.springframework.classify.SubclassClassifier:123"
        BranchSideFuncs: []
    - Branch String: "org.springframework.classify.SubclassClassifier:124"
      Branch Sides:
      - BranchSide: "org.springframework.classify.SubclassClassifier:136"
        BranchSideFuncs:
        - "getSuperclass()"
        - "equals(java.lang.Object)"
      - BranchSide: "org.springframework.classify.SubclassClassifier:135"
        BranchSideFuncs: []
    - Branch String: "org.springframework.classify.SubclassClassifier:125"
      Branch Sides:
      - BranchSide: "org.springframework.classify.SubclassClassifier:136"
        BranchSideFuncs:
        - "getInterfaces()"
      - BranchSide: "org.springframework.classify.SubclassClassifier:135"
        BranchSideFuncs: []
    - Branch String: "org.springframework.classify.SubclassClassifier:125"
      Branch Sides:
      - BranchSide: "org.springframework.classify.SubclassClassifier:136"
        BranchSideFuncs:
        - "getInterfaces()"
      - BranchSide: "org.springframework.classify.SubclassClassifier:135"
        BranchSideFuncs: []
    - Branch String: "org.springframework.classify.SubclassClassifier:126"
      Branch Sides:
      - BranchSide: "org.springframework.classify.SubclassClassifier:125"
        BranchSideFuncs:
        - "getInterfaces()"
        - "get(java.lang.Object)"
      - BranchSide: "org.springframework.classify.SubclassClassifier:124"
        BranchSideFuncs:
        - "getSuperclass()"
        - "equals(java.lang.Object)"
    - Branch String: "org.springframework.classify.SubclassClassifier:128"
      Branch Sides:
      - BranchSide: "org.springframework.classify.SubclassClassifier:126"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.classify.SubclassClassifier:125"
        BranchSideFuncs:
        - "getInterfaces()"
    - Branch String: "org.springframework.classify.SubclassClassifier:136"
      Branch Sides:
      - BranchSide: "org.springframework.classify.SubclassClassifier:140"
        BranchSideFuncs:
        - "put(java.lang.Object,java.lang.Object)"
      - BranchSide: "org.springframework.classify.SubclassClassifier:139"
        BranchSideFuncs: []
    - Branch String: "org.springframework.classify.SubclassClassifier:140"
      Branch Sides:
      - BranchSide: "org.springframework.classify.SubclassClassifier:144"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.classify.SubclassClassifier:143"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.springframework.classify.SubclassClassifier:112,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "org.springframework.classify.SubclassClassifier:113,1"
      Dst: "[java.util.Map].containsKey(java.lang.Object)"
    - Src: "org.springframework.classify.SubclassClassifier:114,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    - Src: "org.springframework.classify.SubclassClassifier:119,1"
      Dst: "[java.lang.Object].equals(java.lang.Object)"
    - Src: "org.springframework.classify.SubclassClassifier:119,1"
      Dst: "[java.lang.Class].getSuperclass()"
    - Src: "org.springframework.classify.SubclassClassifier:126,1"
      Dst: "[java.lang.Class].getInterfaces()"
    - Src: "org.springframework.classify.SubclassClassifier:137,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 23
    CyclomaticComplexity: 10
  - functionName: "[org.springframework.classify.SubclassClassifier].getDefault()"
    functionSourceFile: "org.springframework.classify.SubclassClassifier"
    linkageType: ""
    functionLinenumber: 151
    functionLinenumberEnd: 153
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.classify.SubclassClassifier].getClassified()"
    functionSourceFile: "org.springframework.classify.SubclassClassifier"
    linkageType: ""
    functionLinenumber: 155
    functionLinenumberEnd: 157
    functionDepth: 0
    returnType: "java.util.Map"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.SimpleRetryPolicy].close(org.springframework.retry.RetryContext)"
    functionSourceFile: "org.springframework.retry.policy.SimpleRetryPolicy"
    linkageType: ""
    functionLinenumber: 177
    functionLinenumberEnd: 179
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.springframework.retry.RetryContext"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 6
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.SimpleRetryPolicy].registerThrowable(org.springframework.retry.RetryContext,java.lang.Throwable)"
    functionSourceFile: "org.springframework.retry.policy.SimpleRetryPolicy"
    linkageType: ""
    functionLinenumber: 186
    functionLinenumberEnd: 190
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "org.springframework.retry.RetryContext"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.context.RetryContextSupport].registerThrowable(java.lang.Throwable)"
    functionUses: 5
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.policy.SimpleRetryPolicy:188,1"
      Dst: "[org.springframework.retry.context.RetryContextSupport].registerThrowable(java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.context.RetryContextSupport].registerThrowable(java.lang.Throwable)"
    functionSourceFile: "org.springframework.retry.context.RetryContextSupport"
    linkageType: ""
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 8
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.springframework.retry.context.RetryContextSupport:76"
      Branch Sides:
      - BranchSide: "org.springframework.retry.context.RetryContextSupport:78"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.context.RetryContextSupport:77"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[org.springframework.retry.policy.SimpleRetryPolicy].open(org.springframework.retry.RetryContext)"
    functionSourceFile: "org.springframework.retry.policy.SimpleRetryPolicy"
    linkageType: ""
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionDepth: 2
    returnType: "org.springframework.retry.RetryContext"
    argCount: 1
    argTypes:
    - "org.springframework.retry.RetryContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.policy.SimpleRetryPolicy$SimpleRetryContext].<init>(org.springframework.retry.RetryContext)"
    functionUses: 4
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.policy.SimpleRetryPolicy:199,1"
      Dst: "[org.springframework.retry.policy.SimpleRetryPolicy$SimpleRetryContext].<init>(org.springframework.retry.RetryContext)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.SimpleRetryPolicy$SimpleRetryContext].<init>(org.springframework.retry.RetryContext)"
    functionSourceFile: "org.springframework.retry.policy.SimpleRetryPolicy$SimpleRetryContext"
    linkageType: ""
    functionLinenumber: 204
    functionLinenumberEnd: 207
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.springframework.retry.RetryContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.context.RetryContextSupport].<init>(org.springframework.retry.RetryContext)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.policy.SimpleRetryPolicy$SimpleRetryContext:205,1"
      Dst: "[org.springframework.retry.context.RetryContextSupport].<init>(org.springframework.retry.RetryContext)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.context.RetryContextSupport].<init>(org.springframework.retry.RetryContext)"
    functionSourceFile: "org.springframework.retry.context.RetryContextSupport"
    linkageType: ""
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.springframework.retry.RetryContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.core.AttributeAccessorSupport].<init>()"
    functionUses: 8
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.context.RetryContextSupport:38,1"
      Dst: "[org.springframework.core.AttributeAccessorSupport].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.SimpleRetryPolicy].toString()"
    functionSourceFile: "org.springframework.retry.policy.SimpleRetryPolicy"
    linkageType: ""
    functionLinenumber: 220
    functionLinenumberEnd: 222
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(int)"
    - "[java.lang.Object].getClass()"
    - "[org.springframework.util.ClassUtils].getShortName(java.lang.Class)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 32
    ICount: 12
    EdgeCount: 8
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.policy.SimpleRetryPolicy:221,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "org.springframework.retry.policy.SimpleRetryPolicy:221,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "org.springframework.retry.policy.SimpleRetryPolicy:221,1"
      Dst: "[org.springframework.util.ClassUtils].getShortName(java.lang.Class)"
    - Src: "org.springframework.retry.policy.SimpleRetryPolicy:221,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "org.springframework.retry.policy.SimpleRetryPolicy:221,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    - Src: "org.springframework.retry.policy.SimpleRetryPolicy:221,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.interceptor.RetryInterceptorBuilder$StatelessRetryInterceptorBuilder].build()"
    functionSourceFile: "org.springframework.retry.interceptor.RetryInterceptorBuilder$StatelessRetryInterceptorBuilder"
    linkageType: ""
    functionLinenumber: 378
    functionLinenumberEnd: 392
    functionDepth: 1
    returnType: "org.springframework.retry.interceptor.RetryOperationsInterceptor"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.interceptor.RetryOperationsInterceptor].setRecoverer(org.springframework.retry.interceptor.MethodInvocationRecoverer)"
    - "[org.springframework.retry.interceptor.RetryOperationsInterceptor].setRetryOperations(org.springframework.retry.RetryOperations)"
    - "[org.springframework.retry.interceptor.RetryOperationsInterceptor].setLabel(java.lang.String)"
    functionUses: 3
    ICount: 22
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "org.springframework.retry.interceptor.RetryInterceptorBuilder$StatelessRetryInterceptorBuilder:379"
      Branch Sides:
      - BranchSide: "org.springframework.retry.interceptor.RetryInterceptorBuilder$StatelessRetryInterceptorBuilder:382"
        BranchSideFuncs:
        - "setRecoverer(org.springframework.retry.interceptor.MethodInvocationRecoverer)"
      - BranchSide: "org.springframework.retry.interceptor.RetryInterceptorBuilder$StatelessRetryInterceptorBuilder:381"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.interceptor.RetryInterceptorBuilder$StatelessRetryInterceptorBuilder:382"
      Branch Sides:
      - BranchSide: "org.springframework.retry.interceptor.RetryInterceptorBuilder$StatelessRetryInterceptorBuilder:386"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.interceptor.RetryInterceptorBuilder$StatelessRetryInterceptorBuilder:385"
        BranchSideFuncs:
        - "setRetryOperations(org.springframework.retry.RetryOperations)"
    - Branch String: "org.springframework.retry.interceptor.RetryInterceptorBuilder$StatelessRetryInterceptorBuilder:388"
      Branch Sides:
      - BranchSide: "org.springframework.retry.interceptor.RetryInterceptorBuilder$StatelessRetryInterceptorBuilder:391"
        BranchSideFuncs:
        - "setLabel(java.lang.String)"
      - BranchSide: "org.springframework.retry.interceptor.RetryInterceptorBuilder$StatelessRetryInterceptorBuilder:390"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.springframework.retry.interceptor.RetryInterceptorBuilder$StatelessRetryInterceptorBuilder:380,1"
      Dst: "[org.springframework.retry.interceptor.RetryOperationsInterceptor].setRecoverer(org.springframework.retry.interceptor.MethodInvocationRecoverer)"
    - Src: "org.springframework.retry.interceptor.RetryInterceptorBuilder$StatelessRetryInterceptorBuilder:383,1"
      Dst: "[org.springframework.retry.interceptor.RetryOperationsInterceptor].setRetryOperations(org.springframework.retry.RetryOperations)"
    - Src: "org.springframework.retry.interceptor.RetryInterceptorBuilder$StatelessRetryInterceptorBuilder:389,1"
      Dst: "[org.springframework.retry.interceptor.RetryOperationsInterceptor].setLabel(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 8
    CyclomaticComplexity: 4
  - functionName: "[org.springframework.retry.interceptor.RetryOperationsInterceptor].setRetryOperations(org.springframework.retry.RetryOperations)"
    functionSourceFile: "org.springframework.retry.interceptor.RetryOperationsInterceptor"
    linkageType: ""
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.springframework.retry.RetryOperations"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.util.Assert].notNull(java.lang.Object,java.lang.String)"
    functionUses: 2
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.interceptor.RetryOperationsInterceptor:60,1"
      Dst: "[org.springframework.util.Assert].notNull(java.lang.Object,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.interceptor.RetryOperationsInterceptor].setLabel(java.lang.String)"
    functionSourceFile: "org.springframework.retry.interceptor.RetryOperationsInterceptor"
    linkageType: ""
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.interceptor.RetryInterceptorBuilder$StatelessRetryInterceptorBuilder].<init>()"
    functionSourceFile: "org.springframework.retry.interceptor.RetryInterceptorBuilder$StatelessRetryInterceptorBuilder"
    linkageType: ""
    functionLinenumber: 393
    functionLinenumberEnd: 396
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.interceptor.RetryOperationsInterceptor].<init>()"
    - "[org.springframework.retry.interceptor.RetryInterceptorBuilder].<init>(org.springframework.retry.interceptor.RetryInterceptorBuilder$1)"
    functionUses: 1
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.interceptor.RetryInterceptorBuilder$StatelessRetryInterceptorBuilder:394,1"
      Dst: "[org.springframework.retry.interceptor.RetryInterceptorBuilder].<init>(org.springframework.retry.interceptor.RetryInterceptorBuilder$1)"
    - Src: "org.springframework.retry.interceptor.RetryInterceptorBuilder$StatelessRetryInterceptorBuilder:375,1"
      Dst: "[org.springframework.retry.interceptor.RetryOperationsInterceptor].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.interceptor.RetryInterceptorBuilder$StatelessRetryInterceptorBuilder].<init>(org.springframework.retry.interceptor.RetryInterceptorBuilder$1)"
    functionSourceFile: "org.springframework.retry.interceptor.RetryInterceptorBuilder$StatelessRetryInterceptorBuilder"
    linkageType: ""
    functionLinenumber: 372
    functionLinenumberEnd: 374
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.springframework.retry.interceptor.RetryInterceptorBuilder$1"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.interceptor.RetryInterceptorBuilder$StatelessRetryInterceptorBuilder].<init>()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.interceptor.RetryInterceptorBuilder$StatelessRetryInterceptorBuilder:373,1"
      Dst: "[org.springframework.retry.interceptor.RetryInterceptorBuilder$StatelessRetryInterceptorBuilder].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.support.RetrySynchronizationManager].<init>()"
    functionSourceFile: "org.springframework.retry.support.RetrySynchronizationManager"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.support.RetrySynchronizationManager:37,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.support.RetrySynchronizationManager].getContext()"
    functionSourceFile: "org.springframework.retry.support.RetrySynchronizationManager"
    linkageType: ""
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionDepth: 0
    returnType: "org.springframework.retry.RetryContext"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.ThreadLocal].get()"
    functionUses: 6
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.support.RetrySynchronizationManager:47,1"
      Dst: "[java.lang.ThreadLocal].get()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.support.RetrySynchronizationManager].register(org.springframework.retry.RetryContext)"
    functionSourceFile: "org.springframework.retry.support.RetrySynchronizationManager"
    linkageType: ""
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionDepth: 1
    returnType: "org.springframework.retry.RetryContext"
    argCount: 1
    argTypes:
    - "org.springframework.retry.RetryContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.support.RetrySynchronizationManager].getContext()"
    - "[jdk.internal.misc.TerminatingThreadLocal].set(java.lang.Object)"
    - "[java.lang.ThreadLocal].set(java.lang.Object)"
    functionUses: 1
    ICount: 5
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.support.RetrySynchronizationManager:59,1"
      Dst: "[org.springframework.retry.support.RetrySynchronizationManager].getContext()"
    - Src: "org.springframework.retry.support.RetrySynchronizationManager:60,1"
      Dst: "[java.lang.ThreadLocal].set(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.support.RetrySynchronizationManager].clear()"
    functionSourceFile: "org.springframework.retry.support.RetrySynchronizationManager"
    linkageType: ""
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionDepth: 1
    returnType: "org.springframework.retry.RetryContext"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.support.RetrySynchronizationManager].getContext()"
    - "[java.lang.ThreadLocal:org.springframework.retry.context.RetryContextSupport].getParent()"
    - "[jdk.internal.misc.TerminatingThreadLocal].set(java.lang.Object)"
    - "[org.springframework.retry.RetryContext].getParent()"
    - "[java.lang.ThreadLocal].set(java.lang.Object)"
    functionUses: 3
    ICount: 8
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "org.springframework.retry.support.RetrySynchronizationManager:71"
      Branch Sides:
      - BranchSide: "org.springframework.retry.support.RetrySynchronizationManager:70"
        BranchSideFuncs:
        - "set(java.lang.Object)"
      - BranchSide: "org.springframework.retry.support.RetrySynchronizationManager:69"
        BranchSideFuncs:
        - "getParent()"
        - "getContext()"
    Callsites:
    - Src: "org.springframework.retry.support.RetrySynchronizationManager:70,1"
      Dst: "[org.springframework.retry.support.RetrySynchronizationManager].getContext()"
    - Src: "org.springframework.retry.support.RetrySynchronizationManager:71,1"
      Dst: "[org.springframework.retry.RetryContext].getParent()"
    - Src: "org.springframework.retry.support.RetrySynchronizationManager:72,1"
      Dst: "[java.lang.ThreadLocal].set(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[org.springframework.retry.policy.NeverRetryPolicy$NeverRetryContext].<init>(org.springframework.retry.RetryContext)"
    functionSourceFile: "org.springframework.retry.policy.NeverRetryPolicy$NeverRetryContext"
    linkageType: ""
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.springframework.retry.RetryContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.context.RetryContextSupport].<init>(org.springframework.retry.RetryContext)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.policy.NeverRetryPolicy$NeverRetryContext:87,1"
      Dst: "[org.springframework.retry.context.RetryContextSupport].<init>(org.springframework.retry.RetryContext)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.NeverRetryPolicy$NeverRetryContext].isFinished()"
    functionSourceFile: "org.springframework.retry.policy.NeverRetryPolicy$NeverRetryContext"
    linkageType: ""
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.NeverRetryPolicy$NeverRetryContext].setFinished()"
    functionSourceFile: "org.springframework.retry.policy.NeverRetryPolicy$NeverRetryContext"
    linkageType: ""
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.classify.BinaryExceptionClassifierBuilder].<init>()"
    functionSourceFile: "org.springframework.classify.BinaryExceptionClassifierBuilder"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.util.ArrayList].<init>()"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.classify.BinaryExceptionClassifierBuilder:45,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "org.springframework.classify.BinaryExceptionClassifierBuilder:55,1"
      Dst: "[java.util.ArrayList].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.classify.BinaryExceptionClassifierBuilder].retryOn(java.lang.Class<?\
      \ extends Throwable>)"
    functionSourceFile: "org.springframework.classify.BinaryExceptionClassifierBuilder"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "org.springframework.classify.BinaryExceptionClassifierBuilder"
    argCount: 1
    argTypes:
    - "java.lang.Class<? extends Throwable>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Boolean].booleanValue()"
    - "[org.springframework.util.Assert].isTrue(boolean,java.lang.String)"
    - "[org.springframework.util.Assert].notNull(java.lang.Object,java.lang.String)"
    - "[java.lang.Boolean].valueOf(boolean)"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 0
    ICount: 17
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.springframework.classify.BinaryExceptionClassifierBuilder:58"
      Branch Sides:
      - BranchSide: "org.springframework.classify.BinaryExceptionClassifierBuilder:58"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.classify.BinaryExceptionClassifierBuilder:57"
        BranchSideFuncs: []
    - Branch String: "org.springframework.classify.BinaryExceptionClassifierBuilder:58"
      Branch Sides:
      - BranchSide: "org.springframework.classify.BinaryExceptionClassifierBuilder:58"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.classify.BinaryExceptionClassifierBuilder:57"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.springframework.classify.BinaryExceptionClassifierBuilder:58,1"
      Dst: "[java.lang.Boolean].booleanValue()"
    - Src: "org.springframework.classify.BinaryExceptionClassifierBuilder:58,1"
      Dst: "[org.springframework.util.Assert].isTrue(boolean,java.lang.String)"
    - Src: "org.springframework.classify.BinaryExceptionClassifierBuilder:59,1"
      Dst: "[org.springframework.util.Assert].notNull(java.lang.Object,java.lang.String)"
    - Src: "org.springframework.classify.BinaryExceptionClassifierBuilder:60,1"
      Dst: "[java.lang.Boolean].valueOf(boolean)"
    - Src: "org.springframework.classify.BinaryExceptionClassifierBuilder:61,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[org.springframework.classify.BinaryExceptionClassifierBuilder].notRetryOn(java.lang.Class<?\
      \ extends Throwable>)"
    functionSourceFile: "org.springframework.classify.BinaryExceptionClassifierBuilder"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "org.springframework.classify.BinaryExceptionClassifierBuilder"
    argCount: 1
    argTypes:
    - "java.lang.Class<? extends Throwable>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Boolean].booleanValue()"
    - "[org.springframework.util.Assert].isTrue(boolean,java.lang.String)"
    - "[org.springframework.util.Assert].notNull(java.lang.Object,java.lang.String)"
    - "[java.lang.Boolean].valueOf(boolean)"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 0
    ICount: 17
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.springframework.classify.BinaryExceptionClassifierBuilder:67"
      Branch Sides:
      - BranchSide: "org.springframework.classify.BinaryExceptionClassifierBuilder:67"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.classify.BinaryExceptionClassifierBuilder:66"
        BranchSideFuncs: []
    - Branch String: "org.springframework.classify.BinaryExceptionClassifierBuilder:67"
      Branch Sides:
      - BranchSide: "org.springframework.classify.BinaryExceptionClassifierBuilder:67"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.classify.BinaryExceptionClassifierBuilder:66"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.springframework.classify.BinaryExceptionClassifierBuilder:67,1"
      Dst: "[java.lang.Boolean].booleanValue()"
    - Src: "org.springframework.classify.BinaryExceptionClassifierBuilder:67,1"
      Dst: "[org.springframework.util.Assert].isTrue(boolean,java.lang.String)"
    - Src: "org.springframework.classify.BinaryExceptionClassifierBuilder:68,1"
      Dst: "[org.springframework.util.Assert].notNull(java.lang.Object,java.lang.String)"
    - Src: "org.springframework.classify.BinaryExceptionClassifierBuilder:69,1"
      Dst: "[java.lang.Boolean].valueOf(boolean)"
    - Src: "org.springframework.classify.BinaryExceptionClassifierBuilder:70,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[org.springframework.classify.BinaryExceptionClassifierBuilder].traversingCauses()"
    functionSourceFile: "org.springframework.classify.BinaryExceptionClassifierBuilder"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "org.springframework.classify.BinaryExceptionClassifierBuilder"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.classify.BinaryExceptionClassifierBuilder].build()"
    functionSourceFile: "org.springframework.classify.BinaryExceptionClassifierBuilder"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "org.springframework.classify.BinaryExceptionClassifier"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.List].isEmpty()"
    - "[org.springframework.util.Assert].isTrue(boolean,java.lang.String)"
    - "[java.lang.Boolean].booleanValue()"
    - "[org.springframework.classify.BinaryExceptionClassifier].<init>(java.util.Collection,boolean)"
    - "[org.springframework.classify.BinaryExceptionClassifier].setTraverseCauses(boolean)"
    functionUses: 0
    ICount: 16
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.springframework.classify.BinaryExceptionClassifierBuilder:80"
      Branch Sides:
      - BranchSide: "org.springframework.classify.BinaryExceptionClassifierBuilder:80"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.classify.BinaryExceptionClassifierBuilder:79"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.springframework.classify.BinaryExceptionClassifierBuilder:80,1"
      Dst: "[java.util.List].isEmpty()"
    - Src: "org.springframework.classify.BinaryExceptionClassifierBuilder:80,1"
      Dst: "[org.springframework.util.Assert].isTrue(boolean,java.lang.String)"
    - Src: "org.springframework.classify.BinaryExceptionClassifierBuilder:83,1"
      Dst: "[java.lang.Boolean].booleanValue()"
    - Src: "org.springframework.classify.BinaryExceptionClassifierBuilder:83,1"
      Dst: "[org.springframework.classify.BinaryExceptionClassifier].<init>(java.util.Collection,boolean)"
    - Src: "org.springframework.classify.BinaryExceptionClassifierBuilder:95,1"
      Dst: "[org.springframework.classify.BinaryExceptionClassifier].setTraverseCauses(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[org.springframework.classify.BinaryExceptionClassifier].<init>(java.util.Collection,boolean)"
    functionSourceFile: "org.springframework.classify.BinaryExceptionClassifier"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.util.Collection"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.classify.BinaryExceptionClassifier].<init>(boolean)"
    - "[java.util.HashMap].<init>()"
    - "[java.util.Collection].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[org.springframework.classify.SubclassClassifier].getDefault()"
    - "[java.lang.Boolean].booleanValue()"
    - "[java.lang.Boolean].valueOf(boolean)"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    - "[org.springframework.classify.SubclassClassifier].setTypeMap(java.util.Map)"
    functionUses: 0
    ICount: 28
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.springframework.classify.BinaryExceptionClassifier:65"
      Branch Sides:
      - BranchSide: "org.springframework.classify.BinaryExceptionClassifier:65"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.classify.BinaryExceptionClassifier:64"
        BranchSideFuncs: []
    - Branch String: "org.springframework.classify.BinaryExceptionClassifier:66"
      Branch Sides:
      - BranchSide: "org.springframework.classify.BinaryExceptionClassifier:73"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.classify.BinaryExceptionClassifier:72"
        BranchSideFuncs: []
    - Branch String: "org.springframework.classify.BinaryExceptionClassifier:68"
      Branch Sides:
      - BranchSide: "org.springframework.classify.BinaryExceptionClassifier:71"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.classify.BinaryExceptionClassifier:70"
        BranchSideFuncs: []
    - Branch String: "org.springframework.classify.BinaryExceptionClassifier:69"
      Branch Sides:
      - BranchSide: "org.springframework.classify.BinaryExceptionClassifier:68"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.classify.BinaryExceptionClassifier:67"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.springframework.classify.BinaryExceptionClassifier:65,1"
      Dst: "[org.springframework.classify.BinaryExceptionClassifier].<init>(boolean)"
    - Src: "org.springframework.classify.BinaryExceptionClassifier:67,1"
      Dst: "[java.util.HashMap].<init>()"
    - Src: "org.springframework.classify.BinaryExceptionClassifier:68,1"
      Dst: "[java.util.Collection].iterator()"
    - Src: "org.springframework.classify.BinaryExceptionClassifier:68,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "org.springframework.classify.BinaryExceptionClassifier:68,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "org.springframework.classify.BinaryExceptionClassifier:69,1"
      Dst: "[org.springframework.classify.SubclassClassifier].getDefault()"
    - Src: "org.springframework.classify.BinaryExceptionClassifier:69,1"
      Dst: "[java.lang.Boolean].booleanValue()"
    - Src: "org.springframework.classify.BinaryExceptionClassifier:69,1"
      Dst: "[java.lang.Boolean].valueOf(boolean)"
    - Src: "org.springframework.classify.BinaryExceptionClassifier:69,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    - Src: "org.springframework.classify.BinaryExceptionClassifier:71,1"
      Dst: "[org.springframework.classify.SubclassClassifier].setTypeMap(java.util.Map)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 12
    CyclomaticComplexity: 5
  - functionName: "[org.springframework.classify.BinaryExceptionClassifier].<init>(boolean)"
    functionSourceFile: "org.springframework.classify.BinaryExceptionClassifier"
    linkageType: ""
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.classify.SubclassClassifier].<init>(java.lang.Object)"
    - "[java.lang.Boolean].valueOf(boolean)"
    functionUses: 3
    ICount: 5
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.classify.BinaryExceptionClassifier:54,1"
      Dst: "[java.lang.Boolean].valueOf(boolean)"
    - Src: "org.springframework.classify.BinaryExceptionClassifier:54,1"
      Dst: "[org.springframework.classify.SubclassClassifier].<init>(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.classify.SubclassClassifier].<init>(java.lang.Object)"
    functionSourceFile: "org.springframework.classify.SubclassClassifier"
    linkageType: ""
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.HashMap].<init>()"
    - "[org.springframework.classify.SubclassClassifier].<init>(java.util.Map,java.lang.Object)"
    functionUses: 2
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.classify.SubclassClassifier:55,1"
      Dst: "[java.util.HashMap].<init>()"
    - Src: "org.springframework.classify.SubclassClassifier:55,1"
      Dst: "[org.springframework.classify.SubclassClassifier].<init>(java.util.Map,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.classify.SubclassClassifier].<init>(java.util.Map,java.lang.Object)"
    functionSourceFile: "org.springframework.classify.SubclassClassifier"
    linkageType: ""
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.util.Map"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.ConcurrentHashMap].<init>()"
    - "[java.lang.Object].<init>()"
    - "[java.util.concurrent.ConcurrentHashMap].<init>(java.util.Map)"
    functionUses: 2
    ICount: 13
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.classify.SubclassClassifier:64,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "org.springframework.classify.SubclassClassifier:38,1"
      Dst: "[java.util.concurrent.ConcurrentHashMap].<init>()"
    - Src: "org.springframework.classify.SubclassClassifier:65,1"
      Dst: "[java.util.concurrent.ConcurrentHashMap].<init>(java.util.Map)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.classify.BinaryExceptionClassifier].setTraverseCauses(boolean)"
    functionSourceFile: "org.springframework.classify.BinaryExceptionClassifier"
    linkageType: ""
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.context.RetryContextSupport].isExhaustedOnly()"
    functionSourceFile: "org.springframework.retry.context.RetryContextSupport"
    linkageType: ""
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.context.RetryContextSupport].setExhaustedOnly()"
    functionSourceFile: "org.springframework.retry.context.RetryContextSupport"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.context.RetryContextSupport].getRetryCount()"
    functionSourceFile: "org.springframework.retry.context.RetryContextSupport"
    linkageType: ""
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 9
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.context.RetryContextSupport].getLastThrowable()"
    functionSourceFile: "org.springframework.retry.context.RetryContextSupport"
    linkageType: ""
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionDepth: 0
    returnType: "java.lang.Throwable"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 9
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.context.RetryContextSupport].toString()"
    functionSourceFile: "org.springframework.retry.context.RetryContextSupport"
    linkageType: ""
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.lang.Integer].valueOf(int)"
    - "[java.lang.Boolean].valueOf(boolean)"
    functionUses: 33
    ICount: 12
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.context.RetryContextSupport:82,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "org.springframework.retry.context.RetryContextSupport:83,1"
      Dst: "[java.lang.Boolean].valueOf(boolean)"
    - Src: "org.springframework.retry.context.RetryContextSupport:82,1"
      Dst: "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.backoff.ObjectWaitSleeper].<init>()"
    functionSourceFile: "org.springframework.retry.backoff.ObjectWaitSleeper"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.backoff.ObjectWaitSleeper:27,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.backoff.ObjectWaitSleeper].sleep(long)"
    functionSourceFile: "org.springframework.retry.backoff.ObjectWaitSleeper"
    linkageType: ""
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.lang.Object].wait(long)"
    functionUses: 3
    ICount: 12
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.backoff.ObjectWaitSleeper:35,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "org.springframework.retry.backoff.ObjectWaitSleeper:37,1"
      Dst: "[java.lang.Object].wait(long)"
    JavaMethodInfo:
      exceptions:
      - "java.lang.InterruptedException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.ExhaustedRetryException].<init>(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "org.springframework.retry.ExhaustedRetryException"
    linkageType: ""
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.RetryException].<init>(java.lang.String,java.lang.Throwable)"
    functionUses: 2
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.ExhaustedRetryException:23,1"
      Dst: "[org.springframework.retry.RetryException].<init>(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.ExhaustedRetryException].<init>(java.lang.String)"
    functionSourceFile: "org.springframework.retry.ExhaustedRetryException"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.RetryException].<init>(java.lang.String)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.ExhaustedRetryException:27,1"
      Dst: "[org.springframework.retry.RetryException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler].<init>(java.lang.Object,java.lang.reflect.Method)"
    functionSourceFile: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler"
    linkageType: ""
    functionLinenumber: 66
    functionLinenumberEnd: 71
    functionDepth: 3
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "java.lang.reflect.Method"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.classify.SubclassClassifier].<init>()"
    - "[java.util.HashMap].<init>()"
    - "[java.lang.Object].<init>()"
    - "[org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler].init(java.lang.Object,java.lang.reflect.Method)"
    functionUses: 1
    ICount: 13
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:67,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:59,1"
      Dst: "[org.springframework.classify.SubclassClassifier].<init>()"
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:61,1"
      Dst: "[java.util.HashMap].<init>()"
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:69,1"
      Dst: "[org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler].init(java.lang.Object,java.lang.reflect.Method)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler].recover(java.lang.Object[],java.lang.Throwable)"
    functionSourceFile: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler"
    linkageType: ""
    functionLinenumber: 73
    functionLinenumberEnd: 109
    functionDepth: 2
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "java.lang.Object[]"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler].findClosestMatch(java.lang.Object[],java.lang.Class)"
    - "[java.lang.Object].getClass()"
    - "[org.springframework.retry.ExhaustedRetryException].<init>(java.lang.String,java.lang.Throwable)"
    - "[org.springframework.util.ConcurrentReferenceHashMap].get(java.lang.Object)"
    - "[org.springframework.util.LinkedCaseInsensitiveMap].get(java.lang.Object)"
    - "[com.google.gson.internal.LinkedTreeMap].get(java.lang.Object)"
    - "[org.springframework.core.env.ReadOnlySystemAttributesMap].get(java.lang.Object)"
    - "[org.springframework.util.LinkedMultiValueMap].get(java.lang.Object)"
    - "[org.springframework.util.CollectionUtils$MultiValueMapAdapter].get(java.lang.Object)"
    - "[com.google.gson.internal.LinkedHashTreeMap].get(java.lang.Object)"
    - "[org.apache.commons.logging.impl.WeakHashtable].get(java.lang.Object)"
    - "[org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler$SimpleMetadata].getArgs(java.lang.Throwable,java.lang.Object[])"
    - "[java.lang.reflect.AccessibleObject].isAccessible()"
    - "[org.springframework.util.ReflectionUtils].makeAccessible(java.lang.reflect.Method)"
    - "[org.springframework.retry.support.RetrySynchronizationManager].getContext()"
    - "[org.springframework.core.AttributeAccessorSupport].getAttribute(java.lang.String)"
    - "[org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler].findMethodOnProxy(java.lang.reflect.Method,java.lang.Object)"
    - "[org.springframework.util.ReflectionUtils].invokeMethod(java.lang.reflect.Method,java.lang.Object,java.lang.Object[])"
    - "[java.lang.reflect.Method].setAccessible(boolean)"
    - "[java.util.Map].get(java.lang.Object)"
    - "[org.springframework.core.AttributeAccessor].getAttribute(java.lang.String)"
    functionUses: 2
    ICount: 39
    EdgeCount: 20
    BranchProfiles:
    - Branch String: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:75"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:78"
        BranchSideFuncs:
        - "<init>(java.lang.String,java.lang.Throwable)"
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:77"
        BranchSideFuncs:
        - "getContext()"
        - "makeAccessible(java.lang.reflect.Method)"
        - "get(java.lang.Object)"
        - "getArgs(java.lang.Throwable,java.lang.Object[])"
    - Branch String: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:85"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:97"
        BranchSideFuncs:
        - "getAttribute(java.lang.String)"
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:96"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:87"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:97"
        BranchSideFuncs:
        - "findMethodOnProxy(java.lang.reflect.Method,java.lang.Object)"
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:96"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:89"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:93"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:92"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:97"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:101"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:100"
        BranchSideFuncs:
        - "invokeMethod(java.lang.reflect.Method,java.lang.Object,java.lang.Object[])"
        - "isAccessible()"
    - Branch String: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:105"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:101"
        BranchSideFuncs:
        - "setAccessible(boolean)"
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:100"
        BranchSideFuncs:
        - "invokeMethod(java.lang.reflect.Method,java.lang.Object,java.lang.Object[])"
        - "isAccessible()"
    - Branch String: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:105"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:108"
        BranchSideFuncs:
        - "setAccessible(boolean)"
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:107"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:74,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:74,1"
      Dst: "[org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler].findClosestMatch(java.lang.Object[],java.lang.Class)"
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:76,1"
      Dst: "[org.springframework.retry.ExhaustedRetryException].<init>(java.lang.String,java.lang.Throwable)"
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:78,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:79,1"
      Dst: "[org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler$SimpleMetadata].getArgs(java.lang.Throwable,java.lang.Object[])"
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:80,1"
      Dst: "[java.lang.reflect.AccessibleObject].isAccessible()"
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:82,1"
      Dst: "[org.springframework.util.ReflectionUtils].makeAccessible(java.lang.reflect.Method)"
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:83,1"
      Dst: "[org.springframework.retry.support.RetrySynchronizationManager].getContext()"
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:86,1"
      Dst: "[org.springframework.core.AttributeAccessor].getAttribute(java.lang.String)"
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:88,1"
      Dst: "[org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler].findMethodOnProxy(java.lang.reflect.Method,java.lang.Object)"
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:101,1"
      Dst: "[org.springframework.util.ReflectionUtils].invokeMethod(java.lang.reflect.Method,java.lang.Object,java.lang.Object[])"
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:106,1"
      Dst: "[java.lang.reflect.Method].setAccessible(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 15
    CyclomaticComplexity: 6
  - functionName: "[org.springframework.retry.RetryException].<init>(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "org.springframework.retry.RetryException"
    linkageType: ""
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.core.NestedRuntimeException].<init>(java.lang.String,java.lang.Throwable)"
    functionUses: 4
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.RetryException:25,1"
      Dst: "[org.springframework.core.NestedRuntimeException].<init>(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler].findMethodOnProxy(java.lang.reflect.Method,java.lang.Object)"
    functionSourceFile: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler"
    linkageType: ""
    functionLinenumber: 112
    functionLinenumberEnd: 120
    functionDepth: 0
    returnType: "java.lang.reflect.Method"
    argCount: 2
    argTypes:
    - "java.lang.reflect.Method"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].getClass()"
    - "[java.lang.Class].getMethod(java.lang.String,java.lang.Class[])"
    - "[java.lang.reflect.Method].getName()"
    - "[java.lang.reflect.Method].getParameterTypes()"
    functionUses: 1
    ICount: 12
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:113,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:113,1"
      Dst: "[java.lang.reflect.Method].getName()"
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:113,1"
      Dst: "[java.lang.reflect.Method].getParameterTypes()"
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:113,1"
      Dst: "[java.lang.Class].getMethod(java.lang.String,java.lang.Class[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler].findClosestMatch(java.lang.Object[],java.lang.Class<?\
      \ extends Throwable>)"
    functionSourceFile: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler"
    linkageType: ""
    functionLinenumber: 123
    functionLinenumberEnd: 165
    functionDepth: 1
    returnType: "java.lang.reflect.Method"
    argCount: 2
    argTypes:
    - "java.lang.Object[]"
    - "java.lang.Class<? extends Throwable>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.util.StringUtils].isEmpty(java.lang.Object)"
    - "[com.google.gson.internal.LinkedTreeMap].entrySet()"
    - "[com.sun.net.httpserver.Headers].entrySet()"
    - "[java.util.concurrent.ConcurrentSkipListMap$SubMap].entrySet()"
    - "[java.util.WeakHashMap].entrySet()"
    - "[org.springframework.util.LinkedMultiValueMap].entrySet()"
    - "[org.apache.commons.logging.impl.WeakHashtable].entrySet()"
    - "[com.google.gson.internal.LinkedHashTreeMap].entrySet()"
    - "[java.util.concurrent.ConcurrentSkipListMap].entrySet()"
    - "[java.util.Properties].entrySet()"
    - "[java.security.Provider].entrySet()"
    - "[java.util.concurrent.ConcurrentHashMap].entrySet()"
    - "[org.springframework.core.env.ReadOnlySystemAttributesMap].entrySet()"
    - "[java.util.stream.Collectors$Partition].entrySet()"
    - "[org.springframework.cglib.beans.BeanMap].entrySet()"
    - "[java.util.EnumMap].entrySet()"
    - "[java.util.jar.Attributes].entrySet()"
    - "[java.awt.RenderingHints].entrySet()"
    - "[java.util.Hashtable].entrySet()"
    - "[org.springframework.beans.factory.config.YamlProcessor$StrictMapAppenderConstructor$1].entrySet()"
    - "[org.springframework.util.LinkedCaseInsensitiveMap].entrySet()"
    - "[javax.script.SimpleBindings].entrySet()"
    - "[java.util.LinkedHashMap].entrySet()"
    - "[org.springframework.util.CollectionUtils$MultiValueMapAdapter].entrySet()"
    - "[org.springframework.util.ConcurrentReferenceHashMap].entrySet()"
    - "[java.util.TreeMap].entrySet()"
    - "[java.util.IdentityHashMap].entrySet()"
    - "[java.util.HashMap].entrySet()"
    - "[org.springframework.util.CollectionUtils$EnumerationIterator].hasNext()"
    - "[com.google.gson.JsonStreamParser].hasNext()"
    - "[java.nio.file.FileTreeIterator].hasNext()"
    - "[org.springframework.util.ConcurrentReferenceHashMap$EntryIterator].hasNext()"
    - "[org.springframework.util.CompositeIterator].hasNext()"
    - "[com.google.gson.internal.LinkedTreeMap$LinkedTreeMapIterator].hasNext()"
    - "[java.nio.file.Files$2].hasNext()"
    - "[java.io.BufferedReader$1].hasNext()"
    - "[com.google.gson.internal.LinkedHashTreeMap$LinkedTreeMapIterator].hasNext()"
    - "[java.util.TreeMap$EntrySet].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$KeySetView].iterator()"
    - "[com.google.gson.internal.LinkedTreeMap$EntrySet].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$EntrySetView].iterator()"
    - "[java.util.HashSet].iterator()"
    - "[com.google.gson.internal.LinkedTreeMap$KeySet].iterator()"
    - "[org.springframework.util.ConcurrentReferenceHashMap$EntrySet].iterator()"
    - "[java.util.TreeMap$KeySet].iterator()"
    - "[java.util.concurrent.ConcurrentSkipListMap$EntrySet].iterator()"
    - "[org.springframework.cglib.beans.FixedKeySet].iterator()"
    - "[java.util.TreeSet].iterator()"
    - "[com.google.gson.internal.LinkedHashTreeMap$EntrySet].iterator()"
    - "[java.util.concurrent.CopyOnWriteArraySet].iterator()"
    - "[com.google.gson.internal.LinkedHashTreeMap$KeySet].iterator()"
    - "[java.util.concurrent.ConcurrentSkipListMap$KeySet].iterator()"
    - "[com.google.gson.internal.LinkedTreeMap$EntrySet$1].next()"
    - "[com.google.gson.internal.LinkedTreeMap$KeySet$1].next()"
    - "[org.springframework.util.CollectionUtils$EnumerationIterator].next()"
    - "[com.google.gson.JsonStreamParser].next()"
    - "[java.io.BufferedReader$1].next()"
    - "[org.springframework.util.CompositeIterator].next()"
    - "[com.google.gson.internal.LinkedHashTreeMap$KeySet$1].next()"
    - "[com.google.gson.internal.LinkedHashTreeMap$EntrySet$1].next()"
    - "[org.springframework.util.ConcurrentReferenceHashMap$EntryIterator].next()"
    - "[java.nio.file.FileTreeIterator].next()"
    - "[java.nio.file.Files$2].next()"
    - "[com.google.gson.internal.LinkedHashTreeMap$Node].getKey()"
    - "[java.util.TreeMap$Entry].getKey()"
    - "[org.apache.commons.logging.impl.WeakHashtable$Entry].getKey()"
    - "[org.springframework.util.ConcurrentReferenceHashMap$Entry].getKey()"
    - "[java.util.WeakHashMap$Entry].getKey()"
    - "[com.google.gson.internal.LinkedTreeMap$Node].getKey()"
    - "[java.util.concurrent.ConcurrentHashMap$Node].getKey()"
    - "[java.util.Hashtable$Entry].getKey()"
    - "[java.util.AbstractMap$SimpleEntry].getKey()"
    - "[java.util.AbstractMap$SimpleImmutableEntry].getKey()"
    - "[java.util.HashMap$Node].getKey()"
    - "[java.util.AbstractMap$SimpleEntry].getValue()"
    - "[java.util.TreeMap$Entry].getValue()"
    - "[java.util.AbstractMap$SimpleImmutableEntry].getValue()"
    - "[java.util.Hashtable$Entry].getValue()"
    - "[java.util.HashMap$Node].getValue()"
    - "[com.google.gson.internal.LinkedHashTreeMap$Node].getValue()"
    - "[org.apache.commons.logging.impl.WeakHashtable$Entry].getValue()"
    - "[java.util.WeakHashMap$Entry].getValue()"
    - "[com.google.gson.internal.LinkedTreeMap$Node].getValue()"
    - "[java.util.concurrent.ConcurrentHashMap$Node].getValue()"
    - "[org.springframework.util.ConcurrentReferenceHashMap$Entry].getValue()"
    - "[org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler$SimpleMetadata].getType()"
    - "[java.lang.Class].isAssignableFrom(java.lang.Class)"
    - "[org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler].calculateDistance(java.lang.Class,java.lang.Class)"
    - "[org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler].compareParameters(java.lang.Object[],int,java.lang.Class[])"
    - "[org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler$SimpleMetadata].getArgCount()"
    - "[java.lang.reflect.Method].getParameterTypes()"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[java.lang.reflect.Method].getName()"
    - "[org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler$SimpleMetadata].access$000(org.springframework.retry.'annotation'.RecoverAnnotationRecoveryHandler$SimpleMetadata)"
    - "[java.util.Map].entrySet()"
    - "[java.util.Set].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.util.Map$Entry].getKey()"
    - "[java.util.Map$Entry].getValue()"
    functionUses: 1
    ICount: 64
    EdgeCount: 182
    BranchProfiles:
    - Branch String: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:126"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:152"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:151"
        BranchSideFuncs:
        - "hasNext()"
        - "next()"
        - "iterator()"
        - "entrySet()"
    - Branch String: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:128"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:150"
        BranchSideFuncs:
        - "getType()"
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:149"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:132"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:135"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:134"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:135"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:149"
        BranchSideFuncs:
        - "calculateDistance(java.lang.Class,java.lang.Class)"
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:148"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:137"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:141"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:140"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:141"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:149"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:148"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:144"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:149"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:148"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:152"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:164"
        BranchSideFuncs:
        - "hasNext()"
        - "next()"
        - "iterator()"
        - "getName()"
        - "entrySet()"
        - "getKey()"
        - "equals(java.lang.Object)"
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:163"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:154"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:162"
        BranchSideFuncs:
        - "getValue()"
        - "access$000(org.springframework.retry.'annotation'.RecoverAnnotationRecoveryHandler$SimpleMetadata)"
        - "isAssignableFrom(java.lang.Class)"
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:161"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:156"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:162"
        BranchSideFuncs:
        - "getArgCount()"
        - "getParameterTypes()"
        - "compareParameters(java.lang.Object[],int,java.lang.Class[])"
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:161"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:157"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:162"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:161"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:126,1"
      Dst: "[org.springframework.util.StringUtils].isEmpty(java.lang.Object)"
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:128,1"
      Dst: "[java.util.Map].entrySet()"
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:128,1"
      Dst: "[java.util.Set].iterator()"
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:128,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:128,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:129,1"
      Dst: "[java.util.Map$Entry].getKey()"
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:130,1"
      Dst: "[java.util.Map$Entry].getValue()"
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:131,1"
      Dst: "[org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler$SimpleMetadata].getType()"
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:135,1"
      Dst: "[java.lang.Class].isAssignableFrom(java.lang.Class)"
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:136,1"
      Dst: "[org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler].calculateDistance(java.lang.Class,java.lang.Class)"
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:142,1"
      Dst: "[org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler$SimpleMetadata].getArgCount()"
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:143,1"
      Dst: "[java.lang.reflect.Method].getParameterTypes()"
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:142,1"
      Dst: "[org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler].compareParameters(java.lang.Object[],int,java.lang.Class[])"
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:154,1"
      Dst: "[java.lang.reflect.Method].getName()"
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:154,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:156,1"
      Dst: "[org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler$SimpleMetadata].access$000(org.springframework.retry.'annotation'.RecoverAnnotationRecoveryHandler$SimpleMetadata)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 21
    CyclomaticComplexity: 12
  - functionName: "[org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler].compareParameters(java.lang.Object[],int,java.lang.Class[])"
    functionSourceFile: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler"
    linkageType: ""
    functionLinenumber: 177
    functionLinenumberEnd: 197
    functionDepth: 0
    returnType: "boolean"
    argCount: 3
    argTypes:
    - "java.lang.Object[]"
    - "int"
    - "java.lang.Class[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Class].isAssignableFrom(java.lang.Class)"
    - "[org.springframework.util.ClassUtils].resolvePrimitiveIfNecessary(java.lang.Class)"
    - "[java.lang.Object].getClass()"
    functionUses: 2
    ICount: 43
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:178"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:196"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:195"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:180"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:182"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:180"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:182"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:183"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:194"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:193"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:184"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:184"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:183"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:185"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:188"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:187"
        BranchSideFuncs:
        - "resolvePrimitiveIfNecessary(java.lang.Class)"
        - "getClass()"
        - "isAssignableFrom(java.lang.Class)"
    - Branch String: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:190"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:183"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:182"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:180,1"
      Dst: "[java.lang.Class].isAssignableFrom(java.lang.Class)"
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:189,1"
      Dst: "[org.springframework.util.ClassUtils].resolvePrimitiveIfNecessary(java.lang.Class)"
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:190,1"
      Dst: "[java.lang.Object].getClass()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 16
    CyclomaticComplexity: 6
  - functionName: "[org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler].calculateDistance(java.lang.Class<?\
      \ extends Throwable>,java.lang.Class<? extends Throwable>)"
    functionSourceFile: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler"
    linkageType: ""
    functionLinenumber: 167
    functionLinenumberEnd: 175
    functionDepth: 0
    returnType: "int"
    argCount: 2
    argTypes:
    - "java.lang.Class<? extends Throwable>"
    - "java.lang.Class<? extends Throwable>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Class].getSuperclass()"
    functionUses: 1
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:170"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:174"
        BranchSideFuncs:
        - "getSuperclass()"
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:173"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:170"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:174"
        BranchSideFuncs:
        - "getSuperclass()"
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:173"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:172,1"
      Dst: "[java.lang.Class].getSuperclass()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler].init(java.lang.Object,java.lang.reflect.Method)"
    functionSourceFile: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler"
    linkageType: ""
    functionLinenumber: 199
    functionLinenumberEnd: 228
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "java.lang.reflect.Method"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.HashMap].<init>()"
    - "[org.springframework.core.annotation.AnnotationUtils].findAnnotation(java.lang.reflect.Method,java.lang.Class)"
    - "[org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler$1].<init>(org.springframework.retry.'annotation'.RecoverAnnotationRecoveryHandler,java.lang.Object,java.lang.reflect.Method,java.util.Map)"
    - "[org.springframework.util.ReflectionUtils].doWithMethods(java.lang.Class,org.springframework.util.ReflectionUtils$MethodCallback)"
    - "[java.lang.Object].getClass()"
    - "[org.springframework.classify.SubclassClassifier].setTypeMap(java.util.Map)"
    - "[java.lang.reflect.Method].getReturnType()"
    - "[org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler].optionallyFilterMethodsBy(java.lang.Class)"
    - "[org.springframework.retry.annotation.Retryable].recover()"
    functionUses: 1
    ICount: 19
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:203"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:206"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:205"
        BranchSideFuncs:
        - "doWithMethods(java.lang.Class,org.springframework.util.ReflectionUtils$MethodCallback)"
        - "setTypeMap(java.util.Map)"
        - "optionallyFilterMethodsBy(java.lang.Class)"
        - "<init>(org.springframework.retry.'annotation'.RecoverAnnotationRecoveryHandler,java.lang.Object,java.lang.reflect.Method,java.util.Map)"
        - "getClass()"
        - "getReturnType()"
    Callsites:
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:200,1"
      Dst: "[java.util.HashMap].<init>()"
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:202,1"
      Dst: "[org.springframework.core.annotation.AnnotationUtils].findAnnotation(java.lang.reflect.Method,java.lang.Class)"
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:204,1"
      Dst: "[org.springframework.retry.annotation.Retryable].recover()"
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:206,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:206,1"
      Dst: "[org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler$1].<init>(org.springframework.retry.'annotation'.RecoverAnnotationRecoveryHandler,java.lang.Object,java.lang.reflect.Method,java.util.Map)"
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:206,1"
      Dst: "[org.springframework.util.ReflectionUtils].doWithMethods(java.lang.Class,org.springframework.util.ReflectionUtils$MethodCallback)"
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:225,1"
      Dst: "[org.springframework.classify.SubclassClassifier].setTypeMap(java.util.Map)"
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:226,1"
      Dst: "[java.lang.reflect.Method].getReturnType()"
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:226,1"
      Dst: "[org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler].optionallyFilterMethodsBy(java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler$1].<init>(org.springframework.retry.'annotation'.RecoverAnnotationRecoveryHandler,java.lang.Object,java.lang.reflect.Method,java.util.Map)"
    functionSourceFile: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler$1"
    linkageType: ""
    functionLinenumber: 205
    functionLinenumberEnd: 207
    functionDepth: 0
    returnType: "void"
    argCount: 4
    argTypes:
    - "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler"
    - "java.lang.Object"
    - "java.lang.reflect.Method"
    - "java.util.Map"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 11
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler$1:206,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler].isParameterizedTypeAssignable(java.lang.reflect.ParameterizedType,java.lang.reflect.ParameterizedType)"
    functionSourceFile: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler"
    linkageType: ""
    functionLinenumber: 240
    functionLinenumberEnd: 260
    functionDepth: 1
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "java.lang.reflect.ParameterizedType"
    - "java.lang.reflect.ParameterizedType"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.gson.internal.$Gson$Types$ParameterizedTypeImpl].getActualTypeArguments()"
    - "[org.springframework.core.ResolvableType$SyntheticParameterizedType].getActualTypeArguments()"
    - "[org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler].isParameterizedTypeAssignable(java.lang.reflect.ParameterizedType,java.lang.reflect.ParameterizedType)"
    - "[org.springframework.core.ResolvableType$SyntheticParameterizedType].equals(java.lang.Object)"
    - "[com.google.gson.internal.$Gson$Types$WildcardTypeImpl].equals(java.lang.Object)"
    - "[com.google.gson.internal.$Gson$Types$GenericArrayTypeImpl].equals(java.lang.Object)"
    - "[com.google.gson.internal.$Gson$Types$ParameterizedTypeImpl].equals(java.lang.Object)"
    - "[java.lang.Object].equals(java.lang.Object)"
    - "[java.lang.reflect.ParameterizedType].getActualTypeArguments()"
    functionUses: 2
    ICount: 32
    EdgeCount: 10
    BranchProfiles:
    - Branch String: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:243"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:247"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:246"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:247"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:259"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:258"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:250"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:254"
        BranchSideFuncs:
        - "isParameterizedTypeAssignable(java.lang.reflect.ParameterizedType,java.lang.reflect.ParameterizedType)"
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:253"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:250"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:254"
        BranchSideFuncs:
        - "isParameterizedTypeAssignable(java.lang.reflect.ParameterizedType,java.lang.reflect.ParameterizedType)"
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:253"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:254"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:247"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:246"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:254"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:247"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:246"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:255"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:247"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:246"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:241,1"
      Dst: "[java.lang.reflect.ParameterizedType].getActualTypeArguments()"
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:251,1"
      Dst: "[org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler].isParameterizedTypeAssignable(java.lang.reflect.ParameterizedType,java.lang.reflect.ParameterizedType)"
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:255,1"
      Dst: "[java.lang.Object].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 13
    CyclomaticComplexity: 5
  - functionName: "[org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler].putToMethodsMap(java.lang.reflect.Method,java.util.Map<Class<?\
      \ extends Throwable>,Method>)"
    functionSourceFile: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler"
    linkageType: ""
    functionLinenumber: 262
    functionLinenumberEnd: 275
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.reflect.Method"
    - "java.util.Map<Class<? extends Throwable>,Method>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.reflect.Method].getParameterTypes()"
    - "[java.lang.Class].isAssignableFrom(java.lang.Class)"
    - "[org.apache.commons.logging.impl.WeakHashtable].put(java.lang.Object,java.lang.Object)"
    - "[org.springframework.util.CollectionUtils$MultiValueMapAdapter].put(java.lang.Object,java.lang.Object)"
    - "[java.util.AbstractMap].put(java.lang.Object,java.lang.Object)"
    - "[java.util.jar.Attributes].put(java.lang.Object,java.lang.Object)"
    - "[java.util.Hashtable].put(java.lang.Object,java.lang.Object)"
    - "[com.google.gson.internal.LinkedTreeMap].put(java.lang.Object,java.lang.Object)"
    - "[org.springframework.util.ConcurrentReferenceHashMap].put(java.lang.Object,java.lang.Object)"
    - "[java.util.EnumMap].put(java.lang.Object,java.lang.Object)"
    - "[java.util.TreeMap].put(java.lang.Object,java.lang.Object)"
    - "[org.springframework.validation.support.BindingAwareModelMap].put(java.lang.Object,java.lang.Object)"
    - "[java.util.HashMap].put(java.lang.Object,java.lang.Object)"
    - "[org.springframework.beans.factory.config.YamlProcessor$StrictMapAppenderConstructor$1].put(java.lang.Object,java.lang.Object)"
    - "[java.util.concurrent.ConcurrentSkipListMap$SubMap].put(java.lang.Object,java.lang.Object)"
    - "[com.sun.net.httpserver.Headers].put(java.lang.Object,java.lang.Object)"
    - "[java.util.Properties].put(java.lang.Object,java.lang.Object)"
    - "[org.springframework.core.env.ReadOnlySystemAttributesMap].put(java.lang.Object,java.lang.Object)"
    - "[java.security.Provider].put(java.lang.Object,java.lang.Object)"
    - "[java.util.concurrent.ConcurrentSkipListMap].put(java.lang.Object,java.lang.Object)"
    - "[org.springframework.util.LinkedCaseInsensitiveMap].put(java.lang.Object,java.lang.Object)"
    - "[java.util.WeakHashMap].put(java.lang.Object,java.lang.Object)"
    - "[java.util.concurrent.ConcurrentHashMap].put(java.lang.Object,java.lang.Object)"
    - "[java.awt.RenderingHints].put(java.lang.Object,java.lang.Object)"
    - "[com.google.gson.internal.LinkedHashTreeMap].put(java.lang.Object,java.lang.Object)"
    - "[org.springframework.util.LinkedMultiValueMap].put(java.lang.Object,java.lang.Object)"
    - "[org.springframework.cglib.beans.BeanMap].put(java.lang.Object,java.lang.Object)"
    - "[java.util.IdentityHashMap].put(java.lang.Object,java.lang.Object)"
    - "[javax.script.SimpleBindings].put(java.lang.Object,java.lang.Object)"
    - "[org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler$SimpleMetadata].<init>(int,java.lang.Class)"
    - "[org.springframework.classify.SubclassClassifier].setDefaultValue(java.lang.Object)"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    functionUses: 1
    ICount: 26
    EdgeCount: 86
    BranchProfiles:
    - Branch String: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:264"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:270"
        BranchSideFuncs:
        - "put(java.lang.Object,java.lang.Object)"
        - "setDefaultValue(java.lang.Object)"
        - "<init>(int,java.lang.Class)"
    - Branch String: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:264"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:270"
        BranchSideFuncs:
        - "put(java.lang.Object,java.lang.Object)"
        - "setDefaultValue(java.lang.Object)"
        - "<init>(int,java.lang.Class)"
    Callsites:
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:263,1"
      Dst: "[java.lang.reflect.Method].getParameterTypes()"
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:264,1"
      Dst: "[java.lang.Class].isAssignableFrom(java.lang.Class)"
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:267,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:268,1"
      Dst: "[org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler$SimpleMetadata].<init>(int,java.lang.Class)"
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:271,1"
      Dst: "[org.springframework.classify.SubclassClassifier].setDefaultValue(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[org.springframework.classify.SubclassClassifier].setDefaultValue(java.lang.Object)"
    functionSourceFile: "org.springframework.classify.SubclassClassifier"
    linkageType: ""
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler].findAnnotationOnTarget(java.lang.Object,java.lang.reflect.Method)"
    functionSourceFile: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler"
    linkageType: ""
    functionLinenumber: 277
    functionLinenumberEnd: 283
    functionDepth: 0
    returnType: "org.springframework.retry.annotation.Recover"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "java.lang.reflect.Method"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].getClass()"
    - "[java.lang.Class].getMethod(java.lang.String,java.lang.Class[])"
    - "[java.lang.reflect.Method].getName()"
    - "[java.lang.reflect.Method].getParameterTypes()"
    - "[org.springframework.core.annotation.AnnotationUtils].findAnnotation(java.lang.reflect.Method,java.lang.Class)"
    functionUses: 1
    ICount: 12
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:278,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:278,1"
      Dst: "[java.lang.reflect.Method].getName()"
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:278,1"
      Dst: "[java.lang.reflect.Method].getParameterTypes()"
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:278,1"
      Dst: "[java.lang.Class].getMethod(java.lang.String,java.lang.Class[])"
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:279,1"
      Dst: "[org.springframework.core.annotation.AnnotationUtils].findAnnotation(java.lang.reflect.Method,java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler].optionallyFilterMethodsBy(java.lang.Class<?>)"
    functionSourceFile: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler"
    linkageType: ""
    functionLinenumber: 286
    functionLinenumberEnd: 299
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Class<?>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.HashMap].<init>()"
    - "[org.springframework.util.CollectionUtils$EnumerationIterator].hasNext()"
    - "[com.google.gson.JsonStreamParser].hasNext()"
    - "[java.nio.file.FileTreeIterator].hasNext()"
    - "[org.springframework.util.ConcurrentReferenceHashMap$EntryIterator].hasNext()"
    - "[org.springframework.util.CompositeIterator].hasNext()"
    - "[com.google.gson.internal.LinkedTreeMap$LinkedTreeMapIterator].hasNext()"
    - "[java.nio.file.Files$2].hasNext()"
    - "[java.io.BufferedReader$1].hasNext()"
    - "[com.google.gson.internal.LinkedHashTreeMap$LinkedTreeMapIterator].hasNext()"
    - "[java.util.TreeMap$EntrySet].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$KeySetView].iterator()"
    - "[com.google.gson.internal.LinkedTreeMap$EntrySet].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$EntrySetView].iterator()"
    - "[java.util.HashSet].iterator()"
    - "[com.google.gson.internal.LinkedTreeMap$KeySet].iterator()"
    - "[org.springframework.util.ConcurrentReferenceHashMap$EntrySet].iterator()"
    - "[java.util.TreeMap$KeySet].iterator()"
    - "[java.util.concurrent.ConcurrentSkipListMap$EntrySet].iterator()"
    - "[org.springframework.cglib.beans.FixedKeySet].iterator()"
    - "[java.util.TreeSet].iterator()"
    - "[com.google.gson.internal.LinkedHashTreeMap$EntrySet].iterator()"
    - "[java.util.concurrent.CopyOnWriteArraySet].iterator()"
    - "[com.google.gson.internal.LinkedHashTreeMap$KeySet].iterator()"
    - "[java.util.concurrent.ConcurrentSkipListMap$KeySet].iterator()"
    - "[com.google.gson.internal.LinkedTreeMap].keySet()"
    - "[java.util.concurrent.ConcurrentSkipListMap$SubMap].keySet()"
    - "[java.util.AbstractMap].keySet()"
    - "[java.util.Hashtable].keySet()"
    - "[java.util.IdentityHashMap].keySet()"
    - "[java.util.concurrent.ConcurrentSkipListMap].keySet()"
    - "[org.springframework.core.env.ReadOnlySystemAttributesMap].keySet()"
    - "[org.springframework.util.LinkedCaseInsensitiveMap].keySet()"
    - "[java.util.jar.Attributes].keySet()"
    - "[com.google.gson.internal.LinkedHashTreeMap].keySet()"
    - "[java.util.LinkedHashMap].keySet()"
    - "[java.util.TreeMap].keySet()"
    - "[java.util.concurrent.ConcurrentHashMap].keySet()"
    - "[java.util.WeakHashMap].keySet()"
    - "[java.awt.RenderingHints].keySet()"
    - "[javax.script.SimpleBindings].keySet()"
    - "[org.apache.commons.logging.impl.WeakHashtable].keySet()"
    - "[java.util.EnumMap].keySet()"
    - "[com.sun.net.httpserver.Headers].keySet()"
    - "[java.util.HashMap].keySet()"
    - "[org.springframework.util.LinkedMultiValueMap].keySet()"
    - "[java.util.Properties].keySet()"
    - "[org.springframework.util.CollectionUtils$MultiValueMapAdapter].keySet()"
    - "[java.security.Provider].keySet()"
    - "[com.google.gson.internal.LinkedTreeMap$EntrySet$1].next()"
    - "[com.google.gson.internal.LinkedTreeMap$KeySet$1].next()"
    - "[org.springframework.util.CollectionUtils$EnumerationIterator].next()"
    - "[com.google.gson.JsonStreamParser].next()"
    - "[java.io.BufferedReader$1].next()"
    - "[org.springframework.util.CompositeIterator].next()"
    - "[com.google.gson.internal.LinkedHashTreeMap$KeySet$1].next()"
    - "[com.google.gson.internal.LinkedHashTreeMap$EntrySet$1].next()"
    - "[org.springframework.util.ConcurrentReferenceHashMap$EntryIterator].next()"
    - "[java.nio.file.FileTreeIterator].next()"
    - "[java.nio.file.Files$2].next()"
    - "[java.lang.reflect.Method].getReturnType()"
    - "[org.springframework.util.ConcurrentReferenceHashMap].get(java.lang.Object)"
    - "[org.springframework.util.LinkedCaseInsensitiveMap].get(java.lang.Object)"
    - "[java.awt.RenderingHints].get(java.lang.Object)"
    - "[com.google.gson.internal.LinkedTreeMap].get(java.lang.Object)"
    - "[com.sun.net.httpserver.Headers].get(java.lang.Object)"
    - "[org.springframework.core.env.ReadOnlySystemAttributesMap].get(java.lang.Object)"
    - "[java.util.EnumMap].get(java.lang.Object)"
    - "[java.security.Provider].get(java.lang.Object)"
    - "[org.springframework.cglib.beans.BeanMap].get(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentHashMap].get(java.lang.Object)"
    - "[javax.script.SimpleBindings].get(java.lang.Object)"
    - "[org.springframework.util.LinkedMultiValueMap].get(java.lang.Object)"
    - "[java.util.jar.Attributes].get(java.lang.Object)"
    - "[java.util.AbstractMap].get(java.lang.Object)"
    - "[java.util.WeakHashMap].get(java.lang.Object)"
    - "[java.util.Hashtable].get(java.lang.Object)"
    - "[org.springframework.util.CollectionUtils$MultiValueMapAdapter].get(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentSkipListMap$SubMap].get(java.lang.Object)"
    - "[java.util.LinkedHashMap].get(java.lang.Object)"
    - "[com.google.gson.internal.LinkedHashTreeMap].get(java.lang.Object)"
    - "[java.util.HashMap].get(java.lang.Object)"
    - "[org.apache.commons.logging.impl.WeakHashtable].get(java.lang.Object)"
    - "[java.util.IdentityHashMap].get(java.lang.Object)"
    - "[java.util.Properties].get(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentSkipListMap].get(java.lang.Object)"
    - "[java.util.TreeMap].get(java.lang.Object)"
    - "[org.springframework.validation.support.BindingAwareModelMap].put(java.lang.Object,java.lang.Object)"
    - "[java.util.HashMap].put(java.lang.Object,java.lang.Object)"
    - "[java.util.HashMap].size()"
    - "[java.awt.RenderingHints].clear()"
    - "[org.springframework.core.env.ReadOnlySystemAttributesMap].clear()"
    - "[com.google.gson.internal.LinkedTreeMap].clear()"
    - "[org.springframework.util.ConcurrentReferenceHashMap].clear()"
    - "[java.util.concurrent.ConcurrentSkipListMap$SubMap].clear()"
    - "[java.util.HashMap].clear()"
    - "[java.util.AbstractMap].clear()"
    - "[org.springframework.util.LinkedCaseInsensitiveMap].clear()"
    - "[java.util.Properties].clear()"
    - "[java.util.concurrent.ConcurrentHashMap].clear()"
    - "[java.util.WeakHashMap].clear()"
    - "[java.security.Provider].clear()"
    - "[javax.script.SimpleBindings].clear()"
    - "[java.util.EnumMap].clear()"
    - "[com.google.gson.internal.LinkedHashTreeMap].clear()"
    - "[java.util.concurrent.ConcurrentSkipListMap].clear()"
    - "[java.util.LinkedHashMap].clear()"
    - "[org.springframework.cglib.beans.BeanMap].clear()"
    - "[org.springframework.util.CollectionUtils$MultiValueMapAdapter].clear()"
    - "[com.sun.net.httpserver.Headers].clear()"
    - "[java.util.IdentityHashMap].clear()"
    - "[java.util.TreeMap].clear()"
    - "[org.springframework.util.LinkedMultiValueMap].clear()"
    - "[java.util.jar.Attributes].clear()"
    - "[java.util.Hashtable].clear()"
    - "[org.springframework.validation.support.BindingAwareModelMap].putAll(java.util.Map)"
    - "[java.security.Provider].putAll(java.util.Map)"
    - "[com.sun.net.httpserver.Headers].putAll(java.util.Map)"
    - "[java.util.AbstractMap].putAll(java.util.Map)"
    - "[java.util.Hashtable].putAll(java.util.Map)"
    - "[org.apache.commons.logging.impl.WeakHashtable].putAll(java.util.Map)"
    - "[java.awt.RenderingHints].putAll(java.util.Map)"
    - "[org.springframework.util.CollectionUtils$MultiValueMapAdapter].putAll(java.util.Map)"
    - "[java.util.IdentityHashMap].putAll(java.util.Map)"
    - "[java.util.jar.Attributes].putAll(java.util.Map)"
    - "[java.util.concurrent.ConcurrentHashMap].putAll(java.util.Map)"
    - "[org.springframework.util.LinkedMultiValueMap].putAll(java.util.Map)"
    - "[org.springframework.cglib.beans.BeanMap].putAll(java.util.Map)"
    - "[java.util.Properties].putAll(java.util.Map)"
    - "[java.util.EnumMap].putAll(java.util.Map)"
    - "[org.springframework.util.LinkedCaseInsensitiveMap].putAll(java.util.Map)"
    - "[org.springframework.core.env.ReadOnlySystemAttributesMap].putAll(java.util.Map)"
    - "[java.util.HashMap].putAll(java.util.Map)"
    - "[javax.script.SimpleBindings].putAll(java.util.Map)"
    - "[java.util.WeakHashMap].putAll(java.util.Map)"
    - "[java.util.TreeMap].putAll(java.util.Map)"
    - "[java.util.Map].keySet()"
    - "[java.util.Set].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.util.Map].get(java.lang.Object)"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    - "[java.util.Map].size()"
    - "[java.util.Map].clear()"
    - "[java.util.Map].putAll(java.util.Map)"
    functionUses: 1
    ICount: 24
    EdgeCount: 136
    BranchProfiles:
    - Branch String: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:288"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:293"
        BranchSideFuncs:
        - "hasNext()"
        - "iterator()"
        - "next()"
        - "keySet()"
        - "getReturnType()"
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:292"
        BranchSideFuncs:
        - "size()"
    - Branch String: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:289"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:292"
        BranchSideFuncs:
        - "put(java.lang.Object,java.lang.Object)"
        - "get(java.lang.Object)"
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:291"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:293"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:298"
        BranchSideFuncs:
        - "putAll(java.util.Map)"
        - "clear()"
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:297"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:287,1"
      Dst: "[java.util.HashMap].<init>()"
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:288,1"
      Dst: "[java.util.Map].keySet()"
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:288,1"
      Dst: "[java.util.Set].iterator()"
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:288,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:288,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:289,1"
      Dst: "[java.lang.reflect.Method].getReturnType()"
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:290,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:290,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:293,1"
      Dst: "[java.util.Map].size()"
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:294,1"
      Dst: "[java.util.Map].clear()"
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:296,1"
      Dst: "[java.util.Map].putAll(java.util.Map)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 8
    CyclomaticComplexity: 4
  - functionName: "[org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler].access$100(org.springframework.retry.'annotation'.RecoverAnnotationRecoveryHandler,java.lang.Object,java.lang.reflect.Method)"
    functionSourceFile: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler"
    linkageType: ""
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionDepth: 1
    returnType: "org.springframework.retry.annotation.Recover"
    argCount: 3
    argTypes:
    - "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler"
    - "java.lang.Object"
    - "java.lang.reflect.Method"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler].findAnnotationOnTarget(java.lang.Object,java.lang.reflect.Method)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:57,1"
      Dst: "[org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler].findAnnotationOnTarget(java.lang.Object,java.lang.reflect.Method)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler].access$200(org.springframework.retry.'annotation'.RecoverAnnotationRecoveryHandler,java.lang.reflect.ParameterizedType,java.lang.reflect.ParameterizedType)"
    functionSourceFile: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler"
    linkageType: ""
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionDepth: 2
    returnType: "boolean"
    argCount: 3
    argTypes:
    - "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler"
    - "java.lang.reflect.ParameterizedType"
    - "java.lang.reflect.ParameterizedType"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler].isParameterizedTypeAssignable(java.lang.reflect.ParameterizedType,java.lang.reflect.ParameterizedType)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:57,1"
      Dst: "[org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler].isParameterizedTypeAssignable(java.lang.reflect.ParameterizedType,java.lang.reflect.ParameterizedType)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler].access$300(org.springframework.retry.'annotation'.RecoverAnnotationRecoveryHandler,java.lang.reflect.Method,java.util.Map)"
    functionSourceFile: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler"
    linkageType: ""
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler"
    - "java.lang.reflect.Method"
    - "java.util.Map"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler].putToMethodsMap(java.lang.reflect.Method,java.util.Map)"
    functionUses: 2
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler:57,1"
      Dst: "[org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler].putToMethodsMap(java.lang.reflect.Method,java.util.Map)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.classify.util.MethodInvokerUtils$3].<init>(java.util.concurrent.atomic.AtomicReference)"
    functionSourceFile: "org.springframework.classify.util.MethodInvokerUtils$3"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.util.concurrent.atomic.AtomicReference"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.classify.util.MethodInvokerUtils$3:192,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.classify.util.MethodInvokerUtils$3].doWith(java.lang.reflect.Method)"
    functionSourceFile: "org.springframework.classify.util.MethodInvokerUtils$3"
    linkageType: ""
    functionLinenumber: 193
    functionLinenumberEnd: 207
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.reflect.Method"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.reflect.Method].getModifiers()"
    - "[java.lang.reflect.Method].isBridge()"
    - "[java.lang.reflect.Method].getParameterTypes()"
    - "[java.lang.Object].equals(java.lang.Object)"
    - "[java.lang.reflect.Method].getReturnType()"
    - "[org.springframework.util.ReflectionUtils].isEqualsMethod(java.lang.reflect.Method)"
    - "[java.util.concurrent.atomic.AtomicReference].get()"
    - "[org.springframework.util.Assert].state(boolean,java.lang.String)"
    - "[java.util.concurrent.atomic.AtomicReference].set(java.lang.Object)"
    functionUses: 2
    ICount: 31
    EdgeCount: 10
    BranchProfiles:
    - Branch String: "org.springframework.classify.util.MethodInvokerUtils$3:194"
      Branch Sides:
      - BranchSide: "org.springframework.classify.util.MethodInvokerUtils$3:195"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.classify.util.MethodInvokerUtils$3:194"
        BranchSideFuncs: []
    - Branch String: "org.springframework.classify.util.MethodInvokerUtils$3:194"
      Branch Sides:
      - BranchSide: "org.springframework.classify.util.MethodInvokerUtils$3:197"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.classify.util.MethodInvokerUtils$3:196"
        BranchSideFuncs:
        - "getParameterTypes()"
    - Branch String: "org.springframework.classify.util.MethodInvokerUtils$3:197"
      Branch Sides:
      - BranchSide: "org.springframework.classify.util.MethodInvokerUtils$3:198"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.classify.util.MethodInvokerUtils$3:197"
        BranchSideFuncs: []
    - Branch String: "org.springframework.classify.util.MethodInvokerUtils$3:197"
      Branch Sides:
      - BranchSide: "org.springframework.classify.util.MethodInvokerUtils$3:200"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.classify.util.MethodInvokerUtils$3:199"
        BranchSideFuncs:
        - "isEqualsMethod(java.lang.reflect.Method)"
        - "equals(java.lang.Object)"
        - "getReturnType()"
    - Branch String: "org.springframework.classify.util.MethodInvokerUtils$3:200"
      Branch Sides:
      - BranchSide: "org.springframework.classify.util.MethodInvokerUtils$3:201"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.classify.util.MethodInvokerUtils$3:200"
        BranchSideFuncs: []
    - Branch String: "org.springframework.classify.util.MethodInvokerUtils$3:200"
      Branch Sides:
      - BranchSide: "org.springframework.classify.util.MethodInvokerUtils$3:203"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.classify.util.MethodInvokerUtils$3:202"
        BranchSideFuncs:
        - "state(boolean,java.lang.String)"
        - "get()"
    - Branch String: "org.springframework.classify.util.MethodInvokerUtils$3:203"
      Branch Sides:
      - BranchSide: "org.springframework.classify.util.MethodInvokerUtils$3:203"
        BranchSideFuncs:
        - "set(java.lang.Object)"
        - "state(boolean,java.lang.String)"
        - "get()"
      - BranchSide: "org.springframework.classify.util.MethodInvokerUtils$3:202"
        BranchSideFuncs:
        - "state(boolean,java.lang.String)"
        - "get()"
    Callsites:
    - Src: "org.springframework.classify.util.MethodInvokerUtils$3:194,1"
      Dst: "[java.lang.reflect.Method].getModifiers()"
    - Src: "org.springframework.classify.util.MethodInvokerUtils$3:194,1"
      Dst: "[java.lang.reflect.Method].isBridge()"
    - Src: "org.springframework.classify.util.MethodInvokerUtils$3:197,1"
      Dst: "[java.lang.reflect.Method].getParameterTypes()"
    - Src: "org.springframework.classify.util.MethodInvokerUtils$3:200,1"
      Dst: "[java.lang.reflect.Method].getReturnType()"
    - Src: "org.springframework.classify.util.MethodInvokerUtils$3:200,1"
      Dst: "[java.lang.Object].equals(java.lang.Object)"
    - Src: "org.springframework.classify.util.MethodInvokerUtils$3:200,1"
      Dst: "[org.springframework.util.ReflectionUtils].isEqualsMethod(java.lang.reflect.Method)"
    - Src: "org.springframework.classify.util.MethodInvokerUtils$3:203,1"
      Dst: "[java.util.concurrent.atomic.AtomicReference].get()"
    - Src: "org.springframework.classify.util.MethodInvokerUtils$3:203,1"
      Dst: "[org.springframework.util.Assert].state(boolean,java.lang.String)"
    - Src: "org.springframework.classify.util.MethodInvokerUtils$3:205,1"
      Dst: "[java.util.concurrent.atomic.AtomicReference].set(java.lang.Object)"
    JavaMethodInfo:
      exceptions:
      - "java.lang.IllegalArgumentException"
      - "java.lang.IllegalAccessException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 13
    CyclomaticComplexity: 5
  - functionName: "[org.springframework.retry.policy.CircuitBreakerRetryPolicy].<init>()"
    functionSourceFile: "org.springframework.retry.policy.CircuitBreakerRetryPolicy"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.policy.SimpleRetryPolicy].<init>()"
    - "[org.springframework.retry.policy.CircuitBreakerRetryPolicy].<init>(org.springframework.retry.RetryPolicy)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.policy.CircuitBreakerRetryPolicy:48,1"
      Dst: "[org.springframework.retry.policy.SimpleRetryPolicy].<init>()"
    - Src: "org.springframework.retry.policy.CircuitBreakerRetryPolicy:48,1"
      Dst: "[org.springframework.retry.policy.CircuitBreakerRetryPolicy].<init>(org.springframework.retry.RetryPolicy)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.CircuitBreakerRetryPolicy].<init>(org.springframework.retry.RetryPolicy)"
    functionSourceFile: "org.springframework.retry.policy.CircuitBreakerRetryPolicy"
    linkageType: ""
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.springframework.retry.RetryPolicy"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.policy.CircuitBreakerRetryPolicy:51,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.CircuitBreakerRetryPolicy].setResetTimeout(long)"
    functionSourceFile: "org.springframework.retry.policy.CircuitBreakerRetryPolicy"
    linkageType: ""
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.CircuitBreakerRetryPolicy].setOpenTimeout(long)"
    functionSourceFile: "org.springframework.retry.policy.CircuitBreakerRetryPolicy"
    linkageType: ""
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.CircuitBreakerRetryPolicy].canRetry(org.springframework.retry.RetryContext)"
    functionSourceFile: "org.springframework.retry.policy.CircuitBreakerRetryPolicy"
    linkageType: ""
    functionLinenumber: 75
    functionLinenumberEnd: 85
    functionDepth: 3
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "org.springframework.retry.RetryContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext].isOpen()"
    - "[org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext].incrementShortCircuitCount()"
    - "[org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext].reset()"
    - "[org.springframework.retry.policy.AlwaysRetryPolicy:org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext].access$000(org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext)"
    - "[org.springframework.retry.policy.BinaryExceptionClassifierRetryPolicy].canRetry(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.TimeoutRetryPolicy].canRetry(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.SimpleRetryPolicy].canRetry(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.ExceptionClassifierRetryPolicy$ExceptionClassifierRetryContext].canRetry(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.ExpressionRetryPolicy].canRetry(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.CircuitBreakerRetryPolicy].canRetry(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.CompositeRetryPolicy].canRetry(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.MaxAttemptsRetryPolicy].canRetry(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.NeverRetryPolicy].canRetry(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.ExceptionClassifierRetryPolicy].canRetry(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext].access$000(org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext)"
    - "[org.springframework.retry.RetryPolicy].canRetry(org.springframework.retry.RetryContext)"
    functionUses: 8
    ICount: 12
    EdgeCount: 14
    BranchProfiles:
    - Branch String: "org.springframework.retry.policy.CircuitBreakerRetryPolicy:77"
      Branch Sides:
      - BranchSide: "org.springframework.retry.policy.CircuitBreakerRetryPolicy:82"
        BranchSideFuncs:
        - "incrementShortCircuitCount()"
      - BranchSide: "org.springframework.retry.policy.CircuitBreakerRetryPolicy:81"
        BranchSideFuncs:
        - "access$000(org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext)"
        - "reset()"
        - "canRetry(org.springframework.retry.RetryContext)"
    Callsites:
    - Src: "org.springframework.retry.policy.CircuitBreakerRetryPolicy:77,1"
      Dst: "[org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext].isOpen()"
    - Src: "org.springframework.retry.policy.CircuitBreakerRetryPolicy:78,1"
      Dst: "[org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext].incrementShortCircuitCount()"
    - Src: "org.springframework.retry.policy.CircuitBreakerRetryPolicy:82,1"
      Dst: "[org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext].reset()"
    - Src: "org.springframework.retry.policy.CircuitBreakerRetryPolicy:84,1"
      Dst: "[org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext].access$000(org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext)"
    - Src: "org.springframework.retry.policy.CircuitBreakerRetryPolicy:84,1"
      Dst: "[org.springframework.retry.RetryPolicy].canRetry(org.springframework.retry.RetryContext)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.CircuitBreakerRetryPolicy].open(org.springframework.retry.RetryContext)"
    functionSourceFile: "org.springframework.retry.policy.CircuitBreakerRetryPolicy"
    linkageType: ""
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionDepth: 3
    returnType: "org.springframework.retry.RetryContext"
    argCount: 1
    argTypes:
    - "org.springframework.retry.RetryContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext].<init>(org.springframework.retry.RetryContext,org.springframework.retry.RetryPolicy,long,long)"
    functionUses: 4
    ICount: 8
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.policy.CircuitBreakerRetryPolicy:89,1"
      Dst: "[org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext].<init>(org.springframework.retry.RetryContext,org.springframework.retry.RetryPolicy,long,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.CircuitBreakerRetryPolicy].close(org.springframework.retry.RetryContext)"
    functionSourceFile: "org.springframework.retry.policy.CircuitBreakerRetryPolicy"
    linkageType: ""
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.springframework.retry.RetryContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext].access$000(org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext)"
    - "[org.springframework.retry.policy.CircuitBreakerRetryPolicy].close(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.ExceptionClassifierRetryPolicy].close(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.ExceptionClassifierRetryPolicy$ExceptionClassifierRetryContext].close(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.CompositeRetryPolicy].close(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.BinaryExceptionClassifierRetryPolicy:org.springframework.retry.policy.MaxAttemptsRetryPolicy:org.springframework.retry.policy.NeverRetryPolicy:org.springframework.retry.policy.SimpleRetryPolicy:org.springframework.retry.policy.TimeoutRetryPolicy].close(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.RetryPolicy].close(org.springframework.retry.RetryContext)"
    functionUses: 6
    ICount: 7
    EdgeCount: 6
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.policy.CircuitBreakerRetryPolicy:95,1"
      Dst: "[org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext].access$000(org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext)"
    - Src: "org.springframework.retry.policy.CircuitBreakerRetryPolicy:95,1"
      Dst: "[org.springframework.retry.RetryPolicy].close(org.springframework.retry.RetryContext)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.CircuitBreakerRetryPolicy].registerThrowable(org.springframework.retry.RetryContext,java.lang.Throwable)"
    functionSourceFile: "org.springframework.retry.policy.CircuitBreakerRetryPolicy"
    linkageType: ""
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "org.springframework.retry.RetryContext"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.context.RetryContextSupport].registerThrowable(java.lang.Throwable)"
    - "[org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext].access$000(org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext)"
    - "[org.springframework.retry.policy.CircuitBreakerRetryPolicy].registerThrowable(org.springframework.retry.RetryContext,java.lang.Throwable)"
    - "[org.springframework.retry.policy.ExceptionClassifierRetryPolicy].registerThrowable(org.springframework.retry.RetryContext,java.lang.Throwable)"
    - "[org.springframework.retry.policy.ExceptionClassifierRetryPolicy$ExceptionClassifierRetryContext].registerThrowable(org.springframework.retry.RetryContext,java.lang.Throwable)"
    - "[org.springframework.retry.policy.MaxAttemptsRetryPolicy].registerThrowable(org.springframework.retry.RetryContext,java.lang.Throwable)"
    - "[org.springframework.retry.policy.BinaryExceptionClassifierRetryPolicy].registerThrowable(org.springframework.retry.RetryContext,java.lang.Throwable)"
    - "[org.springframework.retry.policy.TimeoutRetryPolicy].registerThrowable(org.springframework.retry.RetryContext,java.lang.Throwable)"
    - "[org.springframework.retry.policy.SimpleRetryPolicy].registerThrowable(org.springframework.retry.RetryContext,java.lang.Throwable)"
    - "[org.springframework.retry.policy.CompositeRetryPolicy].registerThrowable(org.springframework.retry.RetryContext,java.lang.Throwable)"
    - "[org.springframework.retry.policy.NeverRetryPolicy].registerThrowable(org.springframework.retry.RetryContext,java.lang.Throwable)"
    - "[org.springframework.retry.RetryPolicy].registerThrowable(org.springframework.retry.RetryContext,java.lang.Throwable)"
    functionUses: 5
    ICount: 9
    EdgeCount: 11
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.policy.CircuitBreakerRetryPolicy:101,1"
      Dst: "[org.springframework.retry.context.RetryContextSupport].registerThrowable(java.lang.Throwable)"
    - Src: "org.springframework.retry.policy.CircuitBreakerRetryPolicy:102,1"
      Dst: "[org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext].access$000(org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext)"
    - Src: "org.springframework.retry.policy.CircuitBreakerRetryPolicy:102,1"
      Dst: "[org.springframework.retry.RetryPolicy].registerThrowable(org.springframework.retry.RetryContext,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.classify.util.MethodInvokerUtils].<init>()"
    functionSourceFile: "org.springframework.classify.util.MethodInvokerUtils"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.classify.util.MethodInvokerUtils:40,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.classify.util.MethodInvokerUtils].getMethodInvokerByName(java.lang.Object,java.lang.String,boolean,java.lang.Class[])"
    functionSourceFile: "org.springframework.classify.util.MethodInvokerUtils"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "org.springframework.classify.util.MethodInvoker"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "java.lang.String"
    - "boolean"
    - "java.lang.Class[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.util.Assert].notNull(java.lang.Object,java.lang.String)"
    - "[java.lang.Object].getClass()"
    - "[org.springframework.util.ClassUtils].getMethodIfAvailable(java.lang.Class,java.lang.String,java.lang.Class[])"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.Class].getSimpleName()"
    - "[org.springframework.classify.util.MethodInvokerUtils].getParamTypesString(java.lang.Class[])"
    - "[java.lang.StringBuilder].toString()"
    - "[org.springframework.util.Assert].isTrue(boolean,java.lang.String)"
    - "[org.springframework.classify.util.SimpleMethodInvoker].<init>(java.lang.Object,java.lang.reflect.Method)"
    functionUses: 0
    ICount: 35
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.springframework.classify.util.MethodInvokerUtils:55"
      Branch Sides:
      - BranchSide: "org.springframework.classify.util.MethodInvokerUtils:65"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.classify.util.MethodInvokerUtils:64"
        BranchSideFuncs: []
    - Branch String: "org.springframework.classify.util.MethodInvokerUtils:59"
      Branch Sides:
      - BranchSide: "org.springframework.classify.util.MethodInvokerUtils:56"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.classify.util.MethodInvokerUtils:55"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.springframework.classify.util.MethodInvokerUtils:53,1"
      Dst: "[org.springframework.util.Assert].notNull(java.lang.Object,java.lang.String)"
    - Src: "org.springframework.classify.util.MethodInvokerUtils:54,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "org.springframework.classify.util.MethodInvokerUtils:54,1"
      Dst: "[org.springframework.util.ClassUtils].getMethodIfAvailable(java.lang.Class,java.lang.String,java.lang.Class[])"
    - Src: "org.springframework.classify.util.MethodInvokerUtils:56,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "org.springframework.classify.util.MethodInvokerUtils:56,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "org.springframework.classify.util.MethodInvokerUtils:57,1"
      Dst: "[java.lang.Class].getSimpleName()"
    - Src: "org.springframework.classify.util.MethodInvokerUtils:58,1"
      Dst: "[org.springframework.classify.util.MethodInvokerUtils].getParamTypesString(java.lang.Class[])"
    - Src: "org.springframework.classify.util.MethodInvokerUtils:58,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "org.springframework.classify.util.MethodInvokerUtils:59,1"
      Dst: "[org.springframework.util.Assert].isTrue(boolean,java.lang.String)"
    - Src: "org.springframework.classify.util.MethodInvokerUtils:65,1"
      Dst: "[org.springframework.classify.util.SimpleMethodInvoker].<init>(java.lang.Object,java.lang.reflect.Method)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[org.springframework.classify.util.MethodInvokerUtils].getParamTypesString(java.lang.Class[])"
    functionSourceFile: "org.springframework.classify.util.MethodInvokerUtils"
    linkageType: ""
    functionLinenumber: 73
    functionLinenumberEnd: 82
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.Class[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.Class].getSimpleName()"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 18
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "org.springframework.classify.util.MethodInvokerUtils:75"
      Branch Sides:
      - BranchSide: "org.springframework.classify.util.MethodInvokerUtils:81"
        BranchSideFuncs:
        - "getSimpleName()"
      - BranchSide: "org.springframework.classify.util.MethodInvokerUtils:80"
        BranchSideFuncs:
        - "append(java.lang.String)"
        - "toString()"
    - Branch String: "org.springframework.classify.util.MethodInvokerUtils:77"
      Branch Sides:
      - BranchSide: "org.springframework.classify.util.MethodInvokerUtils:74"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.classify.util.MethodInvokerUtils:73"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
    Callsites:
    - Src: "org.springframework.classify.util.MethodInvokerUtils:74,1"
      Dst: "[java.lang.StringBuilder].<init>(java.lang.String)"
    - Src: "org.springframework.classify.util.MethodInvokerUtils:76,1"
      Dst: "[java.lang.Class].getSimpleName()"
    - Src: "org.springframework.classify.util.MethodInvokerUtils:76,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "org.springframework.classify.util.MethodInvokerUtils:81,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[org.springframework.classify.util.SimpleMethodInvoker].<init>(java.lang.Object,java.lang.reflect.Method)"
    functionSourceFile: "org.springframework.classify.util.SimpleMethodInvoker"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "java.lang.reflect.Method"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[org.springframework.util.Assert].notNull(java.lang.Object,java.lang.String)"
    - "[java.lang.reflect.Method].setAccessible(boolean)"
    - "[java.lang.reflect.Method].getParameterTypes()"
    functionUses: 0
    ICount: 12
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.classify.util.SimpleMethodInvoker:46,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "org.springframework.classify.util.SimpleMethodInvoker:47,1"
      Dst: "[org.springframework.util.Assert].notNull(java.lang.Object,java.lang.String)"
    - Src: "org.springframework.classify.util.SimpleMethodInvoker:50,1"
      Dst: "[java.lang.reflect.Method].setAccessible(boolean)"
    - Src: "org.springframework.classify.util.SimpleMethodInvoker:52,1"
      Dst: "[java.lang.reflect.Method].getParameterTypes()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.classify.util.MethodInvokerUtils].getMethodInvokerForInterface(java.lang.Class,java.lang.String,java.lang.Object,java.lang.Class[])"
    functionSourceFile: "org.springframework.classify.util.MethodInvokerUtils"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "org.springframework.classify.util.MethodInvoker"
    argCount: 4
    argTypes:
    - "java.lang.Class"
    - "java.lang.String"
    - "java.lang.Object"
    - "java.lang.Class[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].getClass()"
    - "[java.lang.Class].isAssignableFrom(java.lang.Class)"
    - "[org.springframework.classify.util.MethodInvokerUtils].getMethodInvokerByName(java.lang.Object,java.lang.String,boolean,java.lang.Class[])"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.springframework.classify.util.MethodInvokerUtils:96"
      Branch Sides:
      - BranchSide: "org.springframework.classify.util.MethodInvokerUtils:100"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.classify.util.MethodInvokerUtils:99"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.springframework.classify.util.MethodInvokerUtils:96,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "org.springframework.classify.util.MethodInvokerUtils:96,1"
      Dst: "[java.lang.Class].isAssignableFrom(java.lang.Class)"
    - Src: "org.springframework.classify.util.MethodInvokerUtils:97,1"
      Dst: "[org.springframework.classify.util.MethodInvokerUtils].getMethodInvokerByName(java.lang.Object,java.lang.String,boolean,java.lang.Class[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.classify.util.MethodInvokerUtils].getMethodInvokerByAnnotation(java.lang.Class,java.lang.Object,java.lang.Class[])"
    functionSourceFile: "org.springframework.classify.util.MethodInvokerUtils"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "org.springframework.classify.util.MethodInvoker"
    argCount: 3
    argTypes:
    - "java.lang.Class"
    - "java.lang.Object"
    - "java.lang.Class[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.classify.util.MethodInvokerUtils].getMethodInvokerByAnnotation(java.lang.Class,java.lang.Object)"
    - "[org.springframework.aop.framework.Advised].getTargetSource()"
    - "[org.springframework.aop.TargetSource].getTargetClass()"
    - "[java.lang.Object].getClass()"
    - "[org.springframework.classify.util.MethodInvokerUtils$1].<init>(java.lang.Class,java.lang.Class,java.lang.Class[])"
    - "[org.springframework.util.ReflectionUtils].doWithMethods(java.lang.Class,org.springframework.util.ReflectionUtils$MethodCallback)"
    functionUses: 0
    ICount: 16
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.springframework.classify.util.MethodInvokerUtils:115"
      Branch Sides:
      - BranchSide: "org.springframework.classify.util.MethodInvokerUtils:116"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.classify.util.MethodInvokerUtils:115"
        BranchSideFuncs: []
    - Branch String: "org.springframework.classify.util.MethodInvokerUtils:117"
      Branch Sides:
      - BranchSide: "org.springframework.classify.util.MethodInvokerUtils:138"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.classify.util.MethodInvokerUtils:137"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.springframework.classify.util.MethodInvokerUtils:114,1"
      Dst: "[org.springframework.classify.util.MethodInvokerUtils].getMethodInvokerByAnnotation(java.lang.Class,java.lang.Object)"
    - Src: "org.springframework.classify.util.MethodInvokerUtils:115,1"
      Dst: "[org.springframework.aop.framework.Advised].getTargetSource()"
    - Src: "org.springframework.classify.util.MethodInvokerUtils:115,1"
      Dst: "[org.springframework.aop.TargetSource].getTargetClass()"
    - Src: "org.springframework.classify.util.MethodInvokerUtils:116,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "org.springframework.classify.util.MethodInvokerUtils:118,1"
      Dst: "[org.springframework.classify.util.MethodInvokerUtils$1].<init>(java.lang.Class,java.lang.Class,java.lang.Class[])"
    - Src: "org.springframework.classify.util.MethodInvokerUtils:118,1"
      Dst: "[org.springframework.util.ReflectionUtils].doWithMethods(java.lang.Class,org.springframework.util.ReflectionUtils$MethodCallback)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[org.springframework.classify.util.MethodInvokerUtils$1].<init>(java.lang.Class,java.lang.Class,java.lang.Class[])"
    functionSourceFile: "org.springframework.classify.util.MethodInvokerUtils$1"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.Class"
    - "java.lang.Class"
    - "java.lang.Class[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.classify.util.MethodInvokerUtils$1:118,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.classify.util.MethodInvokerUtils].getMethodInvokerByAnnotation(java.lang.Class<?\
      \ extends Annotation>,java.lang.Object)"
    functionSourceFile: "org.springframework.classify.util.MethodInvokerUtils"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "org.springframework.classify.util.MethodInvoker"
    argCount: 2
    argTypes:
    - "java.lang.Class<? extends Annotation>"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.util.Assert].notNull(java.lang.Object,java.lang.String)"
    - "[java.lang.Class].getAnnotation(java.lang.Class)"
    - "[java.lang.annotation.Target].value()"
    - "[org.springframework.util.ObjectUtils].containsElement(java.lang.Object[],java.lang.Object)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    - "[org.springframework.util.Assert].isTrue(boolean,java.lang.String)"
    - "[org.springframework.aop.framework.Advised].getTargetSource()"
    - "[org.springframework.aop.TargetSource].getTargetClass()"
    - "[java.lang.Object].getClass()"
    - "[java.util.concurrent.atomic.AtomicReference].<init>()"
    - "[org.springframework.classify.util.MethodInvokerUtils$2].<init>(java.lang.Class,java.util.concurrent.atomic.AtomicReference,java.lang.Class)"
    - "[org.springframework.util.ReflectionUtils].doWithMethods(java.lang.Class,org.springframework.util.ReflectionUtils$MethodCallback)"
    - "[java.util.concurrent.atomic.AtomicReference].get()"
    - "[org.springframework.classify.util.SimpleMethodInvoker].<init>(java.lang.Object,java.lang.reflect.Method)"
    functionUses: 0
    ICount: 39
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.springframework.classify.util.MethodInvokerUtils:156"
      Branch Sides:
      - BranchSide: "org.springframework.classify.util.MethodInvokerUtils:157"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.classify.util.MethodInvokerUtils:156"
        BranchSideFuncs: []
    - Branch String: "org.springframework.classify.util.MethodInvokerUtils:158"
      Branch Sides:
      - BranchSide: "org.springframework.classify.util.MethodInvokerUtils:161"
        BranchSideFuncs: []
    - Branch String: "org.springframework.classify.util.MethodInvokerUtils:175"
      Branch Sides:
      - BranchSide: "org.springframework.classify.util.MethodInvokerUtils:179"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.classify.util.MethodInvokerUtils:178"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.springframework.classify.util.MethodInvokerUtils:151,1"
      Dst: "[org.springframework.util.Assert].notNull(java.lang.Object,java.lang.String)"
    - Src: "org.springframework.classify.util.MethodInvokerUtils:154,1"
      Dst: "[java.lang.Class].getAnnotation(java.lang.Class)"
    - Src: "org.springframework.classify.util.MethodInvokerUtils:154,1"
      Dst: "[java.lang.annotation.Target].value()"
    - Src: "org.springframework.classify.util.MethodInvokerUtils:154,1"
      Dst: "[org.springframework.util.ObjectUtils].containsElement(java.lang.Object[],java.lang.Object)"
    - Src: "org.springframework.classify.util.MethodInvokerUtils:154,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "org.springframework.classify.util.MethodInvokerUtils:154,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "org.springframework.classify.util.MethodInvokerUtils:154,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "org.springframework.classify.util.MethodInvokerUtils:154,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "org.springframework.classify.util.MethodInvokerUtils:153,1"
      Dst: "[org.springframework.util.Assert].isTrue(boolean,java.lang.String)"
    - Src: "org.springframework.classify.util.MethodInvokerUtils:156,1"
      Dst: "[org.springframework.aop.framework.Advised].getTargetSource()"
    - Src: "org.springframework.classify.util.MethodInvokerUtils:156,1"
      Dst: "[org.springframework.aop.TargetSource].getTargetClass()"
    - Src: "org.springframework.classify.util.MethodInvokerUtils:157,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "org.springframework.classify.util.MethodInvokerUtils:162,1"
      Dst: "[java.util.concurrent.atomic.AtomicReference].<init>()"
    - Src: "org.springframework.classify.util.MethodInvokerUtils:163,1"
      Dst: "[org.springframework.classify.util.MethodInvokerUtils$2].<init>(java.lang.Class,java.util.concurrent.atomic.AtomicReference,java.lang.Class)"
    - Src: "org.springframework.classify.util.MethodInvokerUtils:163,1"
      Dst: "[org.springframework.util.ReflectionUtils].doWithMethods(java.lang.Class,org.springframework.util.ReflectionUtils$MethodCallback)"
    - Src: "org.springframework.classify.util.MethodInvokerUtils:174,1"
      Dst: "[java.util.concurrent.atomic.AtomicReference].get()"
    - Src: "org.springframework.classify.util.MethodInvokerUtils:179,1"
      Dst: "[org.springframework.classify.util.SimpleMethodInvoker].<init>(java.lang.Object,java.lang.reflect.Method)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 8
    CyclomaticComplexity: 2
  - functionName: "[org.springframework.classify.util.MethodInvokerUtils$2].<init>(java.lang.Class,java.util.concurrent.atomic.AtomicReference,java.lang.Class)"
    functionSourceFile: "org.springframework.classify.util.MethodInvokerUtils$2"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.Class"
    - "java.util.concurrent.atomic.AtomicReference"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.classify.util.MethodInvokerUtils$2:163,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.classify.util.MethodInvokerUtils].getMethodInvokerForSingleArgument(java.lang.Object)"
    functionSourceFile: "org.springframework.classify.util.MethodInvokerUtils"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "org.springframework.classify.util.MethodInvoker"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.atomic.AtomicReference].<init>()"
    - "[java.lang.Object].getClass()"
    - "[org.springframework.classify.util.MethodInvokerUtils$3].<init>(java.util.concurrent.atomic.AtomicReference)"
    - "[org.springframework.util.ReflectionUtils].doWithMethods(java.lang.Class,org.springframework.util.ReflectionUtils$MethodCallback)"
    - "[java.util.concurrent.atomic.AtomicReference].get()"
    - "[org.springframework.classify.util.SimpleMethodInvoker].<init>(java.lang.Object,java.lang.reflect.Method)"
    functionUses: 0
    ICount: 12
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.classify.util.MethodInvokerUtils:191,1"
      Dst: "[java.util.concurrent.atomic.AtomicReference].<init>()"
    - Src: "org.springframework.classify.util.MethodInvokerUtils:192,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "org.springframework.classify.util.MethodInvokerUtils:192,1"
      Dst: "[org.springframework.classify.util.MethodInvokerUtils$3].<init>(java.util.concurrent.atomic.AtomicReference)"
    - Src: "org.springframework.classify.util.MethodInvokerUtils:192,1"
      Dst: "[org.springframework.util.ReflectionUtils].doWithMethods(java.lang.Class,org.springframework.util.ReflectionUtils$MethodCallback)"
    - Src: "org.springframework.classify.util.MethodInvokerUtils:208,1"
      Dst: "[java.util.concurrent.atomic.AtomicReference].get()"
    - Src: "org.springframework.classify.util.MethodInvokerUtils:209,1"
      Dst: "[org.springframework.classify.util.SimpleMethodInvoker].<init>(java.lang.Object,java.lang.reflect.Method)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.NeverRetryPolicy].<init>()"
    functionSourceFile: "org.springframework.retry.policy.NeverRetryPolicy"
    linkageType: ""
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.policy.NeverRetryPolicy:31,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.NeverRetryPolicy].canRetry(org.springframework.retry.RetryContext)"
    functionSourceFile: "org.springframework.retry.policy.NeverRetryPolicy"
    linkageType: ""
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "org.springframework.retry.RetryContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.policy.NeverRetryPolicy$NeverRetryContext].isFinished()"
    functionUses: 8
    ICount: 9
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.springframework.retry.policy.NeverRetryPolicy:40"
      Branch Sides:
      - BranchSide: "org.springframework.retry.policy.NeverRetryPolicy:39"
        BranchSideFuncs:
        - "isFinished()"
    Callsites:
    - Src: "org.springframework.retry.policy.NeverRetryPolicy:40,1"
      Dst: "[org.springframework.retry.policy.NeverRetryPolicy$NeverRetryContext].isFinished()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[org.springframework.retry.policy.NeverRetryPolicy].close(org.springframework.retry.RetryContext)"
    functionSourceFile: "org.springframework.retry.policy.NeverRetryPolicy"
    linkageType: ""
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.springframework.retry.RetryContext"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 6
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.NeverRetryPolicy].open(org.springframework.retry.RetryContext)"
    functionSourceFile: "org.springframework.retry.policy.NeverRetryPolicy"
    linkageType: ""
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionDepth: 2
    returnType: "org.springframework.retry.RetryContext"
    argCount: 1
    argTypes:
    - "org.springframework.retry.RetryContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.policy.NeverRetryPolicy$NeverRetryContext].<init>(org.springframework.retry.RetryContext)"
    functionUses: 4
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.policy.NeverRetryPolicy:59,1"
      Dst: "[org.springframework.retry.policy.NeverRetryPolicy$NeverRetryContext].<init>(org.springframework.retry.RetryContext)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.NeverRetryPolicy].registerThrowable(org.springframework.retry.RetryContext,java.lang.Throwable)"
    functionSourceFile: "org.springframework.retry.policy.NeverRetryPolicy"
    linkageType: ""
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "org.springframework.retry.RetryContext"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.policy.NeverRetryPolicy$NeverRetryContext].setFinished()"
    - "[org.springframework.retry.context.RetryContextSupport].registerThrowable(java.lang.Throwable)"
    functionUses: 5
    ICount: 8
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.policy.NeverRetryPolicy:68,1"
      Dst: "[org.springframework.retry.policy.NeverRetryPolicy$NeverRetryContext].setFinished()"
    - Src: "org.springframework.retry.policy.NeverRetryPolicy:69,1"
      Dst: "[org.springframework.retry.context.RetryContextSupport].registerThrowable(java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.classify.BinaryExceptionClassifier].builder()"
    functionSourceFile: "org.springframework.classify.BinaryExceptionClassifier"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "org.springframework.classify.BinaryExceptionClassifierBuilder"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.classify.BinaryExceptionClassifierBuilder].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.classify.BinaryExceptionClassifier:40,1"
      Dst: "[org.springframework.classify.BinaryExceptionClassifierBuilder].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.classify.BinaryExceptionClassifier].defaultClassifier()"
    functionSourceFile: "org.springframework.classify.BinaryExceptionClassifier"
    linkageType: ""
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionDepth: 2
    returnType: "org.springframework.classify.BinaryExceptionClassifier"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.classify.BinaryExceptionClassifier].<init>(java.util.Map,boolean)"
    - "[java.util.Collections].singletonMap(java.lang.Object,java.lang.Object)"
    - "[java.lang.Boolean].valueOf(boolean)"
    functionUses: 2
    ICount: 5
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.classify.BinaryExceptionClassifier:46,1"
      Dst: "[java.lang.Boolean].valueOf(boolean)"
    - Src: "org.springframework.classify.BinaryExceptionClassifier:46,1"
      Dst: "[java.util.Collections].singletonMap(java.lang.Object,java.lang.Object)"
    - Src: "org.springframework.classify.BinaryExceptionClassifier:46,1"
      Dst: "[org.springframework.classify.BinaryExceptionClassifier].<init>(java.util.Map,boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.classify.BinaryExceptionClassifier].<init>(java.util.Map,boolean)"
    functionSourceFile: "org.springframework.classify.BinaryExceptionClassifier"
    linkageType: ""
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.util.Map"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.classify.SubclassClassifier].<init>(java.util.Map,java.lang.Object)"
    - "[java.lang.Boolean].valueOf(boolean)"
    functionUses: 2
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.classify.BinaryExceptionClassifier:100,1"
      Dst: "[java.lang.Boolean].valueOf(boolean)"
    - Src: "org.springframework.classify.BinaryExceptionClassifier:100,1"
      Dst: "[org.springframework.classify.SubclassClassifier].<init>(java.util.Map,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.classify.BinaryExceptionClassifier].<init>(java.util.Collection)"
    functionSourceFile: "org.springframework.classify.BinaryExceptionClassifier"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.util.Collection"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.classify.BinaryExceptionClassifier].<init>(java.util.Collection,boolean)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.classify.BinaryExceptionClassifier:81,1"
      Dst: "[org.springframework.classify.BinaryExceptionClassifier].<init>(java.util.Collection,boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.classify.BinaryExceptionClassifier].<init>(java.util.Map)"
    functionSourceFile: "org.springframework.classify.BinaryExceptionClassifier"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.util.Map"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.classify.BinaryExceptionClassifier].<init>(java.util.Map,boolean)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.classify.BinaryExceptionClassifier:90,1"
      Dst: "[org.springframework.classify.BinaryExceptionClassifier].<init>(java.util.Map,boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.classify.BinaryExceptionClassifier].<init>(java.util.Map,boolean,boolean)"
    functionSourceFile: "org.springframework.classify.BinaryExceptionClassifier"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.util.Map"
    - "boolean"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Boolean].valueOf(boolean)"
    - "[org.springframework.classify.SubclassClassifier].<init>(java.util.Map,java.lang.Object)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.classify.BinaryExceptionClassifier:112,1"
      Dst: "[java.lang.Boolean].valueOf(boolean)"
    - Src: "org.springframework.classify.BinaryExceptionClassifier:112,1"
      Dst: "[org.springframework.classify.SubclassClassifier].<init>(java.util.Map,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.classify.BinaryExceptionClassifier].classify(java.lang.Object)"
    functionSourceFile: "org.springframework.classify.BinaryExceptionClassifier"
    linkageType: ""
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionDepth: 2
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.classify.BinaryExceptionClassifier].classify(java.lang.Throwable)"
    functionUses: 5
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.classify.BinaryExceptionClassifier:34,1"
      Dst: "[org.springframework.classify.BinaryExceptionClassifier].classify(java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.support.RetrySimulator].<init>(org.springframework.retry.backoff.SleepingBackOffPolicy,org.springframework.retry.RetryPolicy)"
    functionSourceFile: "org.springframework.retry.support.RetrySimulator"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "org.springframework.retry.backoff.SleepingBackOffPolicy"
    - "org.springframework.retry.RetryPolicy"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.support.RetrySimulator:55,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.support.RetrySimulator].executeSimulation(int)"
    functionSourceFile: "org.springframework.retry.support.RetrySimulator"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 7
    returnType: "org.springframework.retry.support.RetrySimulation"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.support.RetrySimulation].<init>()"
    - "[org.springframework.retry.support.RetrySimulator].executeSingleSimulation()"
    - "[org.springframework.retry.support.RetrySimulation].addSequence(java.util.List)"
    functionUses: 0
    ICount: 11
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.springframework.retry.support.RetrySimulator:68"
      Branch Sides:
      - BranchSide: "org.springframework.retry.support.RetrySimulator:70"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.springframework.retry.support.RetrySimulator:66,1"
      Dst: "[org.springframework.retry.support.RetrySimulation].<init>()"
    - Src: "org.springframework.retry.support.RetrySimulator:69,1"
      Dst: "[org.springframework.retry.support.RetrySimulator].executeSingleSimulation()"
    - Src: "org.springframework.retry.support.RetrySimulator:69,1"
      Dst: "[org.springframework.retry.support.RetrySimulation].addSequence(java.util.List)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[org.springframework.retry.support.RetrySimulation].<init>()"
    functionSourceFile: "org.springframework.retry.support.RetrySimulation"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.util.ArrayList].<init>()"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.support.RetrySimulation:32,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "org.springframework.retry.support.RetrySimulation:28,1"
      Dst: "[java.util.ArrayList].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.support.RetrySimulator].executeSingleSimulation()"
    functionSourceFile: "org.springframework.retry.support.RetrySimulator"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.support.RetrySimulator$StealingSleeper].<init>()"
    - "[org.springframework.retry.backoff.SleepingBackOffPolicy].withSleeper(org.springframework.retry.backoff.Sleeper)"
    - "[org.springframework.retry.support.RetryTemplate].<init>()"
    - "[org.springframework.retry.support.RetryTemplate].setBackOffPolicy(org.springframework.retry.backoff.BackOffPolicy)"
    - "[org.springframework.retry.support.RetryTemplate].setRetryPolicy(org.springframework.retry.RetryPolicy)"
    - "[org.springframework.retry.support.RetrySimulator$FailingRetryCallback].<init>()"
    - "[org.springframework.retry.support.RetryTemplate].execute(org.springframework.retry.RetryCallback)"
    - "[java.lang.RuntimeException].<init>(java.lang.String,java.lang.Throwable)"
    - "[org.springframework.retry.support.RetrySimulator$StealingSleeper].getSleeps()"
    functionUses: 0
    ICount: 22
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.support.RetrySimulator:79,1"
      Dst: "[org.springframework.retry.support.RetrySimulator$StealingSleeper].<init>()"
    - Src: "org.springframework.retry.support.RetrySimulator:80,1"
      Dst: "[org.springframework.retry.backoff.SleepingBackOffPolicy].withSleeper(org.springframework.retry.backoff.Sleeper)"
    - Src: "org.springframework.retry.support.RetrySimulator:82,1"
      Dst: "[org.springframework.retry.support.RetryTemplate].<init>()"
    - Src: "org.springframework.retry.support.RetrySimulator:83,1"
      Dst: "[org.springframework.retry.support.RetryTemplate].setBackOffPolicy(org.springframework.retry.backoff.BackOffPolicy)"
    - Src: "org.springframework.retry.support.RetrySimulator:84,1"
      Dst: "[org.springframework.retry.support.RetryTemplate].setRetryPolicy(org.springframework.retry.RetryPolicy)"
    - Src: "org.springframework.retry.support.RetrySimulator:87,1"
      Dst: "[org.springframework.retry.support.RetrySimulator$FailingRetryCallback].<init>()"
    - Src: "org.springframework.retry.support.RetrySimulator:87,1"
      Dst: "[org.springframework.retry.support.RetryTemplate].execute(org.springframework.retry.RetryCallback)"
    - Src: "org.springframework.retry.support.RetrySimulator:93,1"
      Dst: "[java.lang.RuntimeException].<init>(java.lang.String,java.lang.Throwable)"
    - Src: "org.springframework.retry.support.RetrySimulator:96,1"
      Dst: "[org.springframework.retry.support.RetrySimulator$StealingSleeper].getSleeps()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.support.RetrySimulator$StealingSleeper].<init>()"
    functionSourceFile: "org.springframework.retry.support.RetrySimulator$StealingSleeper"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.util.ArrayList].<init>()"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.support.RetrySimulator$StealingSleeper:113,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "org.springframework.retry.support.RetrySimulator$StealingSleeper:115,1"
      Dst: "[java.util.ArrayList].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.support.RetryTemplate].<init>()"
    functionSourceFile: "org.springframework.retry.support.RetryTemplate"
    linkageType: ""
    functionLinenumber: 78
    functionLinenumberEnd: 96
    functionDepth: 5
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.lang.Object].getClass()"
    - "[org.apache.commons.logging.LogFactory].getLog(java.lang.Class)"
    - "[org.springframework.retry.backoff.NoBackOffPolicy].<init>()"
    - "[org.springframework.retry.policy.SimpleRetryPolicy].<init>(int)"
    - "[org.springframework.retry.policy.MapRetryContextCache].<init>()"
    functionUses: 4
    ICount: 17
    EdgeCount: 6
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.support.RetryTemplate:79,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "org.springframework.retry.support.RetryTemplate:87,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "org.springframework.retry.support.RetryTemplate:87,1"
      Dst: "[org.apache.commons.logging.LogFactory].getLog(java.lang.Class)"
    - Src: "org.springframework.retry.support.RetryTemplate:89,1"
      Dst: "[org.springframework.retry.backoff.NoBackOffPolicy].<init>()"
    - Src: "org.springframework.retry.support.RetryTemplate:91,1"
      Dst: "[org.springframework.retry.policy.SimpleRetryPolicy].<init>(int)"
    - Src: "org.springframework.retry.support.RetryTemplate:95,1"
      Dst: "[org.springframework.retry.policy.MapRetryContextCache].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.backoff.NoBackOffPolicy].<init>()"
    functionSourceFile: "org.springframework.retry.backoff.NoBackOffPolicy"
    linkageType: ""
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.backoff.StatelessBackOffPolicy].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.backoff.NoBackOffPolicy:26,1"
      Dst: "[org.springframework.retry.backoff.StatelessBackOffPolicy].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.MapRetryContextCache].<init>()"
    functionSourceFile: "org.springframework.retry.policy.MapRetryContextCache"
    linkageType: ""
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.policy.MapRetryContextCache].<init>(int)"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.policy.MapRetryContextCache:47,1"
      Dst: "[org.springframework.retry.policy.MapRetryContextCache].<init>(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.MapRetryContextCache].<init>(int)"
    functionSourceFile: "org.springframework.retry.policy.MapRetryContextCache"
    linkageType: ""
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.HashMap].<init>()"
    - "[java.util.Collections].synchronizedMap(java.util.Map)"
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 9
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.policy.MapRetryContextCache:54,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "org.springframework.retry.policy.MapRetryContextCache:39,1"
      Dst: "[java.util.HashMap].<init>()"
    - Src: "org.springframework.retry.policy.MapRetryContextCache:39,1"
      Dst: "[java.util.Collections].synchronizedMap(java.util.Map)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.support.RetryTemplate].setBackOffPolicy(org.springframework.retry.backoff.BackOffPolicy)"
    functionSourceFile: "org.springframework.retry.support.RetryTemplate"
    linkageType: ""
    functionLinenumber: 185
    functionLinenumberEnd: 188
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.springframework.retry.backoff.BackOffPolicy"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.support.RetryTemplate].setRetryPolicy(org.springframework.retry.RetryPolicy)"
    functionSourceFile: "org.springframework.retry.support.RetryTemplate"
    linkageType: ""
    functionLinenumber: 193
    functionLinenumberEnd: 196
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.springframework.retry.RetryPolicy"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 4
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.support.RetrySimulator$FailingRetryCallback].<init>()"
    functionSourceFile: "org.springframework.retry.support.RetrySimulator$FailingRetryCallback"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.support.RetrySimulator$FailingRetryCallback:99,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.support.RetrySimulator$StealingSleeper].getSleeps()"
    functionSourceFile: "org.springframework.retry.support.RetrySimulator$StealingSleeper"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.support.RetrySimulation].addSequence(java.util.List<Long>)"
    functionSourceFile: "org.springframework.retry.support.RetrySimulation"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.util.List<Long>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.List].addAll(java.util.Collection)"
    - "[org.springframework.retry.support.RetrySimulation$SleepSequence].<init>(java.util.List)"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.support.RetrySimulation:40,1"
      Dst: "[java.util.List].addAll(java.util.Collection)"
    - Src: "org.springframework.retry.support.RetrySimulation:41,1"
      Dst: "[org.springframework.retry.support.RetrySimulation$SleepSequence].<init>(java.util.List)"
    - Src: "org.springframework.retry.support.RetrySimulation:41,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.support.RetrySimulation$SleepSequence].<init>(java.util.List)"
    functionSourceFile: "org.springframework.retry.support.RetrySimulation$SleepSequence"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.util.List"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.util.Collections].max(java.util.Collection)"
    - "[java.lang.Long].longValue()"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    functionUses: 0
    ICount: 19
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.springframework.retry.support.RetrySimulation$SleepSequence:92"
      Branch Sides:
      - BranchSide: "org.springframework.retry.support.RetrySimulation$SleepSequence:95"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.support.RetrySimulation$SleepSequence:94"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.springframework.retry.support.RetrySimulation$SleepSequence:88,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "org.springframework.retry.support.RetrySimulation$SleepSequence:90,1"
      Dst: "[java.util.Collections].max(java.util.Collection)"
    - Src: "org.springframework.retry.support.RetrySimulation$SleepSequence:90,1"
      Dst: "[java.lang.Long].longValue()"
    - Src: "org.springframework.retry.support.RetrySimulation$SleepSequence:92,1"
      Dst: "[java.util.List].iterator()"
    - Src: "org.springframework.retry.support.RetrySimulation$SleepSequence:92,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "org.springframework.retry.support.RetrySimulation$SleepSequence:92,1"
      Dst: "[java.util.Iterator].next()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[org.springframework.retry.support.RetrySimulation].getPercentiles()"
    functionSourceFile: "org.springframework.retry.support.RetrySimulation"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].<init>()"
    - "[org.springframework.retry.support.RetrySimulation].getPercentile(double)"
    - "[java.lang.Double].valueOf(double)"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 0
    ICount: 24
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.springframework.retry.support.RetrySimulation:50"
      Branch Sides:
      - BranchSide: "org.springframework.retry.support.RetrySimulation:52"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.springframework.retry.support.RetrySimulation:49,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "org.springframework.retry.support.RetrySimulation:51,1"
      Dst: "[org.springframework.retry.support.RetrySimulation].getPercentile(double)"
    - Src: "org.springframework.retry.support.RetrySimulation:51,1"
      Dst: "[java.lang.Double].valueOf(double)"
    - Src: "org.springframework.retry.support.RetrySimulation:51,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[org.springframework.retry.support.RetrySimulation].getPercentile(double)"
    functionSourceFile: "org.springframework.retry.support.RetrySimulation"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "double"
    argCount: 1
    argTypes:
    - "double"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Collections].sort(java.util.List)"
    - "[java.util.List].size()"
    - "[java.util.List].get(int)"
    - "[java.lang.Long].longValue()"
    functionUses: 0
    ICount: 28
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.support.RetrySimulation:57,1"
      Dst: "[java.util.Collections].sort(java.util.List)"
    - Src: "org.springframework.retry.support.RetrySimulation:58,1"
      Dst: "[java.util.List].size()"
    - Src: "org.springframework.retry.support.RetrySimulation:63,1"
      Dst: "[java.util.List].get(int)"
    - Src: "org.springframework.retry.support.RetrySimulation:63,1"
      Dst: "[java.lang.Long].longValue()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.support.RetrySimulation].getLongestTotalSleepSequence()"
    functionSourceFile: "org.springframework.retry.support.RetrySimulation"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "org.springframework.retry.support.RetrySimulation$SleepSequence"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[org.springframework.retry.support.RetrySimulation$SleepSequence].getTotalSleep()"
    functionUses: 0
    ICount: 17
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.springframework.retry.support.RetrySimulation:72"
      Branch Sides:
      - BranchSide: "org.springframework.retry.support.RetrySimulation:77"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.support.RetrySimulation:76"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.support.RetrySimulation:73"
      Branch Sides:
      - BranchSide: "org.springframework.retry.support.RetrySimulation:74"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.support.RetrySimulation:73"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.support.RetrySimulation:73"
      Branch Sides:
      - BranchSide: "org.springframework.retry.support.RetrySimulation:76"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.support.RetrySimulation:75"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.springframework.retry.support.RetrySimulation:72,1"
      Dst: "[java.util.List].iterator()"
    - Src: "org.springframework.retry.support.RetrySimulation:72,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "org.springframework.retry.support.RetrySimulation:72,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "org.springframework.retry.support.RetrySimulation:73,1"
      Dst: "[org.springframework.retry.support.RetrySimulation$SleepSequence].getTotalSleep()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 7
    CyclomaticComplexity: 4
  - functionName: "[org.springframework.retry.support.RetrySimulation$SleepSequence].getTotalSleep()"
    functionSourceFile: "org.springframework.retry.support.RetrySimulation$SleepSequence"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.MaxAttemptsRetryPolicy].<init>()"
    functionSourceFile: "org.springframework.retry.policy.MaxAttemptsRetryPolicy"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.policy.MaxAttemptsRetryPolicy:50,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.MaxAttemptsRetryPolicy].<init>(int)"
    functionSourceFile: "org.springframework.retry.policy.MaxAttemptsRetryPolicy"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.policy.MaxAttemptsRetryPolicy:59,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.MaxAttemptsRetryPolicy].setMaxAttempts(int)"
    functionSourceFile: "org.springframework.retry.policy.MaxAttemptsRetryPolicy"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.MaxAttemptsRetryPolicy].getMaxAttempts()"
    functionSourceFile: "org.springframework.retry.policy.MaxAttemptsRetryPolicy"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.MaxAttemptsRetryPolicy].canRetry(org.springframework.retry.RetryContext)"
    functionSourceFile: "org.springframework.retry.policy.MaxAttemptsRetryPolicy"
    linkageType: ""
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "org.springframework.retry.RetryContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext].getRetryCount()"
    - "[org.springframework.retry.context.RetryContextSupport].getRetryCount()"
    - "[org.springframework.retry.RetryContext].getRetryCount()"
    functionUses: 8
    ICount: 9
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "org.springframework.retry.policy.MaxAttemptsRetryPolicy:90"
      Branch Sides:
      - BranchSide: "org.springframework.retry.policy.MaxAttemptsRetryPolicy:89"
        BranchSideFuncs:
        - "getRetryCount()"
    Callsites:
    - Src: "org.springframework.retry.policy.MaxAttemptsRetryPolicy:90,1"
      Dst: "[org.springframework.retry.RetryContext].getRetryCount()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[org.springframework.retry.policy.MaxAttemptsRetryPolicy].close(org.springframework.retry.RetryContext)"
    functionSourceFile: "org.springframework.retry.policy.MaxAttemptsRetryPolicy"
    linkageType: ""
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.springframework.retry.RetryContext"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 6
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.MaxAttemptsRetryPolicy].registerThrowable(org.springframework.retry.RetryContext,java.lang.Throwable)"
    functionSourceFile: "org.springframework.retry.policy.MaxAttemptsRetryPolicy"
    linkageType: ""
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "org.springframework.retry.RetryContext"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.context.RetryContextSupport].registerThrowable(java.lang.Throwable)"
    functionUses: 5
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.policy.MaxAttemptsRetryPolicy:104,1"
      Dst: "[org.springframework.retry.context.RetryContextSupport].registerThrowable(java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.MaxAttemptsRetryPolicy].open(org.springframework.retry.RetryContext)"
    functionSourceFile: "org.springframework.retry.policy.MaxAttemptsRetryPolicy"
    linkageType: ""
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionDepth: 1
    returnType: "org.springframework.retry.RetryContext"
    argCount: 1
    argTypes:
    - "org.springframework.retry.RetryContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.context.RetryContextSupport].<init>(org.springframework.retry.RetryContext)"
    functionUses: 4
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.policy.MaxAttemptsRetryPolicy:115,1"
      Dst: "[org.springframework.retry.context.RetryContextSupport].<init>(org.springframework.retry.RetryContext)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.backoff.UniformRandomBackOffPolicy].<init>()"
    functionSourceFile: "org.springframework.retry.backoff.UniformRandomBackOffPolicy"
    linkageType: ""
    functionLinenumber: 32
    functionLinenumberEnd: 53
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.backoff.StatelessBackOffPolicy].<init>()"
    - "[java.util.Random].<init>(long)"
    - "[java.lang.System].currentTimeMillis()"
    - "[org.springframework.retry.backoff.ThreadWaitSleeper].<init>()"
    functionUses: 1
    ICount: 12
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.backoff.UniformRandomBackOffPolicy:33,1"
      Dst: "[org.springframework.retry.backoff.StatelessBackOffPolicy].<init>()"
    - Src: "org.springframework.retry.backoff.UniformRandomBackOffPolicy:50,1"
      Dst: "[java.lang.System].currentTimeMillis()"
    - Src: "org.springframework.retry.backoff.UniformRandomBackOffPolicy:50,1"
      Dst: "[java.util.Random].<init>(long)"
    - Src: "org.springframework.retry.backoff.UniformRandomBackOffPolicy:52,1"
      Dst: "[org.springframework.retry.backoff.ThreadWaitSleeper].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.backoff.UniformRandomBackOffPolicy].withSleeper(org.springframework.retry.backoff.Sleeper)"
    functionSourceFile: "org.springframework.retry.backoff.UniformRandomBackOffPolicy"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "org.springframework.retry.backoff.UniformRandomBackOffPolicy"
    argCount: 1
    argTypes:
    - "org.springframework.retry.backoff.Sleeper"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.backoff.UniformRandomBackOffPolicy].<init>()"
    - "[org.springframework.retry.backoff.UniformRandomBackOffPolicy].setMinBackOffPeriod(long)"
    - "[org.springframework.retry.backoff.UniformRandomBackOffPolicy].setMaxBackOffPeriod(long)"
    - "[org.springframework.retry.backoff.UniformRandomBackOffPolicy].setSleeper(org.springframework.retry.backoff.Sleeper)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.backoff.UniformRandomBackOffPolicy:55,1"
      Dst: "[org.springframework.retry.backoff.UniformRandomBackOffPolicy].<init>()"
    - Src: "org.springframework.retry.backoff.UniformRandomBackOffPolicy:56,1"
      Dst: "[org.springframework.retry.backoff.UniformRandomBackOffPolicy].setMinBackOffPeriod(long)"
    - Src: "org.springframework.retry.backoff.UniformRandomBackOffPolicy:57,1"
      Dst: "[org.springframework.retry.backoff.UniformRandomBackOffPolicy].setMaxBackOffPeriod(long)"
    - Src: "org.springframework.retry.backoff.UniformRandomBackOffPolicy:58,1"
      Dst: "[org.springframework.retry.backoff.UniformRandomBackOffPolicy].setSleeper(org.springframework.retry.backoff.Sleeper)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.backoff.ThreadWaitSleeper].<init>()"
    functionSourceFile: "org.springframework.retry.backoff.ThreadWaitSleeper"
    linkageType: ""
    functionLinenumber: 26
    functionLinenumberEnd: 28
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 3
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.backoff.ThreadWaitSleeper:27,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.backoff.UniformRandomBackOffPolicy].setMinBackOffPeriod(long)"
    functionSourceFile: "org.springframework.retry.backoff.UniformRandomBackOffPolicy"
    linkageType: ""
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.springframework.retry.backoff.UniformRandomBackOffPolicy:76"
      Branch Sides:
      - BranchSide: "org.springframework.retry.backoff.UniformRandomBackOffPolicy:76"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.backoff.UniformRandomBackOffPolicy:75"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[org.springframework.retry.backoff.UniformRandomBackOffPolicy].setMaxBackOffPeriod(long)"
    functionSourceFile: "org.springframework.retry.backoff.UniformRandomBackOffPolicy"
    linkageType: ""
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.springframework.retry.backoff.UniformRandomBackOffPolicy:93"
      Branch Sides:
      - BranchSide: "org.springframework.retry.backoff.UniformRandomBackOffPolicy:93"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.backoff.UniformRandomBackOffPolicy:92"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[org.springframework.retry.backoff.UniformRandomBackOffPolicy].setSleeper(org.springframework.retry.backoff.Sleeper)"
    functionSourceFile: "org.springframework.retry.backoff.UniformRandomBackOffPolicy"
    linkageType: ""
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.springframework.retry.backoff.Sleeper"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.backoff.UniformRandomBackOffPolicy].getMinBackOffPeriod()"
    functionSourceFile: "org.springframework.retry.backoff.UniformRandomBackOffPolicy"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.backoff.UniformRandomBackOffPolicy].getMaxBackOffPeriod()"
    functionSourceFile: "org.springframework.retry.backoff.UniformRandomBackOffPolicy"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.backoff.UniformRandomBackOffPolicy].doBackOff()"
    functionSourceFile: "org.springframework.retry.backoff.UniformRandomBackOffPolicy"
    linkageType: ""
    functionLinenumber: 109
    functionLinenumberEnd: 118
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Random].nextInt(int)"
    - "[org.springframework.retry.support.RetrySimulator$StealingSleeper].sleep(long)"
    - "[org.springframework.retry.backoff.ThreadWaitSleeper].sleep(long)"
    - "[org.springframework.retry.backoff.ObjectWaitSleeper].sleep(long)"
    - "[org.springframework.retry.backoff.BackOffInterruptedException].<init>(java.lang.String,java.lang.Throwable)"
    - "[org.springframework.retry.backoff.Sleeper].sleep(long)"
    functionUses: 1
    ICount: 24
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "org.springframework.retry.backoff.UniformRandomBackOffPolicy:110"
      Branch Sides: []
    Callsites:
    - Src: "org.springframework.retry.backoff.UniformRandomBackOffPolicy:111,1"
      Dst: "[java.util.Random].nextInt(int)"
    - Src: "org.springframework.retry.backoff.UniformRandomBackOffPolicy:112,1"
      Dst: "[org.springframework.retry.backoff.Sleeper].sleep(long)"
    - Src: "org.springframework.retry.backoff.UniformRandomBackOffPolicy:115,1"
      Dst: "[org.springframework.retry.backoff.BackOffInterruptedException].<init>(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions:
      - "org.springframework.retry.backoff.BackOffInterruptedException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.backoff.BackOffInterruptedException].<init>(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "org.springframework.retry.backoff.BackOffInterruptedException"
    linkageType: ""
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.RetryException].<init>(java.lang.String,java.lang.Throwable)"
    functionUses: 3
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.backoff.BackOffInterruptedException:37,1"
      Dst: "[org.springframework.retry.RetryException].<init>(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.backoff.UniformRandomBackOffPolicy].toString()"
    functionSourceFile: "org.springframework.retry.backoff.UniformRandomBackOffPolicy"
    linkageType: ""
    functionLinenumber: 119
    functionLinenumberEnd: 121
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.StringBuilder].append(long)"
    functionUses: 32
    ICount: 12
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.backoff.UniformRandomBackOffPolicy:120,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "org.springframework.retry.backoff.UniformRandomBackOffPolicy:120,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "org.springframework.retry.backoff.UniformRandomBackOffPolicy:120,1"
      Dst: "[java.lang.StringBuilder].append(long)"
    - Src: "org.springframework.retry.backoff.UniformRandomBackOffPolicy:120,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.stats.DefaultStatisticsRepository].<init>()"
    functionSourceFile: "org.springframework.retry.stats.DefaultStatisticsRepository"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.util.concurrent.ConcurrentHashMap].<init>()"
    - "[org.springframework.retry.stats.DefaultRetryStatisticsFactory].<init>()"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.stats.DefaultStatisticsRepository:29,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "org.springframework.retry.stats.DefaultStatisticsRepository:31,1"
      Dst: "[java.util.concurrent.ConcurrentHashMap].<init>()"
    - Src: "org.springframework.retry.stats.DefaultStatisticsRepository:33,1"
      Dst: "[org.springframework.retry.stats.DefaultRetryStatisticsFactory].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.stats.DefaultStatisticsRepository].setRetryStatisticsFactory(org.springframework.retry.stats.RetryStatisticsFactory)"
    functionSourceFile: "org.springframework.retry.stats.DefaultStatisticsRepository"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.springframework.retry.stats.RetryStatisticsFactory"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.stats.DefaultStatisticsRepository].findOne(java.lang.String)"
    functionSourceFile: "org.springframework.retry.stats.DefaultStatisticsRepository"
    linkageType: ""
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionDepth: 0
    returnType: "org.springframework.retry.RetryStatistics"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.util.ConcurrentReferenceHashMap].get(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentHashMap:java.util.concurrent.ConcurrentSkipListMap:java.util.concurrent.ConcurrentSkipListMap$SubMap].get(java.lang.Object)"
    - "[java.util.Map].get(java.lang.Object)"
    functionUses: 1
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.stats.DefaultStatisticsRepository:41,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.stats.DefaultStatisticsRepository].findAll()"
    functionSourceFile: "org.springframework.retry.stats.DefaultStatisticsRepository"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.Iterable"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Map].values()"
    - "[java.util.ArrayList].<init>(java.util.Collection)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.stats.DefaultStatisticsRepository:46,1"
      Dst: "[java.util.Map].values()"
    - Src: "org.springframework.retry.stats.DefaultStatisticsRepository:46,1"
      Dst: "[java.util.ArrayList].<init>(java.util.Collection)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.stats.DefaultStatisticsRepository].addStarted(java.lang.String)"
    functionSourceFile: "org.springframework.retry.stats.DefaultStatisticsRepository"
    linkageType: ""
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.stats.DefaultStatisticsRepository].getStatistics(java.lang.String)"
    - "[org.springframework.retry.stats.ExponentialAverageRetryStatistics].incrementStartedCount()"
    - "[org.springframework.retry.stats.DefaultRetryStatistics].incrementStartedCount()"
    - "[org.springframework.retry.stats.MutableRetryStatistics].incrementStartedCount()"
    functionUses: 2
    ICount: 5
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.stats.DefaultStatisticsRepository:51,1"
      Dst: "[org.springframework.retry.stats.DefaultStatisticsRepository].getStatistics(java.lang.String)"
    - Src: "org.springframework.retry.stats.DefaultStatisticsRepository:51,1"
      Dst: "[org.springframework.retry.stats.MutableRetryStatistics].incrementStartedCount()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.stats.DefaultStatisticsRepository].getStatistics(java.lang.String)"
    functionSourceFile: "org.springframework.retry.stats.DefaultStatisticsRepository"
    linkageType: ""
    functionLinenumber: 75
    functionLinenumberEnd: 81
    functionDepth: 0
    returnType: "org.springframework.retry.stats.MutableRetryStatistics"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.util.ConcurrentReferenceHashMap].containsKey(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentSkipListMap].containsKey(java.lang.Object)"
    - "[org.springframework.retry.stats.DefaultRetryStatisticsFactory].create(java.lang.String)"
    - "[org.springframework.util.ConcurrentReferenceHashMap].putIfAbsent(java.lang.Object,java.lang.Object)"
    - "[java.util.Map:java.util.concurrent.ConcurrentHashMap:java.util.concurrent.ConcurrentSkipListMap:java.util.concurrent.ConcurrentSkipListMap$SubMap].putIfAbsent(java.lang.Object,java.lang.Object)"
    - "[org.springframework.util.ConcurrentReferenceHashMap].get(java.lang.Object)"
    - "[java.util.Map].containsKey(java.lang.Object)"
    - "[org.springframework.retry.stats.RetryStatisticsFactory].create(java.lang.String)"
    - "[java.util.concurrent.ConcurrentMap].putIfAbsent(java.lang.Object,java.lang.Object)"
    - "[java.util.Map].get(java.lang.Object)"
    functionUses: 5
    ICount: 13
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "org.springframework.retry.stats.DefaultStatisticsRepository:76"
      Branch Sides:
      - BranchSide: "org.springframework.retry.stats.DefaultStatisticsRepository:79"
        BranchSideFuncs:
        - "create(java.lang.String)"
        - "putIfAbsent(java.lang.Object,java.lang.Object)"
      - BranchSide: "org.springframework.retry.stats.DefaultStatisticsRepository:78"
        BranchSideFuncs:
        - "get(java.lang.Object)"
    Callsites:
    - Src: "org.springframework.retry.stats.DefaultStatisticsRepository:76,1"
      Dst: "[java.util.Map].containsKey(java.lang.Object)"
    - Src: "org.springframework.retry.stats.DefaultStatisticsRepository:77,1"
      Dst: "[org.springframework.retry.stats.RetryStatisticsFactory].create(java.lang.String)"
    - Src: "org.springframework.retry.stats.DefaultStatisticsRepository:77,1"
      Dst: "[java.util.concurrent.ConcurrentMap].putIfAbsent(java.lang.Object,java.lang.Object)"
    - Src: "org.springframework.retry.stats.DefaultStatisticsRepository:79,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[org.springframework.retry.stats.DefaultStatisticsRepository].addError(java.lang.String)"
    functionSourceFile: "org.springframework.retry.stats.DefaultStatisticsRepository"
    linkageType: ""
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.stats.DefaultStatisticsRepository].getStatistics(java.lang.String)"
    - "[org.springframework.retry.stats.ExponentialAverageRetryStatistics].incrementErrorCount()"
    - "[org.springframework.retry.stats.DefaultRetryStatistics].incrementErrorCount()"
    - "[org.springframework.retry.stats.MutableRetryStatistics].incrementErrorCount()"
    functionUses: 1
    ICount: 5
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.stats.DefaultStatisticsRepository:56,1"
      Dst: "[org.springframework.retry.stats.DefaultStatisticsRepository].getStatistics(java.lang.String)"
    - Src: "org.springframework.retry.stats.DefaultStatisticsRepository:56,1"
      Dst: "[org.springframework.retry.stats.MutableRetryStatistics].incrementErrorCount()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.stats.DefaultStatisticsRepository].addRecovery(java.lang.String)"
    functionSourceFile: "org.springframework.retry.stats.DefaultStatisticsRepository"
    linkageType: ""
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.stats.DefaultStatisticsRepository].getStatistics(java.lang.String)"
    - "[org.springframework.retry.stats.ExponentialAverageRetryStatistics].incrementRecoveryCount()"
    - "[org.springframework.retry.stats.DefaultRetryStatistics].incrementRecoveryCount()"
    - "[org.springframework.retry.stats.MutableRetryStatistics].incrementRecoveryCount()"
    functionUses: 1
    ICount: 5
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.stats.DefaultStatisticsRepository:61,1"
      Dst: "[org.springframework.retry.stats.DefaultStatisticsRepository].getStatistics(java.lang.String)"
    - Src: "org.springframework.retry.stats.DefaultStatisticsRepository:61,1"
      Dst: "[org.springframework.retry.stats.MutableRetryStatistics].incrementRecoveryCount()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.stats.DefaultStatisticsRepository].addComplete(java.lang.String)"
    functionSourceFile: "org.springframework.retry.stats.DefaultStatisticsRepository"
    linkageType: ""
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.stats.DefaultStatisticsRepository].getStatistics(java.lang.String)"
    - "[org.springframework.retry.stats.DefaultRetryStatistics].incrementCompleteCount()"
    - "[org.springframework.retry.stats.ExponentialAverageRetryStatistics].incrementCompleteCount()"
    - "[org.springframework.retry.stats.MutableRetryStatistics].incrementCompleteCount()"
    functionUses: 1
    ICount: 5
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.stats.DefaultStatisticsRepository:66,1"
      Dst: "[org.springframework.retry.stats.DefaultStatisticsRepository].getStatistics(java.lang.String)"
    - Src: "org.springframework.retry.stats.DefaultStatisticsRepository:66,1"
      Dst: "[org.springframework.retry.stats.MutableRetryStatistics].incrementCompleteCount()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.stats.DefaultStatisticsRepository].addAbort(java.lang.String)"
    functionSourceFile: "org.springframework.retry.stats.DefaultStatisticsRepository"
    linkageType: ""
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.stats.DefaultStatisticsRepository].getStatistics(java.lang.String)"
    - "[org.springframework.retry.stats.ExponentialAverageRetryStatistics].incrementAbortCount()"
    - "[org.springframework.retry.stats.DefaultRetryStatistics].incrementAbortCount()"
    - "[org.springframework.retry.stats.MutableRetryStatistics].incrementAbortCount()"
    functionUses: 1
    ICount: 5
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.stats.DefaultStatisticsRepository:71,1"
      Dst: "[org.springframework.retry.stats.DefaultStatisticsRepository].getStatistics(java.lang.String)"
    - Src: "org.springframework.retry.stats.DefaultStatisticsRepository:71,1"
      Dst: "[org.springframework.retry.stats.MutableRetryStatistics].incrementAbortCount()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.classify.ClassifierAdapter].<init>()"
    functionSourceFile: "org.springframework.classify.ClassifierAdapter"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.classify.ClassifierAdapter:40,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.classify.ClassifierAdapter].<init>(java.lang.Object)"
    functionSourceFile: "org.springframework.classify.ClassifierAdapter"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[org.springframework.classify.ClassifierAdapter].setDelegate(java.lang.Object)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.classify.ClassifierAdapter:48,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "org.springframework.classify.ClassifierAdapter:49,1"
      Dst: "[org.springframework.classify.ClassifierAdapter].setDelegate(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.classify.ClassifierAdapter].<init>(org.springframework.classify.Classifier)"
    functionSourceFile: "org.springframework.classify.ClassifierAdapter"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.springframework.classify.Classifier"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.classify.ClassifierAdapter:57,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.classify.ClassifierAdapter].setDelegate(org.springframework.classify.Classifier<C,T>)"
    functionSourceFile: "org.springframework.classify.ClassifierAdapter"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.springframework.classify.Classifier<C,T>"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.classify.ClassifierAdapter].setDelegate(java.lang.Object)"
    functionSourceFile: "org.springframework.classify.ClassifierAdapter"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.classify.util.MethodInvokerUtils].getMethodInvokerByAnnotation(java.lang.Class,java.lang.Object)"
    - "[org.springframework.classify.util.MethodInvokerUtils].getMethodInvokerForSingleArgument(java.lang.Object)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.Object].getClass()"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    - "[org.springframework.util.Assert].state(boolean,java.lang.String)"
    functionUses: 0
    ICount: 22
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.springframework.classify.ClassifierAdapter:80"
      Branch Sides:
      - BranchSide: "org.springframework.classify.ClassifierAdapter:83"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.classify.ClassifierAdapter:82"
        BranchSideFuncs: []
    - Branch String: "org.springframework.classify.ClassifierAdapter:83"
      Branch Sides:
      - BranchSide: "org.springframework.classify.ClassifierAdapter:83"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.classify.ClassifierAdapter:82"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.springframework.classify.ClassifierAdapter:79,1"
      Dst: "[org.springframework.classify.util.MethodInvokerUtils].getMethodInvokerByAnnotation(java.lang.Class,java.lang.Object)"
    - Src: "org.springframework.classify.ClassifierAdapter:81,1"
      Dst: "[org.springframework.classify.util.MethodInvokerUtils].getMethodInvokerForSingleArgument(java.lang.Object)"
    - Src: "org.springframework.classify.ClassifierAdapter:83,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "org.springframework.classify.ClassifierAdapter:83,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "org.springframework.classify.ClassifierAdapter:84,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "org.springframework.classify.ClassifierAdapter:84,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "org.springframework.classify.ClassifierAdapter:84,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "org.springframework.classify.ClassifierAdapter:83,1"
      Dst: "[org.springframework.util.Assert].state(boolean,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[org.springframework.classify.ClassifierAdapter].classify(java.lang.Object)"
    functionSourceFile: "org.springframework.classify.ClassifierAdapter"
    linkageType: ""
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.classify.PatternMatchingClassifier].classify(java.lang.Object)"
    - "[org.springframework.classify.BinaryExceptionClassifier].classify(java.lang.Object)"
    - "[org.springframework.classify.SubclassClassifier].classify(java.lang.Object)"
    - "[org.springframework.classify.BackToBackPatternClassifier].classify(java.lang.Object)"
    - "[org.springframework.classify.ClassifierAdapter].classify(java.lang.Object)"
    - "[org.springframework.classify.ClassifierSupport].classify(java.lang.Object)"
    - "[org.springframework.classify.util.SimpleMethodInvoker].invokeMethod(java.lang.Object[])"
    - "[org.springframework.classify.Classifier].classify(java.lang.Object)"
    - "[org.springframework.classify.util.MethodInvoker].invokeMethod(java.lang.Object[])"
    functionUses: 5
    ICount: 12
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "org.springframework.classify.ClassifierAdapter:93"
      Branch Sides:
      - BranchSide: "org.springframework.classify.ClassifierAdapter:96"
        BranchSideFuncs:
        - "classify(java.lang.Object)"
      - BranchSide: "org.springframework.classify.ClassifierAdapter:95"
        BranchSideFuncs:
        - "invokeMethod(java.lang.Object[])"
    Callsites:
    - Src: "org.springframework.classify.ClassifierAdapter:94,1"
      Dst: "[org.springframework.classify.Classifier].classify(java.lang.Object)"
    - Src: "org.springframework.classify.ClassifierAdapter:96,1"
      Dst: "[org.springframework.classify.util.MethodInvoker].invokeMethod(java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.classify.util.MethodInvokerUtils$1].doWith(java.lang.reflect.Method)"
    functionSourceFile: "org.springframework.classify.util.MethodInvokerUtils$1"
    linkageType: ""
    functionLinenumber: 119
    functionLinenumberEnd: 136
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.reflect.Method"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.core.annotation.AnnotationUtils].findAnnotation(java.lang.reflect.Method,java.lang.Class)"
    - "[java.lang.reflect.Method].getParameterTypes()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.reflect.Method].getName()"
    - "[java.lang.Class].getSimpleName()"
    - "[org.springframework.classify.util.MethodInvokerUtils].getParamTypesString(java.lang.Class[])"
    - "[java.lang.StringBuilder].toString()"
    - "[org.springframework.util.Assert].isTrue(boolean,java.lang.String)"
    - "[java.lang.Class].isAssignableFrom(java.lang.Class)"
    functionUses: 2
    ICount: 46
    EdgeCount: 15
    BranchProfiles:
    - Branch String: "org.springframework.classify.util.MethodInvokerUtils$1:121"
      Branch Sides:
      - BranchSide: "org.springframework.classify.util.MethodInvokerUtils$1:135"
        BranchSideFuncs:
        - "getParameterTypes()"
      - BranchSide: "org.springframework.classify.util.MethodInvokerUtils$1:134"
        BranchSideFuncs: []
    - Branch String: "org.springframework.classify.util.MethodInvokerUtils$1:123"
      Branch Sides:
      - BranchSide: "org.springframework.classify.util.MethodInvokerUtils$1:135"
        BranchSideFuncs:
        - "<init>()"
        - "getName()"
        - "append(java.lang.String)"
        - "toString()"
        - "getParamTypesString(java.lang.Class[])"
        - "getSimpleName()"
      - BranchSide: "org.springframework.classify.util.MethodInvokerUtils$1:134"
        BranchSideFuncs: []
    - Branch String: "org.springframework.classify.util.MethodInvokerUtils$1:129"
      Branch Sides:
      - BranchSide: "org.springframework.classify.util.MethodInvokerUtils$1:124"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.classify.util.MethodInvokerUtils$1:123"
        BranchSideFuncs:
        - "<init>()"
        - "getName()"
        - "append(java.lang.String)"
        - "toString()"
        - "getParamTypesString(java.lang.Class[])"
        - "getSimpleName()"
    - Branch String: "org.springframework.classify.util.MethodInvokerUtils$1:130"
      Branch Sides:
      - BranchSide: "org.springframework.classify.util.MethodInvokerUtils$1:134"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.springframework.classify.util.MethodInvokerUtils$1:120,1"
      Dst: "[org.springframework.core.annotation.AnnotationUtils].findAnnotation(java.lang.reflect.Method,java.lang.Class)"
    - Src: "org.springframework.classify.util.MethodInvokerUtils$1:122,1"
      Dst: "[java.lang.reflect.Method].getParameterTypes()"
    - Src: "org.springframework.classify.util.MethodInvokerUtils$1:124,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "org.springframework.classify.util.MethodInvokerUtils$1:124,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "org.springframework.classify.util.MethodInvokerUtils$1:124,1"
      Dst: "[java.lang.reflect.Method].getName()"
    - Src: "org.springframework.classify.util.MethodInvokerUtils$1:125,1"
      Dst: "[java.lang.Class].getSimpleName()"
    - Src: "org.springframework.classify.util.MethodInvokerUtils$1:126,1"
      Dst: "[org.springframework.classify.util.MethodInvokerUtils].getParamTypesString(java.lang.Class[])"
    - Src: "org.springframework.classify.util.MethodInvokerUtils$1:127,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "org.springframework.classify.util.MethodInvokerUtils$1:129,1"
      Dst: "[org.springframework.util.Assert].isTrue(boolean,java.lang.String)"
    - Src: "org.springframework.classify.util.MethodInvokerUtils$1:131,1"
      Dst: "[java.lang.Class].isAssignableFrom(java.lang.Class)"
    JavaMethodInfo:
      exceptions:
      - "java.lang.IllegalArgumentException"
      - "java.lang.IllegalAccessException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 9
    CyclomaticComplexity: 5
  - functionName: "[org.springframework.retry.policy.CompositeRetryPolicy].<init>()"
    functionSourceFile: "org.springframework.retry.policy.CompositeRetryPolicy"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.policy.CompositeRetryPolicy:36,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.CompositeRetryPolicy].setOptimistic(boolean)"
    functionSourceFile: "org.springframework.retry.policy.CompositeRetryPolicy"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.CompositeRetryPolicy].setPolicies(org.springframework.retry.RetryPolicy[])"
    functionSourceFile: "org.springframework.retry.policy.CompositeRetryPolicy"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.springframework.retry.RetryPolicy[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Arrays].asList(java.lang.Object[])"
    - "[java.util.List].toArray(java.lang.Object[])"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.policy.CompositeRetryPolicy:55,1"
      Dst: "[java.util.Arrays].asList(java.lang.Object[])"
    - Src: "org.springframework.retry.policy.CompositeRetryPolicy:55,1"
      Dst: "[java.util.List].toArray(java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.CompositeRetryPolicy].canRetry(org.springframework.retry.RetryContext)"
    functionSourceFile: "org.springframework.retry.policy.CompositeRetryPolicy"
    linkageType: ""
    functionLinenumber: 65
    functionLinenumberEnd: 88
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "org.springframework.retry.RetryContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.policy.ExceptionClassifierRetryPolicy].canRetry(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.BinaryExceptionClassifierRetryPolicy].canRetry(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.TimeoutRetryPolicy].canRetry(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.SimpleRetryPolicy].canRetry(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.ExceptionClassifierRetryPolicy$ExceptionClassifierRetryContext].canRetry(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.ExpressionRetryPolicy].canRetry(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.CircuitBreakerRetryPolicy].canRetry(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.CompositeRetryPolicy].canRetry(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.MaxAttemptsRetryPolicy].canRetry(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.NeverRetryPolicy].canRetry(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.AlwaysRetryPolicy].canRetry(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.RetryPolicy].canRetry(org.springframework.retry.RetryContext)"
    functionUses: 8
    ICount: 32
    EdgeCount: 21
    BranchProfiles:
    - Branch String: "org.springframework.retry.policy.CompositeRetryPolicy:71"
      Branch Sides:
      - BranchSide: "org.springframework.retry.policy.CompositeRetryPolicy:80"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.policy.CompositeRetryPolicy:79"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.policy.CompositeRetryPolicy:73"
      Branch Sides:
      - BranchSide: "org.springframework.retry.policy.CompositeRetryPolicy:72"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.policy.CompositeRetryPolicy:71"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.policy.CompositeRetryPolicy:74"
      Branch Sides:
      - BranchSide: "org.springframework.retry.policy.CompositeRetryPolicy:72"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.policy.CompositeRetryPolicy:71"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.policy.CompositeRetryPolicy:80"
      Branch Sides:
      - BranchSide: "org.springframework.retry.policy.CompositeRetryPolicy:87"
        BranchSideFuncs:
        - "canRetry(org.springframework.retry.RetryContext)"
      - BranchSide: "org.springframework.retry.policy.CompositeRetryPolicy:86"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.policy.CompositeRetryPolicy:81"
      Branch Sides:
      - BranchSide: "org.springframework.retry.policy.CompositeRetryPolicy:80"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.policy.CompositeRetryPolicy:79"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.springframework.retry.policy.CompositeRetryPolicy:74,1"
      Dst: "[org.springframework.retry.RetryPolicy].canRetry(org.springframework.retry.RetryContext)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 13
    CyclomaticComplexity: 6
  - functionName: "[org.springframework.retry.policy.CompositeRetryPolicy].close(org.springframework.retry.RetryContext)"
    functionSourceFile: "org.springframework.retry.policy.CompositeRetryPolicy"
    linkageType: ""
    functionLinenumber: 99
    functionLinenumberEnd: 117
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.springframework.retry.RetryContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.policy.CircuitBreakerRetryPolicy].close(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.ExceptionClassifierRetryPolicy].close(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.ExceptionClassifierRetryPolicy$ExceptionClassifierRetryContext].close(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.CompositeRetryPolicy].close(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.BinaryExceptionClassifierRetryPolicy:org.springframework.retry.policy.MaxAttemptsRetryPolicy:org.springframework.retry.policy.NeverRetryPolicy:org.springframework.retry.policy.SimpleRetryPolicy:org.springframework.retry.policy.TimeoutRetryPolicy].close(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.RetryPolicy].close(org.springframework.retry.RetryContext)"
    functionUses: 6
    ICount: 22
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "org.springframework.retry.policy.CompositeRetryPolicy:103"
      Branch Sides:
      - BranchSide: "org.springframework.retry.policy.CompositeRetryPolicy:113"
        BranchSideFuncs:
        - "close(org.springframework.retry.RetryContext)"
      - BranchSide: "org.springframework.retry.policy.CompositeRetryPolicy:112"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.policy.CompositeRetryPolicy:108"
      Branch Sides:
      - BranchSide: "org.springframework.retry.policy.CompositeRetryPolicy:100"
        BranchSideFuncs:
        - "close(org.springframework.retry.RetryContext)"
      - BranchSide: "org.springframework.retry.policy.CompositeRetryPolicy:99"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.policy.CompositeRetryPolicy:113"
      Branch Sides:
      - BranchSide: "org.springframework.retry.policy.CompositeRetryPolicy:116"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.policy.CompositeRetryPolicy:115"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.springframework.retry.policy.CompositeRetryPolicy:105,1"
      Dst: "[org.springframework.retry.RetryPolicy].close(org.springframework.retry.RetryContext)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 9
    CyclomaticComplexity: 3
  - functionName: "[org.springframework.retry.policy.CompositeRetryPolicy].open(org.springframework.retry.RetryContext)"
    functionSourceFile: "org.springframework.retry.policy.CompositeRetryPolicy"
    linkageType: ""
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionDepth: 2
    returnType: "org.springframework.retry.RetryContext"
    argCount: 1
    argTypes:
    - "org.springframework.retry.RetryContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].<init>()"
    - "[javax.management.AttributeList].add(java.lang.Object)"
    - "[java.util.ArrayList].add(java.lang.Object)"
    - "[org.springframework.retry.policy.TimeoutRetryPolicy].open(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.SimpleRetryPolicy].open(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.CompositeRetryPolicy].open(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.CircuitBreakerRetryPolicy].open(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.ExceptionClassifierRetryPolicy].open(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.MaxAttemptsRetryPolicy].open(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.NeverRetryPolicy].open(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.BinaryExceptionClassifierRetryPolicy].open(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.ExceptionClassifierRetryPolicy$ExceptionClassifierRetryContext].open(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.CompositeRetryPolicy$CompositeRetryContext].<init>(org.springframework.retry.RetryContext,java.util.List,org.springframework.retry.RetryPolicy[])"
    - "[org.springframework.retry.RetryPolicy].open(org.springframework.retry.RetryContext)"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 4
    ICount: 17
    EdgeCount: 13
    BranchProfiles:
    - Branch String: "org.springframework.retry.policy.CompositeRetryPolicy:127"
      Branch Sides:
      - BranchSide: "org.springframework.retry.policy.CompositeRetryPolicy:129"
        BranchSideFuncs:
        - "<init>(org.springframework.retry.RetryContext,java.util.List,org.springframework.retry.RetryPolicy[])"
    Callsites:
    - Src: "org.springframework.retry.policy.CompositeRetryPolicy:126,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "org.springframework.retry.policy.CompositeRetryPolicy:128,1"
      Dst: "[org.springframework.retry.RetryPolicy].open(org.springframework.retry.RetryContext)"
    - Src: "org.springframework.retry.policy.CompositeRetryPolicy:128,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    - Src: "org.springframework.retry.policy.CompositeRetryPolicy:130,1"
      Dst: "[org.springframework.retry.policy.CompositeRetryPolicy$CompositeRetryContext].<init>(org.springframework.retry.RetryContext,java.util.List,org.springframework.retry.RetryPolicy[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[org.springframework.retry.policy.CompositeRetryPolicy].registerThrowable(org.springframework.retry.RetryContext,java.lang.Throwable)"
    functionSourceFile: "org.springframework.retry.policy.CompositeRetryPolicy"
    linkageType: ""
    functionLinenumber: 139
    functionLinenumberEnd: 147
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "org.springframework.retry.RetryContext"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.policy.NeverRetryPolicy].registerThrowable(org.springframework.retry.RetryContext,java.lang.Throwable)"
    - "[org.springframework.retry.policy.CircuitBreakerRetryPolicy].registerThrowable(org.springframework.retry.RetryContext,java.lang.Throwable)"
    - "[org.springframework.retry.policy.ExceptionClassifierRetryPolicy].registerThrowable(org.springframework.retry.RetryContext,java.lang.Throwable)"
    - "[org.springframework.retry.policy.ExceptionClassifierRetryPolicy$ExceptionClassifierRetryContext].registerThrowable(org.springframework.retry.RetryContext,java.lang.Throwable)"
    - "[org.springframework.retry.policy.MaxAttemptsRetryPolicy].registerThrowable(org.springframework.retry.RetryContext,java.lang.Throwable)"
    - "[org.springframework.retry.policy.BinaryExceptionClassifierRetryPolicy].registerThrowable(org.springframework.retry.RetryContext,java.lang.Throwable)"
    - "[org.springframework.retry.policy.TimeoutRetryPolicy].registerThrowable(org.springframework.retry.RetryContext,java.lang.Throwable)"
    - "[org.springframework.retry.policy.SimpleRetryPolicy].registerThrowable(org.springframework.retry.RetryContext,java.lang.Throwable)"
    - "[org.springframework.retry.policy.CompositeRetryPolicy].registerThrowable(org.springframework.retry.RetryContext,java.lang.Throwable)"
    - "[org.springframework.retry.context.RetryContextSupport].registerThrowable(java.lang.Throwable)"
    - "[org.springframework.retry.RetryPolicy].registerThrowable(org.springframework.retry.RetryContext,java.lang.Throwable)"
    functionUses: 5
    ICount: 18
    EdgeCount: 10
    BranchProfiles:
    - Branch String: "org.springframework.retry.policy.CompositeRetryPolicy:142"
      Branch Sides:
      - BranchSide: "org.springframework.retry.policy.CompositeRetryPolicy:144"
        BranchSideFuncs:
        - "registerThrowable(java.lang.Throwable)"
    Callsites:
    - Src: "org.springframework.retry.policy.CompositeRetryPolicy:143,1"
      Dst: "[org.springframework.retry.RetryPolicy].registerThrowable(org.springframework.retry.RetryContext,java.lang.Throwable)"
    - Src: "org.springframework.retry.policy.CompositeRetryPolicy:145,1"
      Dst: "[org.springframework.retry.context.RetryContextSupport].registerThrowable(java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[org.springframework.retry.stats.ExponentialAverageRetryStatistics$ExponentialAverage].<init>(org.springframework.retry.stats.ExponentialAverageRetryStatistics,long)"
    functionSourceFile: "org.springframework.retry.stats.ExponentialAverageRetryStatistics$ExponentialAverage"
    linkageType: ""
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "org.springframework.retry.stats.ExponentialAverageRetryStatistics"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.System].currentTimeMillis()"
    - "[java.lang.Object].<init>()"
    functionUses: 5
    ICount: 12
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.stats.ExponentialAverageRetryStatistics$ExponentialAverage:125,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "org.springframework.retry.stats.ExponentialAverageRetryStatistics$ExponentialAverage:121,1"
      Dst: "[java.lang.System].currentTimeMillis()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.stats.ExponentialAverageRetryStatistics$ExponentialAverage].increment()"
    functionSourceFile: "org.springframework.retry.stats.ExponentialAverageRetryStatistics$ExponentialAverage"
    linkageType: ""
    functionLinenumber: 129
    functionLinenumberEnd: 134
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.System].currentTimeMillis()"
    - "[java.lang.Math].exp(double)"
    functionUses: 5
    ICount: 15
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.stats.ExponentialAverageRetryStatistics$ExponentialAverage:130,1"
      Dst: "[java.lang.System].currentTimeMillis()"
    - Src: "org.springframework.retry.stats.ExponentialAverageRetryStatistics$ExponentialAverage:131,1"
      Dst: "[java.lang.Math].exp(double)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.stats.ExponentialAverageRetryStatistics$ExponentialAverage].getValue()"
    functionSourceFile: "org.springframework.retry.stats.ExponentialAverageRetryStatistics$ExponentialAverage"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "double"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.System].currentTimeMillis()"
    - "[java.lang.Math].exp(double)"
    functionUses: 0
    ICount: 12
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.stats.ExponentialAverageRetryStatistics$ExponentialAverage:136,1"
      Dst: "[java.lang.System].currentTimeMillis()"
    - Src: "org.springframework.retry.stats.ExponentialAverageRetryStatistics$ExponentialAverage:137,1"
      Dst: "[java.lang.Math].exp(double)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor].<init>()"
    functionSourceFile: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor"
    linkageType: ""
    functionLinenumber: 76
    functionLinenumberEnd: 95
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[org.springframework.expression.spel.support.StandardEvaluationContext].<init>()"
    - "[org.springframework.util.ConcurrentReferenceHashMap].<init>()"
    - "[org.springframework.retry.policy.MapRetryContextCache].<init>()"
    functionUses: 1
    ICount: 12
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:77,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:90,1"
      Dst: "[org.springframework.expression.spel.support.StandardEvaluationContext].<init>()"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:92,1"
      Dst: "[org.springframework.util.ConcurrentReferenceHashMap].<init>()"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:94,1"
      Dst: "[org.springframework.retry.policy.MapRetryContextCache].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor].setSleeper(org.springframework.retry.backoff.Sleeper)"
    functionSourceFile: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor"
    linkageType: ""
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.springframework.retry.backoff.Sleeper"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor].setRetryContextCache(org.springframework.retry.policy.RetryContextCache)"
    functionSourceFile: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor"
    linkageType: ""
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.springframework.retry.policy.RetryContextCache"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor].setKeyGenerator(org.springframework.retry.interceptor.MethodArgumentsKeyGenerator)"
    functionSourceFile: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor"
    linkageType: ""
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.springframework.retry.interceptor.MethodArgumentsKeyGenerator"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor].setNewItemIdentifier(org.springframework.retry.interceptor.NewMethodArgumentsIdentifier)"
    functionSourceFile: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor"
    linkageType: ""
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.springframework.retry.interceptor.NewMethodArgumentsIdentifier"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor].setListeners(java.util.Collection<RetryListener>)"
    functionSourceFile: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor"
    linkageType: ""
    functionLinenumber: 139
    functionLinenumberEnd: 144
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.util.Collection<RetryListener>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].<init>(java.util.Collection)"
    - "[org.springframework.core.annotation.AnnotationAwareOrderComparator].sort(java.util.List)"
    - "[java.util.ArrayList].toArray(java.lang.Object[])"
    functionUses: 1
    ICount: 10
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:140,1"
      Dst: "[java.util.ArrayList].<init>(java.util.Collection)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:141,1"
      Dst: "[org.springframework.core.annotation.AnnotationAwareOrderComparator].sort(java.util.List)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:142,1"
      Dst: "[java.util.ArrayList].toArray(java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor].setBeanFactory(org.springframework.beans.factory.BeanFactory)"
    functionSourceFile: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor"
    linkageType: ""
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.springframework.beans.factory.BeanFactory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.context.expression.BeanFactoryResolver].<init>(org.springframework.beans.factory.BeanFactory)"
    - "[org.springframework.expression.spel.support.StandardEvaluationContext].setBeanResolver(org.springframework.expression.BeanResolver)"
    functionUses: 6
    ICount: 8
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:148,1"
      Dst: "[org.springframework.context.expression.BeanFactoryResolver].<init>(org.springframework.beans.factory.BeanFactory)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:148,1"
      Dst: "[org.springframework.expression.spel.support.StandardEvaluationContext].setBeanResolver(org.springframework.expression.BeanResolver)"
    JavaMethodInfo:
      exceptions:
      - "org.springframework.beans.BeansException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor].implementsInterface(java.lang.Class<?>)"
    functionSourceFile: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor"
    linkageType: ""
    functionLinenumber: 152
    functionLinenumberEnd: 154
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Class<?>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Class].isAssignableFrom(java.lang.Class)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:153,1"
      Dst: "[java.lang.Class].isAssignableFrom(java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor].invoke(org.aopalliance.intercept.MethodInvocation)"
    functionSourceFile: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor"
    linkageType: ""
    functionLinenumber: 157
    functionLinenumberEnd: 164
    functionDepth: 9
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "org.aopalliance.intercept.MethodInvocation"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor].getDelegate(java.lang.Object,java.lang.reflect.Method)"
    - "[org.springframework.aop.framework.ReflectiveMethodInvocation].getMethod()"
    - "[org.springframework.aop.framework.ReflectiveMethodInvocation].getThis()"
    - "[org.springframework.remoting.rmi.JndiRmiClientInterceptor].invoke(org.aopalliance.intercept.MethodInvocation)"
    - "[org.springframework.aop.framework.adapter.ThrowsAdviceInterceptor].invoke(org.aopalliance.intercept.MethodInvocation)"
    - "[org.springframework.aop.interceptor.ExposeInvocationInterceptor].invoke(org.aopalliance.intercept.MethodInvocation)"
    - "[org.springframework.ejb.access.AbstractSlsbInvokerInterceptor].invoke(org.aopalliance.intercept.MethodInvocation)"
    - "[org.springframework.retry.interceptor.RetryOperationsInterceptor].invoke(org.aopalliance.intercept.MethodInvocation)"
    - "[org.springframework.context.event.EventPublicationInterceptor].invoke(org.aopalliance.intercept.MethodInvocation)"
    - "[org.springframework.aop.support.DelegatePerTargetObjectIntroductionInterceptor].invoke(org.aopalliance.intercept.MethodInvocation)"
    - "[org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor].invoke(org.aopalliance.intercept.MethodInvocation)"
    - "[org.springframework.aop.interceptor.ExposeBeanNameAdvisors$ExposeBeanNameIntroduction].invoke(org.aopalliance.intercept.MethodInvocation)"
    - "[org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor$1].invoke(org.aopalliance.intercept.MethodInvocation)"
    - "[org.springframework.aop.interceptor.AsyncExecutionInterceptor].invoke(org.aopalliance.intercept.MethodInvocation)"
    - "[org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor].invoke(org.aopalliance.intercept.MethodInvocation)"
    - "[org.springframework.aop.aspectj.AspectJAroundAdvice].invoke(org.aopalliance.intercept.MethodInvocation)"
    - "[org.springframework.aop.interceptor.ConcurrencyThrottleInterceptor].invoke(org.aopalliance.intercept.MethodInvocation)"
    - "[org.springframework.jndi.JndiObjectFactoryBean$JndiContextExposingInterceptor].invoke(org.aopalliance.intercept.MethodInvocation)"
    - "[org.springframework.aop.framework.adapter.AfterReturningAdviceInterceptor].invoke(org.aopalliance.intercept.MethodInvocation)"
    - "[org.springframework.aop.aspectj.AspectJAfterAdvice].invoke(org.aopalliance.intercept.MethodInvocation)"
    - "[org.springframework.aop.aspectj.AspectJAfterThrowingAdvice].invoke(org.aopalliance.intercept.MethodInvocation)"
    - "[org.springframework.jmx.access.MBeanClientInterceptor].invoke(org.aopalliance.intercept.MethodInvocation)"
    - "[org.springframework.remoting.rmi.RmiClientInterceptor].invoke(org.aopalliance.intercept.MethodInvocation)"
    - "[org.springframework.validation.beanvalidation.MethodValidationInterceptor].invoke(org.aopalliance.intercept.MethodInvocation)"
    - "[org.springframework.aop.interceptor.DebugInterceptor].invoke(org.aopalliance.intercept.MethodInvocation)"
    - "[org.springframework.aop.interceptor.ExposeBeanNameAdvisors$ExposeBeanNameInterceptor].invoke(org.aopalliance.intercept.MethodInvocation)"
    - "[org.springframework.cache.interceptor.CacheInterceptor].invoke(org.aopalliance.intercept.MethodInvocation)"
    - "[org.springframework.remoting.support.RemoteInvocationTraceInterceptor].invoke(org.aopalliance.intercept.MethodInvocation)"
    - "[org.springframework.aop.framework.adapter.MethodBeforeAdviceInterceptor].invoke(org.aopalliance.intercept.MethodInvocation)"
    - "[org.springframework.aop.support.DelegatingIntroductionInterceptor].invoke(org.aopalliance.intercept.MethodInvocation)"
    - "[org.springframework.aop.interceptor.AbstractTraceInterceptor].invoke(org.aopalliance.intercept.MethodInvocation)"
    - "[org.springframework.aop.framework.ReflectiveMethodInvocation].proceed()"
    - "[org.aopalliance.intercept.Joinpoint].getThis()"
    - "[org.aopalliance.intercept.MethodInvocation].getMethod()"
    - "[org.aopalliance.intercept.MethodInterceptor].invoke(org.aopalliance.intercept.MethodInvocation)"
    - "[org.aopalliance.intercept.Joinpoint].proceed()"
    functionUses: 3
    ICount: 10
    EdgeCount: 32
    BranchProfiles:
    - Branch String: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:159"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:163"
        BranchSideFuncs:
        - "invoke(org.aopalliance.intercept.MethodInvocation)"
      - BranchSide: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:162"
        BranchSideFuncs:
        - "proceed()"
    Callsites:
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:158,1"
      Dst: "[org.aopalliance.intercept.Joinpoint].getThis()"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:158,1"
      Dst: "[org.aopalliance.intercept.MethodInvocation].getMethod()"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:158,1"
      Dst: "[org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor].getDelegate(java.lang.Object,java.lang.reflect.Method)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:160,1"
      Dst: "[org.aopalliance.intercept.MethodInterceptor].invoke(org.aopalliance.intercept.MethodInvocation)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:163,1"
      Dst: "[org.aopalliance.intercept.Joinpoint].proceed()"
    JavaMethodInfo:
      exceptions:
      - "java.lang.Throwable"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor].getDelegate(java.lang.Object,java.lang.reflect.Method)"
    functionSourceFile: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor"
    linkageType: ""
    functionLinenumber: 167
    functionLinenumberEnd: 198
    functionDepth: 8
    returnType: "org.aopalliance.intercept.MethodInterceptor"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "java.lang.reflect.Method"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.util.ConcurrentReferenceHashMap].get(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentHashMap].<init>()"
    - "[java.util.concurrent.ConcurrentSkipListMap$SubMap].get(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentSkipListMap].get(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentHashMap].get(java.lang.Object)"
    - "[org.springframework.core.annotation.AnnotatedElementUtils].findMergedAnnotation(java.lang.reflect.AnnotatedElement,java.lang.Class)"
    - "[java.lang.reflect.Method].getDeclaringClass()"
    - "[org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor].findAnnotationOnTarget(java.lang.Object,java.lang.reflect.Method,java.lang.Class)"
    - "[org.springframework.util.StringUtils].hasText(java.lang.String)"
    - "[org.springframework.jndi.support.SimpleJndiBeanFactory].getBean(java.lang.String,java.lang.Class)"
    - "[org.springframework.beans.factory.support.AbstractBeanFactory].getBean(java.lang.String,java.lang.Class)"
    - "[org.springframework.beans.factory.support.StaticListableBeanFactory].getBean(java.lang.String,java.lang.Class)"
    - "[org.springframework.context.support.AbstractApplicationContext].getBean(java.lang.String,java.lang.Class)"
    - "[org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor].getStatefulInterceptor(java.lang.Object,java.lang.reflect.Method,org.springframework.retry.'annotation'.Retryable)"
    - "[org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor].getStatelessInterceptor(java.lang.Object,java.lang.reflect.Method,org.springframework.retry.'annotation'.Retryable)"
    - "[java.util.concurrent.ConcurrentSkipListMap].putIfAbsent(java.lang.Object,java.lang.Object)"
    - "[java.util.concurrent.ConcurrentSkipListMap$SubMap].putIfAbsent(java.lang.Object,java.lang.Object)"
    - "[java.util.concurrent.ConcurrentHashMap].putIfAbsent(java.lang.Object,java.lang.Object)"
    - "[org.springframework.util.ConcurrentReferenceHashMap].putIfAbsent(java.lang.Object,java.lang.Object)"
    - "[java.util.Map].putIfAbsent(java.lang.Object,java.lang.Object)"
    - "[java.util.Map].get(java.lang.Object)"
    - "[org.springframework.retry.annotation.Retryable].interceptor()"
    - "[org.springframework.beans.factory.BeanFactory].getBean(java.lang.String,java.lang.Class)"
    - "[org.springframework.retry.annotation.Retryable].stateful()"
    - "[java.util.concurrent.ConcurrentMap].putIfAbsent(java.lang.Object,java.lang.Object)"
    functionUses: 1
    ICount: 52
    EdgeCount: 27
    BranchProfiles:
    - Branch String: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:169"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:null"
        BranchSideFuncs:
        - "<init>()"
    - Branch String: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:173"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:196"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:195"
        BranchSideFuncs:
        - "putIfAbsent(java.lang.Object,java.lang.Object)"
    - Branch String: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:176"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:179"
        BranchSideFuncs:
        - "findMergedAnnotation(java.lang.reflect.AnnotatedElement,java.lang.Class)"
        - "getDeclaringClass()"
      - BranchSide: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:178"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:179"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:182"
        BranchSideFuncs:
        - "findAnnotationOnTarget(java.lang.Object,java.lang.reflect.Method,java.lang.Class)"
      - BranchSide: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:181"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:182"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:null"
        BranchSideFuncs:
        - "hasText(java.lang.String)"
    - Branch String: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:183"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:186"
        BranchSideFuncs:
        - "getBean(java.lang.String,java.lang.Class)"
      - BranchSide: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:185"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:186"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:190"
        BranchSideFuncs:
        - "getStatefulInterceptor(java.lang.Object,java.lang.reflect.Method,org.springframework.retry.'annotation'.Retryable)"
      - BranchSide: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:189"
        BranchSideFuncs:
        - "getStatelessInterceptor(java.lang.Object,java.lang.reflect.Method,org.springframework.retry.'annotation'.Retryable)"
    - Branch String: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:197"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:195"
        BranchSideFuncs:
        - "putIfAbsent(java.lang.Object,java.lang.Object)"
    Callsites:
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:168,1"
      Dst: "[org.springframework.util.ConcurrentReferenceHashMap].get(java.lang.Object)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:170,1"
      Dst: "[java.util.concurrent.ConcurrentHashMap].<init>()"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:172,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:175,1"
      Dst: "[org.springframework.core.annotation.AnnotatedElementUtils].findMergedAnnotation(java.lang.reflect.AnnotatedElement,java.lang.Class)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:177,1"
      Dst: "[java.lang.reflect.Method].getDeclaringClass()"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:180,1"
      Dst: "[org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor].findAnnotationOnTarget(java.lang.Object,java.lang.reflect.Method,java.lang.Class)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:183,1"
      Dst: "[org.springframework.retry.annotation.Retryable].interceptor()"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:183,1"
      Dst: "[org.springframework.util.StringUtils].hasText(java.lang.String)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:184,1"
      Dst: "[org.springframework.beans.factory.BeanFactory].getBean(java.lang.String,java.lang.Class)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:186,1"
      Dst: "[org.springframework.retry.annotation.Retryable].stateful()"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:187,1"
      Dst: "[org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor].getStatefulInterceptor(java.lang.Object,java.lang.reflect.Method,org.springframework.retry.'annotation'.Retryable)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:190,1"
      Dst: "[org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor].getStatelessInterceptor(java.lang.Object,java.lang.reflect.Method,org.springframework.retry.'annotation'.Retryable)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:193,1"
      Dst: "[java.util.concurrent.ConcurrentMap].putIfAbsent(java.lang.Object,java.lang.Object)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:196,1"
      Dst: "[org.springframework.util.ConcurrentReferenceHashMap].putIfAbsent(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 18
    CyclomaticComplexity: 9
  - functionName: "[org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor].getStatefulInterceptor(java.lang.Object,java.lang.reflect.Method,org.springframework.retry.'annotation'.Retryable)"
    functionSourceFile: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor"
    linkageType: ""
    functionLinenumber: 224
    functionLinenumberEnd: 253
    functionDepth: 7
    returnType: "org.aopalliance.intercept.MethodInterceptor"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "java.lang.reflect.Method"
    - "org.springframework.retry.annotation.Retryable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor].createTemplate(java.lang.String[])"
    - "[org.springframework.retry.support.RetryTemplate].setRetryContextCache(org.springframework.retry.policy.RetryContextCache)"
    - "[org.springframework.core.annotation.AnnotatedElementUtils].findMergedAnnotation(java.lang.reflect.AnnotatedElement,java.lang.Class)"
    - "[org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor].findAnnotationOnTarget(java.lang.Object,java.lang.reflect.Method,java.lang.Class)"
    - "[org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor].getRetryPolicy(java.lang.'annotation'.Annotation)"
    - "[org.springframework.retry.policy.CircuitBreakerRetryPolicy].<init>(org.springframework.retry.RetryPolicy)"
    - "[org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor].getOpenTimeout(org.springframework.retry.'annotation'.CircuitBreaker)"
    - "[org.springframework.retry.policy.CircuitBreakerRetryPolicy].setOpenTimeout(long)"
    - "[org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor].getResetTimeout(org.springframework.retry.'annotation'.CircuitBreaker)"
    - "[org.springframework.retry.policy.CircuitBreakerRetryPolicy].setResetTimeout(long)"
    - "[org.springframework.retry.support.RetryTemplate].setRetryPolicy(org.springframework.retry.RetryPolicy)"
    - "[org.springframework.retry.backoff.NoBackOffPolicy].<init>()"
    - "[org.springframework.retry.support.RetryTemplate].setBackOffPolicy(org.springframework.retry.backoff.BackOffPolicy)"
    - "[org.springframework.util.StringUtils].hasText(java.lang.String)"
    - "[java.lang.reflect.Method].toGenericString()"
    - "[org.springframework.retry.interceptor.FixedKeyGenerator].<init>(java.lang.String)"
    - "[org.springframework.retry.interceptor.RetryInterceptorBuilder].circuitBreaker()"
    - "[org.springframework.retry.interceptor.RetryInterceptorBuilder$CircuitBreakerInterceptorBuilder].keyGenerator(org.springframework.retry.interceptor.MethodArgumentsKeyGenerator)"
    - "[org.springframework.retry.interceptor.RetryInterceptorBuilder$StatelessRetryInterceptorBuilder].build()"
    - "[org.springframework.retry.interceptor.RetryInterceptorBuilder$CircuitBreakerInterceptorBuilder].build()"
    - "[org.springframework.retry.interceptor.RetryInterceptorBuilder$StatefulRetryInterceptorBuilder].build()"
    - "[org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor].getRecoverer(java.lang.Object,java.lang.reflect.Method)"
    - "[org.springframework.retry.interceptor.RetryInterceptorBuilder].label(java.lang.String)"
    - "[org.springframework.retry.interceptor.RetryInterceptorBuilder$CircuitBreakerInterceptorBuilder].recoverer(org.springframework.retry.interceptor.MethodInvocationRecoverer)"
    - "[org.springframework.retry.interceptor.RetryInterceptorBuilder$CircuitBreakerInterceptorBuilder].retryOperations(org.springframework.retry.RetryOperations)"
    - "[org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor].getBackoffPolicy(org.springframework.retry.'annotation'.Backoff)"
    - "[org.springframework.retry.interceptor.RetryInterceptorBuilder$StatefulRetryInterceptorBuilder].keyGenerator(org.springframework.retry.interceptor.MethodArgumentsKeyGenerator)"
    - "[org.springframework.retry.interceptor.RetryInterceptorBuilder].stateful()"
    - "[org.springframework.retry.interceptor.RetryInterceptorBuilder$StatefulRetryInterceptorBuilder].newMethodArgumentsIdentifier(org.springframework.retry.interceptor.NewMethodArgumentsIdentifier)"
    - "[org.springframework.retry.interceptor.RetryInterceptorBuilder$StatefulRetryInterceptorBuilder].retryOperations(org.springframework.retry.RetryOperations)"
    - "[org.springframework.retry.interceptor.RetryInterceptorBuilder$StatefulRetryInterceptorBuilder].recoverer(org.springframework.retry.interceptor.MethodInvocationRecoverer)"
    - "[org.springframework.retry.interceptor.RetryInterceptorBuilder].recoverer(org.springframework.retry.interceptor.MethodInvocationRecoverer)"
    - "[org.springframework.retry.annotation.Retryable].listeners()"
    - "[org.springframework.retry.annotation.CircuitBreaker].label()"
    - "[org.springframework.retry.interceptor.RetryInterceptorBuilder].build()"
    - "[org.springframework.retry.annotation.Retryable].backoff()"
    - "[org.springframework.retry.annotation.Retryable].label()"
    functionUses: 1
    ICount: 57
    EdgeCount: 41
    BranchProfiles:
    - Branch String: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:229"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:232"
        BranchSideFuncs:
        - "findAnnotationOnTarget(java.lang.Object,java.lang.reflect.Method,java.lang.Class)"
      - BranchSide: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:231"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:232"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:246"
        BranchSideFuncs:
        - "setResetTimeout(long)"
        - "getOpenTimeout(org.springframework.retry.'annotation'.CircuitBreaker)"
        - "getResetTimeout(org.springframework.retry.'annotation'.CircuitBreaker)"
        - "<init>()"
        - "setOpenTimeout(long)"
        - "<init>(org.springframework.retry.RetryPolicy)"
        - "hasText(java.lang.String)"
      - BranchSide: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:245"
        BranchSideFuncs:
        - "getBackoffPolicy(org.springframework.retry.'annotation'.Backoff)"
        - "keyGenerator(org.springframework.retry.interceptor.MethodArgumentsKeyGenerator)"
        - "stateful()"
        - "setBackOffPolicy(org.springframework.retry.backoff.BackOffPolicy)"
        - "setRetryPolicy(org.springframework.retry.RetryPolicy)"
        - "getRetryPolicy(java.lang.'annotation'.Annotation)"
    - Branch String: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:240"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:243"
        BranchSideFuncs:
        - "toGenericString()"
      - BranchSide: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:242"
        BranchSideFuncs:
        - "circuitBreaker()"
        - "<init>(java.lang.String)"
    Callsites:
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:225,1"
      Dst: "[org.springframework.retry.annotation.Retryable].listeners()"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:225,1"
      Dst: "[org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor].createTemplate(java.lang.String[])"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:226,1"
      Dst: "[org.springframework.retry.support.RetryTemplate].setRetryContextCache(org.springframework.retry.policy.RetryContextCache)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:228,1"
      Dst: "[org.springframework.core.annotation.AnnotatedElementUtils].findMergedAnnotation(java.lang.reflect.AnnotatedElement,java.lang.Class)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:230,1"
      Dst: "[org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor].findAnnotationOnTarget(java.lang.Object,java.lang.reflect.Method,java.lang.Class)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:233,1"
      Dst: "[org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor].getRetryPolicy(java.lang.'annotation'.Annotation)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:234,1"
      Dst: "[org.springframework.retry.policy.CircuitBreakerRetryPolicy].<init>(org.springframework.retry.RetryPolicy)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:235,1"
      Dst: "[org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor].getOpenTimeout(org.springframework.retry.'annotation'.CircuitBreaker)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:235,1"
      Dst: "[org.springframework.retry.policy.CircuitBreakerRetryPolicy].setOpenTimeout(long)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:236,1"
      Dst: "[org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor].getResetTimeout(org.springframework.retry.'annotation'.CircuitBreaker)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:236,1"
      Dst: "[org.springframework.retry.policy.CircuitBreakerRetryPolicy].setResetTimeout(long)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:237,1"
      Dst: "[org.springframework.retry.support.RetryTemplate].setRetryPolicy(org.springframework.retry.RetryPolicy)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:238,1"
      Dst: "[org.springframework.retry.backoff.NoBackOffPolicy].<init>()"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:238,1"
      Dst: "[org.springframework.retry.support.RetryTemplate].setBackOffPolicy(org.springframework.retry.backoff.BackOffPolicy)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:239,1"
      Dst: "[org.springframework.retry.annotation.CircuitBreaker].label()"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:240,1"
      Dst: "[org.springframework.util.StringUtils].hasText(java.lang.String)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:241,1"
      Dst: "[java.lang.reflect.Method].toGenericString()"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:243,1"
      Dst: "[org.springframework.retry.interceptor.RetryInterceptorBuilder].circuitBreaker()"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:243,1"
      Dst: "[org.springframework.retry.interceptor.FixedKeyGenerator].<init>(java.lang.String)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:243,1"
      Dst: "[org.springframework.retry.interceptor.RetryInterceptorBuilder$CircuitBreakerInterceptorBuilder].keyGenerator(org.springframework.retry.interceptor.MethodArgumentsKeyGenerator)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:244,1"
      Dst: "[org.springframework.retry.interceptor.RetryInterceptorBuilder$CircuitBreakerInterceptorBuilder].retryOperations(org.springframework.retry.RetryOperations)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:244,1"
      Dst: "[org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor].getRecoverer(java.lang.Object,java.lang.reflect.Method)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:244,1"
      Dst: "[org.springframework.retry.interceptor.RetryInterceptorBuilder$CircuitBreakerInterceptorBuilder].recoverer(org.springframework.retry.interceptor.MethodInvocationRecoverer)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:244,1"
      Dst: "[org.springframework.retry.interceptor.RetryInterceptorBuilder].label(java.lang.String)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:244,1"
      Dst: "[org.springframework.retry.interceptor.RetryInterceptorBuilder].build()"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:248,1"
      Dst: "[org.springframework.retry.annotation.Retryable].backoff()"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:248,1"
      Dst: "[org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor].getBackoffPolicy(org.springframework.retry.'annotation'.Backoff)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:249,1"
      Dst: "[org.springframework.retry.annotation.Retryable].label()"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:250,1"
      Dst: "[org.springframework.retry.interceptor.RetryInterceptorBuilder].stateful()"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:250,1"
      Dst: "[org.springframework.retry.interceptor.RetryInterceptorBuilder$StatefulRetryInterceptorBuilder].keyGenerator(org.springframework.retry.interceptor.MethodArgumentsKeyGenerator)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:251,1"
      Dst: "[org.springframework.retry.interceptor.RetryInterceptorBuilder$StatefulRetryInterceptorBuilder].newMethodArgumentsIdentifier(org.springframework.retry.interceptor.NewMethodArgumentsIdentifier)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:251,1"
      Dst: "[org.springframework.retry.interceptor.RetryInterceptorBuilder$StatefulRetryInterceptorBuilder].retryOperations(org.springframework.retry.RetryOperations)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:252,1"
      Dst: "[org.springframework.retry.interceptor.RetryInterceptorBuilder].recoverer(org.springframework.retry.interceptor.MethodInvocationRecoverer)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor].createTemplate(java.lang.String[])"
    functionSourceFile: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor"
    linkageType: ""
    functionLinenumber: 277
    functionLinenumberEnd: 286
    functionDepth: 6
    returnType: "org.springframework.retry.support.RetryTemplate"
    argCount: 1
    argTypes:
    - "java.lang.String[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.support.RetryTemplate].<init>()"
    - "[org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor].getListenersBeans(java.lang.String[])"
    - "[org.springframework.retry.support.RetryTemplate].setListeners(org.springframework.retry.RetryListener[])"
    functionUses: 2
    ICount: 14
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:279"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:282"
        BranchSideFuncs:
        - "getListenersBeans(java.lang.String[])"
      - BranchSide: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:281"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:282"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:285"
        BranchSideFuncs:
        - "setListeners(org.springframework.retry.RetryListener[])"
      - BranchSide: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:284"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:278,1"
      Dst: "[org.springframework.retry.support.RetryTemplate].<init>()"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:280,1"
      Dst: "[org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor].getListenersBeans(java.lang.String[])"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:280,1"
      Dst: "[org.springframework.retry.support.RetryTemplate].setListeners(org.springframework.retry.RetryListener[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor].getListenersBeans(java.lang.String[])"
    functionSourceFile: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor"
    linkageType: ""
    functionLinenumber: 288
    functionLinenumberEnd: 294
    functionDepth: 0
    returnType: "org.springframework.retry.RetryListener[]"
    argCount: 1
    argTypes:
    - "java.lang.String[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.context.support.AbstractApplicationContext].getBean(java.lang.String,java.lang.Class)"
    - "[org.springframework.jndi.support.SimpleJndiBeanFactory].getBean(java.lang.String,java.lang.Class)"
    - "[org.springframework.beans.factory.support.AbstractBeanFactory].getBean(java.lang.String,java.lang.Class)"
    - "[org.springframework.beans.factory.support.StaticListableBeanFactory].getBean(java.lang.String,java.lang.Class)"
    - "[org.springframework.beans.factory.BeanFactory].getBean(java.lang.String,java.lang.Class)"
    functionUses: 1
    ICount: 15
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:290"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:292"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:291,1"
      Dst: "[org.springframework.beans.factory.BeanFactory].getBean(java.lang.String,java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[org.springframework.retry.support.RetryTemplate].setListeners(org.springframework.retry.RetryListener[])"
    functionSourceFile: "org.springframework.retry.support.RetryTemplate"
    linkageType: ""
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.springframework.retry.RetryListener[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Arrays].asList(java.lang.Object[])"
    - "[java.util.AbstractCollection].toArray(java.lang.Object[])"
    - "[java.util.ArrayList].toArray(java.lang.Object[])"
    - "[java.util.Vector].toArray(java.lang.Object[])"
    - "[java.util.LinkedList].toArray(java.lang.Object[])"
    - "[sun.awt.util.IdentityArrayList].toArray(java.lang.Object[])"
    - "[org.springframework.util.AutoPopulatingList].toArray(java.lang.Object[])"
    - "[java.util.concurrent.CopyOnWriteArrayList].toArray(java.lang.Object[])"
    - "[java.util.List].toArray(java.lang.Object[])"
    functionUses: 2
    ICount: 9
    EdgeCount: 8
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.support.RetryTemplate:142,1"
      Dst: "[java.util.Arrays].asList(java.lang.Object[])"
    - Src: "org.springframework.retry.support.RetryTemplate:142,1"
      Dst: "[java.util.List].toArray(java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.support.RetryTemplate].setRetryContextCache(org.springframework.retry.policy.RetryContextCache)"
    functionSourceFile: "org.springframework.retry.support.RetryTemplate"
    linkageType: ""
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.springframework.retry.policy.RetryContextCache"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor].getRetryPolicy(java.lang.'annotation'.Annotation)"
    functionSourceFile: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor"
    linkageType: ""
    functionLinenumber: 316
    functionLinenumberEnd: 362
    functionDepth: 6
    returnType: "org.springframework.retry.RetryPolicy"
    argCount: 1
    argTypes:
    - "java.lang.annotation.Annotation"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.core.annotation.AnnotationUtils].getAnnotationAttributes(java.lang.'annotation'.Annotation)"
    - "[org.springframework.util.ConcurrentReferenceHashMap].get(java.lang.Object)"
    - "[org.springframework.util.LinkedCaseInsensitiveMap].get(java.lang.Object)"
    - "[java.awt.RenderingHints].get(java.lang.Object)"
    - "[com.google.gson.internal.LinkedTreeMap].get(java.lang.Object)"
    - "[com.sun.net.httpserver.Headers].get(java.lang.Object)"
    - "[org.springframework.core.env.ReadOnlySystemAttributesMap].get(java.lang.Object)"
    - "[java.util.EnumMap].get(java.lang.Object)"
    - "[java.security.Provider].get(java.lang.Object)"
    - "[org.springframework.cglib.beans.BeanMap].get(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentHashMap].get(java.lang.Object)"
    - "[javax.script.SimpleBindings].get(java.lang.Object)"
    - "[org.springframework.util.LinkedMultiValueMap].get(java.lang.Object)"
    - "[java.util.jar.Attributes].get(java.lang.Object)"
    - "[java.util.AbstractMap].get(java.lang.Object)"
    - "[java.util.WeakHashMap].get(java.lang.Object)"
    - "[java.util.Hashtable].get(java.lang.Object)"
    - "[org.springframework.util.CollectionUtils$MultiValueMapAdapter].get(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentSkipListMap$SubMap].get(java.lang.Object)"
    - "[java.util.LinkedHashMap].get(java.lang.Object)"
    - "[com.google.gson.internal.LinkedHashTreeMap].get(java.lang.Object)"
    - "[java.util.HashMap].get(java.lang.Object)"
    - "[org.apache.commons.logging.impl.WeakHashtable].get(java.lang.Object)"
    - "[java.util.IdentityHashMap].get(java.lang.Object)"
    - "[java.util.Properties].get(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentSkipListMap].get(java.lang.Object)"
    - "[java.util.TreeMap].get(java.lang.Object)"
    - "[org.springframework.util.StringUtils].hasText(java.lang.String)"
    - "[org.springframework.retry.policy.ExpressionRetryPolicy].isTemplate(java.lang.String)"
    - "[org.springframework.expression.common.TemplateAwareExpressionParser].parseExpression(java.lang.String,org.springframework.expression.ParserContext)"
    - "[org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor].resolve(java.lang.String)"
    - "[org.springframework.expression.common.LiteralExpression].getValue(org.springframework.expression.EvaluationContext,java.lang.Class)"
    - "[org.springframework.expression.spel.standard.SpelExpression].getValue(org.springframework.expression.EvaluationContext,java.lang.Class)"
    - "[org.springframework.expression.common.CompositeStringExpression].getValue(org.springframework.expression.EvaluationContext,java.lang.Class)"
    - "[org.springframework.expression.common.TemplateAwareExpressionParser].parseExpression(java.lang.String)"
    - "[org.springframework.retry.policy.ExpressionRetryPolicy].<init>(java.lang.String)"
    - "[org.springframework.retry.policy.ExpressionRetryPolicy].withBeanFactory(org.springframework.beans.factory.BeanFactory)"
    - "[org.springframework.retry.policy.SimpleRetryPolicy].<init>()"
    - "[java.lang.Integer].intValue()"
    - "[org.springframework.retry.policy.SimpleRetryPolicy].setMaxAttempts(int)"
    - "[java.util.HashMap].<init>()"
    - "[org.springframework.validation.support.BindingAwareModelMap].put(java.lang.Object,java.lang.Object)"
    - "[java.util.HashMap].put(java.lang.Object,java.lang.Object)"
    - "[java.lang.Boolean].valueOf(boolean)"
    - "[org.springframework.retry.policy.ExpressionRetryPolicy].<init>(int,java.util.Map,boolean,java.lang.String,boolean)"
    - "[org.springframework.retry.policy.SimpleRetryPolicy].<init>(int,java.util.Map,boolean,boolean)"
    - "[java.util.Map].get(java.lang.Object)"
    - "[org.springframework.expression.Expression].getValue(org.springframework.expression.EvaluationContext,java.lang.Class)"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    functionUses: 3
    ICount: 90
    EdgeCount: 188
    BranchProfiles:
    - Branch String: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:322"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:327"
        BranchSideFuncs:
        - "get(java.lang.Object)"
        - "hasText(java.lang.String)"
    - Branch String: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:331"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:341"
        BranchSideFuncs:
        - "isTemplate(java.lang.String)"
      - BranchSide: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:340"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:332"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:337"
        BranchSideFuncs:
        - "parseExpression(java.lang.String,org.springframework.expression.ParserContext)"
      - BranchSide: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:336"
        BranchSideFuncs:
        - "parseExpression(java.lang.String)"
        - "getValue(org.springframework.expression.EvaluationContext,java.lang.Class)"
    - Branch String: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:341"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:348"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:347"
        BranchSideFuncs:
        - "<init>()"
    - Branch String: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:341"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:348"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:347"
        BranchSideFuncs:
        - "<init>()"
    - Branch String: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:342"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:344"
        BranchSideFuncs:
        - "resolve(java.lang.String)"
        - "<init>(java.lang.String)"
      - BranchSide: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:343"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:349"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:351"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:352"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:354"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:355"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:-1"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:-2"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:356"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:361"
        BranchSideFuncs:
        - "<init>(int,java.util.Map,boolean,java.lang.String,boolean)"
      - BranchSide: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:360"
        BranchSideFuncs:
        - "<init>(int,java.util.Map,boolean,boolean)"
        - "intValue()"
    Callsites:
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:317,1"
      Dst: "[org.springframework.core.annotation.AnnotationUtils].getAnnotationAttributes(java.lang.'annotation'.Annotation)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:319,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:321,1"
      Dst: "[org.springframework.util.StringUtils].hasText(java.lang.String)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:332,1"
      Dst: "[org.springframework.retry.policy.ExpressionRetryPolicy].isTemplate(java.lang.String)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:333,1"
      Dst: "[org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor].resolve(java.lang.String)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:333,1"
      Dst: "[org.springframework.expression.common.TemplateAwareExpressionParser].parseExpression(java.lang.String,org.springframework.expression.ParserContext)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:334,1"
      Dst: "[org.springframework.expression.Expression].getValue(org.springframework.expression.EvaluationContext,java.lang.Class)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:337,1"
      Dst: "[org.springframework.expression.common.TemplateAwareExpressionParser].parseExpression(java.lang.String)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:343,1"
      Dst: "[org.springframework.retry.policy.ExpressionRetryPolicy].<init>(java.lang.String)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:343,1"
      Dst: "[org.springframework.retry.policy.ExpressionRetryPolicy].withBeanFactory(org.springframework.beans.factory.BeanFactory)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:344,1"
      Dst: "[org.springframework.retry.policy.SimpleRetryPolicy].<init>()"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:345,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:345,1"
      Dst: "[org.springframework.retry.policy.SimpleRetryPolicy].setMaxAttempts(int)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:348,1"
      Dst: "[java.util.HashMap].<init>()"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:350,1"
      Dst: "[java.lang.Boolean].valueOf(boolean)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:350,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:357,1"
      Dst: "[org.springframework.retry.policy.ExpressionRetryPolicy].<init>(int,java.util.Map,boolean,java.lang.String,boolean)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:361,1"
      Dst: "[org.springframework.retry.policy.SimpleRetryPolicy].<init>(int,java.util.Map,boolean,boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 24
    CyclomaticComplexity: 9
  - functionName: "[org.springframework.retry.policy.ExpressionRetryPolicy].isTemplate(java.lang.String)"
    functionSourceFile: "org.springframework.retry.policy.ExpressionRetryPolicy"
    linkageType: ""
    functionLinenumber: 143
    functionLinenumberEnd: 146
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].contains(java.lang.CharSequence)"
    - "[org.springframework.expression.common.TemplateParserContext].getExpressionPrefix()"
    - "[org.springframework.expression.common.TemplateParserContext].getExpressionSuffix()"
    functionUses: 6
    ICount: 13
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "org.springframework.retry.policy.ExpressionRetryPolicy:144"
      Branch Sides:
      - BranchSide: "org.springframework.retry.policy.ExpressionRetryPolicy:144"
        BranchSideFuncs:
        - "contains(java.lang.CharSequence)"
        - "getExpressionSuffix()"
      - BranchSide: "org.springframework.retry.policy.ExpressionRetryPolicy:143"
        BranchSideFuncs:
        - "getExpressionPrefix()"
    - Branch String: "org.springframework.retry.policy.ExpressionRetryPolicy:145"
      Branch Sides:
      - BranchSide: "org.springframework.retry.policy.ExpressionRetryPolicy:143"
        BranchSideFuncs:
        - "getExpressionPrefix()"
    Callsites:
    - Src: "org.springframework.retry.policy.ExpressionRetryPolicy:144,1"
      Dst: "[org.springframework.expression.common.TemplateParserContext].getExpressionPrefix()"
    - Src: "org.springframework.retry.policy.ExpressionRetryPolicy:144,1"
      Dst: "[java.lang.String].contains(java.lang.CharSequence)"
    - Src: "org.springframework.retry.policy.ExpressionRetryPolicy:145,1"
      Dst: "[org.springframework.expression.common.TemplateParserContext].getExpressionSuffix()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor].resolve(java.lang.String)"
    functionSourceFile: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor"
    linkageType: ""
    functionLinenumber: 425
    functionLinenumberEnd: 430
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.beans.factory.support.AbstractBeanFactory].resolveEmbeddedValue(java.lang.String)"
    - "[org.springframework.beans.factory.config.ConfigurableBeanFactory].resolveEmbeddedValue(java.lang.String)"
    functionUses: 13
    ICount: 12
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:426"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:429"
        BranchSideFuncs:
        - "resolveEmbeddedValue(java.lang.String)"
      - BranchSide: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:428"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:426"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:429"
        BranchSideFuncs:
        - "resolveEmbeddedValue(java.lang.String)"
      - BranchSide: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:428"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:427,1"
      Dst: "[org.springframework.beans.factory.config.ConfigurableBeanFactory].resolveEmbeddedValue(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[org.springframework.retry.policy.ExpressionRetryPolicy].<init>(java.lang.String)"
    functionSourceFile: "org.springframework.retry.policy.ExpressionRetryPolicy"
    linkageType: ""
    functionLinenumber: 66
    functionLinenumberEnd: 71
    functionDepth: 5
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.expression.spel.support.StandardEvaluationContext].<init>()"
    - "[org.springframework.retry.policy.SimpleRetryPolicy].<init>()"
    - "[org.springframework.util.Assert].notNull(java.lang.Object,java.lang.String)"
    - "[org.springframework.retry.policy.ExpressionRetryPolicy].getExpression(java.lang.String)"
    functionUses: 1
    ICount: 10
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.policy.ExpressionRetryPolicy:67,1"
      Dst: "[org.springframework.retry.policy.SimpleRetryPolicy].<init>()"
    - Src: "org.springframework.retry.policy.ExpressionRetryPolicy:52,1"
      Dst: "[org.springframework.expression.spel.support.StandardEvaluationContext].<init>()"
    - Src: "org.springframework.retry.policy.ExpressionRetryPolicy:68,1"
      Dst: "[org.springframework.util.Assert].notNull(java.lang.Object,java.lang.String)"
    - Src: "org.springframework.retry.policy.ExpressionRetryPolicy:69,1"
      Dst: "[org.springframework.retry.policy.ExpressionRetryPolicy].getExpression(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.ExpressionRetryPolicy].getExpression(java.lang.String)"
    functionSourceFile: "org.springframework.retry.policy.ExpressionRetryPolicy"
    linkageType: ""
    functionLinenumber: 129
    functionLinenumberEnd: 136
    functionDepth: 1
    returnType: "org.springframework.expression.Expression"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.policy.ExpressionRetryPolicy].isTemplate(java.lang.String)"
    - "[org.apache.commons.logging.impl.SimpleLog].warn(java.lang.Object)"
    - "[org.apache.commons.logging.impl.LogKitLogger].warn(java.lang.Object)"
    - "[org.apache.commons.logging.impl.Jdk14Logger].warn(java.lang.Object)"
    - "[org.apache.commons.logging.impl.AvalonLogger].warn(java.lang.Object)"
    - "[org.apache.commons.logging.impl.Jdk13LumberjackLogger].warn(java.lang.Object)"
    - "[org.apache.commons.logging.impl.Log4JLogger].warn(java.lang.Object)"
    - "[org.apache.commons.logging.impl.NoOpLog].warn(java.lang.Object)"
    - "[org.springframework.expression.spel.standard.SpelExpressionParser].<init>()"
    - "[org.springframework.expression.common.TemplateAwareExpressionParser].parseExpression(java.lang.String,org.springframework.expression.ParserContext)"
    - "[org.springframework.expression.common.TemplateAwareExpressionParser].parseExpression(java.lang.String)"
    - "[org.apache.commons.logging.Log].warn(java.lang.Object)"
    functionUses: 2
    ICount: 14
    EdgeCount: 12
    BranchProfiles:
    - Branch String: "org.springframework.retry.policy.ExpressionRetryPolicy:130"
      Branch Sides:
      - BranchSide: "org.springframework.retry.policy.ExpressionRetryPolicy:135"
        BranchSideFuncs:
        - "warn(java.lang.Object)"
        - "parseExpression(java.lang.String,org.springframework.expression.ParserContext)"
      - BranchSide: "org.springframework.retry.policy.ExpressionRetryPolicy:134"
        BranchSideFuncs:
        - "<init>()"
        - "parseExpression(java.lang.String)"
    Callsites:
    - Src: "org.springframework.retry.policy.ExpressionRetryPolicy:130,1"
      Dst: "[org.springframework.retry.policy.ExpressionRetryPolicy].isTemplate(java.lang.String)"
    - Src: "org.springframework.retry.policy.ExpressionRetryPolicy:131,1"
      Dst: "[org.apache.commons.logging.Log].warn(java.lang.Object)"
    - Src: "org.springframework.retry.policy.ExpressionRetryPolicy:133,1"
      Dst: "[org.springframework.expression.spel.standard.SpelExpressionParser].<init>()"
    - Src: "org.springframework.retry.policy.ExpressionRetryPolicy:133,1"
      Dst: "[org.springframework.expression.common.TemplateAwareExpressionParser].parseExpression(java.lang.String,org.springframework.expression.ParserContext)"
    - Src: "org.springframework.retry.policy.ExpressionRetryPolicy:135,1"
      Dst: "[org.springframework.expression.common.TemplateAwareExpressionParser].parseExpression(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.ExpressionRetryPolicy].withBeanFactory(org.springframework.beans.factory.BeanFactory)"
    functionSourceFile: "org.springframework.retry.policy.ExpressionRetryPolicy"
    linkageType: ""
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionDepth: 1
    returnType: "org.springframework.retry.policy.ExpressionRetryPolicy"
    argCount: 1
    argTypes:
    - "org.springframework.beans.factory.BeanFactory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.policy.ExpressionRetryPolicy].setBeanFactory(org.springframework.beans.factory.BeanFactory)"
    functionUses: 2
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.policy.ExpressionRetryPolicy:107,1"
      Dst: "[org.springframework.retry.policy.ExpressionRetryPolicy].setBeanFactory(org.springframework.beans.factory.BeanFactory)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.ExpressionRetryPolicy].setBeanFactory(org.springframework.beans.factory.BeanFactory)"
    functionSourceFile: "org.springframework.retry.policy.ExpressionRetryPolicy"
    linkageType: ""
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.springframework.beans.factory.BeanFactory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.context.expression.BeanFactoryResolver].<init>(org.springframework.beans.factory.BeanFactory)"
    - "[org.springframework.expression.spel.support.StandardEvaluationContext].setBeanResolver(org.springframework.expression.BeanResolver)"
    functionUses: 7
    ICount: 7
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.policy.ExpressionRetryPolicy:103,1"
      Dst: "[org.springframework.context.expression.BeanFactoryResolver].<init>(org.springframework.beans.factory.BeanFactory)"
    - Src: "org.springframework.retry.policy.ExpressionRetryPolicy:103,1"
      Dst: "[org.springframework.expression.spel.support.StandardEvaluationContext].setBeanResolver(org.springframework.expression.BeanResolver)"
    JavaMethodInfo:
      exceptions:
      - "org.springframework.beans.BeansException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.ExpressionRetryPolicy].<init>(int,java.util.Map,boolean,java.lang.String,boolean)"
    functionSourceFile: "org.springframework.retry.policy.ExpressionRetryPolicy"
    linkageType: ""
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionDepth: 4
    returnType: "void"
    argCount: 5
    argTypes:
    - "int"
    - "java.util.Map"
    - "boolean"
    - "java.lang.String"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.expression.spel.support.StandardEvaluationContext].<init>()"
    - "[org.springframework.retry.policy.SimpleRetryPolicy].<init>(int,java.util.Map,boolean,boolean)"
    - "[org.springframework.util.Assert].notNull(java.lang.Object,java.lang.String)"
    - "[org.springframework.retry.policy.ExpressionRetryPolicy].getExpression(java.lang.String)"
    functionUses: 1
    ICount: 14
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.policy.ExpressionRetryPolicy:96,1"
      Dst: "[org.springframework.retry.policy.SimpleRetryPolicy].<init>(int,java.util.Map,boolean,boolean)"
    - Src: "org.springframework.retry.policy.ExpressionRetryPolicy:52,1"
      Dst: "[org.springframework.expression.spel.support.StandardEvaluationContext].<init>()"
    - Src: "org.springframework.retry.policy.ExpressionRetryPolicy:97,1"
      Dst: "[org.springframework.util.Assert].notNull(java.lang.Object,java.lang.String)"
    - Src: "org.springframework.retry.policy.ExpressionRetryPolicy:98,1"
      Dst: "[org.springframework.retry.policy.ExpressionRetryPolicy].getExpression(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor].getOpenTimeout(org.springframework.retry.'annotation'.CircuitBreaker)"
    functionSourceFile: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor"
    linkageType: ""
    functionLinenumber: 255
    functionLinenumberEnd: 264
    functionDepth: 1
    returnType: "long"
    argCount: 1
    argTypes:
    - "org.springframework.retry.annotation.CircuitBreaker"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.util.StringUtils].hasText(java.lang.String)"
    - "[org.springframework.expression.common.TemplateAwareExpressionParser].parseExpression(java.lang.String,org.springframework.expression.ParserContext)"
    - "[org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor].resolve(java.lang.String)"
    - "[org.springframework.expression.spel.standard.SpelExpression].getValue(java.lang.Class)"
    - "[org.springframework.expression.common.CompositeStringExpression].getValue(java.lang.Class)"
    - "[org.springframework.expression.common.LiteralExpression].getValue(java.lang.Class)"
    - "[java.lang.Long].longValue()"
    - "[org.springframework.retry.annotation.CircuitBreaker].openTimeoutExpression()"
    - "[org.springframework.expression.Expression].getValue(java.lang.Class)"
    - "[org.springframework.retry.annotation.CircuitBreaker].openTimeout()"
    functionUses: 1
    ICount: 17
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:256"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:263"
        BranchSideFuncs:
        - "parseExpression(java.lang.String,org.springframework.expression.ParserContext)"
        - "resolve(java.lang.String)"
        - "getValue(java.lang.Class)"
      - BranchSide: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:262"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:259"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:263"
        BranchSideFuncs:
        - "longValue()"
      - BranchSide: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:262"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:256,1"
      Dst: "[org.springframework.retry.annotation.CircuitBreaker].openTimeoutExpression()"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:256,1"
      Dst: "[org.springframework.util.StringUtils].hasText(java.lang.String)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:257,1"
      Dst: "[org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor].resolve(java.lang.String)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:257,1"
      Dst: "[org.springframework.expression.common.TemplateAwareExpressionParser].parseExpression(java.lang.String,org.springframework.expression.ParserContext)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:258,1"
      Dst: "[org.springframework.expression.Expression].getValue(java.lang.Class)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:260,1"
      Dst: "[java.lang.Long].longValue()"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:263,1"
      Dst: "[org.springframework.retry.annotation.CircuitBreaker].openTimeout()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor].getResetTimeout(org.springframework.retry.'annotation'.CircuitBreaker)"
    functionSourceFile: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor"
    linkageType: ""
    functionLinenumber: 266
    functionLinenumberEnd: 275
    functionDepth: 1
    returnType: "long"
    argCount: 1
    argTypes:
    - "org.springframework.retry.annotation.CircuitBreaker"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.util.StringUtils].hasText(java.lang.String)"
    - "[org.springframework.expression.common.TemplateAwareExpressionParser].parseExpression(java.lang.String,org.springframework.expression.ParserContext)"
    - "[org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor].resolve(java.lang.String)"
    - "[org.springframework.expression.spel.standard.SpelExpression].getValue(java.lang.Class)"
    - "[org.springframework.expression.common.CompositeStringExpression].getValue(java.lang.Class)"
    - "[org.springframework.expression.common.LiteralExpression].getValue(java.lang.Class)"
    - "[java.lang.Long].longValue()"
    - "[org.springframework.retry.annotation.CircuitBreaker].resetTimeoutExpression()"
    - "[org.springframework.expression.Expression].getValue(java.lang.Class)"
    - "[org.springframework.retry.annotation.CircuitBreaker].resetTimeout()"
    functionUses: 1
    ICount: 17
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:267"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:274"
        BranchSideFuncs:
        - "parseExpression(java.lang.String,org.springframework.expression.ParserContext)"
        - "resolve(java.lang.String)"
        - "getValue(java.lang.Class)"
      - BranchSide: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:273"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:270"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:274"
        BranchSideFuncs:
        - "longValue()"
      - BranchSide: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:273"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:267,1"
      Dst: "[org.springframework.retry.annotation.CircuitBreaker].resetTimeoutExpression()"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:267,1"
      Dst: "[org.springframework.util.StringUtils].hasText(java.lang.String)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:268,1"
      Dst: "[org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor].resolve(java.lang.String)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:268,1"
      Dst: "[org.springframework.expression.common.TemplateAwareExpressionParser].parseExpression(java.lang.String,org.springframework.expression.ParserContext)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:269,1"
      Dst: "[org.springframework.expression.Expression].getValue(java.lang.Class)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:271,1"
      Dst: "[java.lang.Long].longValue()"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:274,1"
      Dst: "[org.springframework.retry.annotation.CircuitBreaker].resetTimeout()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[org.springframework.retry.interceptor.FixedKeyGenerator].<init>(java.lang.String)"
    functionSourceFile: "org.springframework.retry.interceptor.FixedKeyGenerator"
    linkageType: ""
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.interceptor.FixedKeyGenerator:27,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.interceptor.RetryInterceptorBuilder$CircuitBreakerInterceptorBuilder].keyGenerator(org.springframework.retry.interceptor.MethodArgumentsKeyGenerator)"
    functionSourceFile: "org.springframework.retry.interceptor.RetryInterceptorBuilder$CircuitBreakerInterceptorBuilder"
    linkageType: ""
    functionLinenumber: 336
    functionLinenumberEnd: 339
    functionDepth: 0
    returnType: "org.springframework.retry.interceptor.RetryInterceptorBuilder$CircuitBreakerInterceptorBuilder"
    argCount: 1
    argTypes:
    - "org.springframework.retry.interceptor.MethodArgumentsKeyGenerator"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.interceptor.RetryInterceptorBuilder$CircuitBreakerInterceptorBuilder].retryOperations(org.springframework.retry.RetryOperations)"
    functionSourceFile: "org.springframework.retry.interceptor.RetryInterceptorBuilder$CircuitBreakerInterceptorBuilder"
    linkageType: ""
    functionLinenumber: 319
    functionLinenumberEnd: 322
    functionDepth: 0
    returnType: "org.springframework.retry.interceptor.RetryInterceptorBuilder$CircuitBreakerInterceptorBuilder"
    argCount: 1
    argTypes:
    - "org.springframework.retry.RetryOperations"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.interceptor.RetryInterceptorBuilder].retryOperations(org.springframework.retry.RetryOperations)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.interceptor.RetryInterceptorBuilder$CircuitBreakerInterceptorBuilder:320,1"
      Dst: "[org.springframework.retry.interceptor.RetryInterceptorBuilder].retryOperations(org.springframework.retry.RetryOperations)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor].getRecoverer(java.lang.Object,java.lang.reflect.Method)"
    functionSourceFile: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor"
    linkageType: ""
    functionLinenumber: 296
    functionLinenumberEnd: 314
    functionDepth: 4
    returnType: "org.springframework.retry.interceptor.MethodInvocationRecoverer<?>"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "java.lang.reflect.Method"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.atomic.AtomicBoolean].<init>(boolean)"
    - "[org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor$2].<init>(org.springframework.retry.'annotation'.AnnotationAwareRetryOperationsInterceptor,java.util.concurrent.atomic.AtomicBoolean)"
    - "[org.springframework.util.ReflectionUtils].doWithMethods(java.lang.Class,org.springframework.util.ReflectionUtils$MethodCallback)"
    - "[java.lang.Object].getClass()"
    - "[java.util.concurrent.atomic.AtomicBoolean].get()"
    - "[org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler].<init>(java.lang.Object,java.lang.reflect.Method)"
    functionUses: 3
    ICount: 19
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:297"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:300"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:299"
        BranchSideFuncs:
        - "doWithMethods(java.lang.Class,org.springframework.util.ReflectionUtils$MethodCallback)"
        - "<init>(boolean)"
        - "get()"
        - "<init>(org.springframework.retry.'annotation'.AnnotationAwareRetryOperationsInterceptor,java.util.concurrent.atomic.AtomicBoolean)"
        - "getClass()"
    - Branch String: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:310"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:313"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:312"
        BranchSideFuncs:
        - "<init>(java.lang.Object,java.lang.reflect.Method)"
    Callsites:
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:300,1"
      Dst: "[java.util.concurrent.atomic.AtomicBoolean].<init>(boolean)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:301,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:301,1"
      Dst: "[org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor$2].<init>(org.springframework.retry.'annotation'.AnnotationAwareRetryOperationsInterceptor,java.util.concurrent.atomic.AtomicBoolean)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:301,1"
      Dst: "[org.springframework.util.ReflectionUtils].doWithMethods(java.lang.Class,org.springframework.util.ReflectionUtils$MethodCallback)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:310,1"
      Dst: "[java.util.concurrent.atomic.AtomicBoolean].get()"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:313,1"
      Dst: "[org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler].<init>(java.lang.Object,java.lang.reflect.Method)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor$2].<init>(org.springframework.retry.'annotation'.AnnotationAwareRetryOperationsInterceptor,java.util.concurrent.atomic.AtomicBoolean)"
    functionSourceFile: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor$2"
    linkageType: ""
    functionLinenumber: 300
    functionLinenumberEnd: 302
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor"
    - "java.util.concurrent.atomic.AtomicBoolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor$2:301,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.classify.SubclassClassifier].<init>()"
    functionSourceFile: "org.springframework.classify.SubclassClassifier"
    linkageType: ""
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.classify.SubclassClassifier].<init>(java.lang.Object)"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.classify.SubclassClassifier:47,1"
      Dst: "[org.springframework.classify.SubclassClassifier].<init>(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.interceptor.RetryInterceptorBuilder$CircuitBreakerInterceptorBuilder].recoverer(org.springframework.retry.interceptor.MethodInvocationRecoverer)"
    functionSourceFile: "org.springframework.retry.interceptor.RetryInterceptorBuilder$CircuitBreakerInterceptorBuilder"
    linkageType: ""
    functionLinenumber: 342
    functionLinenumberEnd: 345
    functionDepth: 0
    returnType: "org.springframework.retry.interceptor.RetryInterceptorBuilder$CircuitBreakerInterceptorBuilder"
    argCount: 1
    argTypes:
    - "org.springframework.retry.interceptor.MethodInvocationRecoverer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.interceptor.RetryInterceptorBuilder].recoverer(org.springframework.retry.interceptor.MethodInvocationRecoverer)"
    functionUses: 3
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.interceptor.RetryInterceptorBuilder$CircuitBreakerInterceptorBuilder:343,1"
      Dst: "[org.springframework.retry.interceptor.RetryInterceptorBuilder].recoverer(org.springframework.retry.interceptor.MethodInvocationRecoverer)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor].getBackoffPolicy(org.springframework.retry.'annotation'.Backoff)"
    functionSourceFile: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor"
    linkageType: ""
    functionLinenumber: 365
    functionLinenumberEnd: 418
    functionDepth: 4
    returnType: "org.springframework.retry.backoff.BackOffPolicy"
    argCount: 1
    argTypes:
    - "org.springframework.retry.annotation.Backoff"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.core.annotation.AnnotationUtils].getAnnotationAttributes(java.lang.'annotation'.Annotation)"
    - "[org.springframework.util.ConcurrentReferenceHashMap].get(java.lang.Object)"
    - "[org.springframework.util.LinkedCaseInsensitiveMap].get(java.lang.Object)"
    - "[java.awt.RenderingHints].get(java.lang.Object)"
    - "[com.google.gson.internal.LinkedTreeMap].get(java.lang.Object)"
    - "[com.sun.net.httpserver.Headers].get(java.lang.Object)"
    - "[org.springframework.core.env.ReadOnlySystemAttributesMap].get(java.lang.Object)"
    - "[java.util.EnumMap].get(java.lang.Object)"
    - "[java.security.Provider].get(java.lang.Object)"
    - "[org.springframework.cglib.beans.BeanMap].get(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentHashMap].get(java.lang.Object)"
    - "[javax.script.SimpleBindings].get(java.lang.Object)"
    - "[org.springframework.util.LinkedMultiValueMap].get(java.lang.Object)"
    - "[java.util.jar.Attributes].get(java.lang.Object)"
    - "[java.util.AbstractMap].get(java.lang.Object)"
    - "[java.util.WeakHashMap].get(java.lang.Object)"
    - "[java.util.Hashtable].get(java.lang.Object)"
    - "[org.springframework.util.CollectionUtils$MultiValueMapAdapter].get(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentSkipListMap$SubMap].get(java.lang.Object)"
    - "[java.util.LinkedHashMap].get(java.lang.Object)"
    - "[com.google.gson.internal.LinkedHashTreeMap].get(java.lang.Object)"
    - "[java.util.HashMap].get(java.lang.Object)"
    - "[org.apache.commons.logging.impl.WeakHashtable].get(java.lang.Object)"
    - "[java.util.IdentityHashMap].get(java.lang.Object)"
    - "[java.util.Properties].get(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentSkipListMap].get(java.lang.Object)"
    - "[java.util.TreeMap].get(java.lang.Object)"
    - "[org.springframework.util.StringUtils].hasText(java.lang.String)"
    - "[org.springframework.retry.policy.ExpressionRetryPolicy].isTemplate(java.lang.String)"
    - "[org.springframework.expression.common.LiteralExpression].getValue(org.springframework.expression.EvaluationContext,java.lang.Class)"
    - "[org.springframework.expression.spel.standard.SpelExpression].getValue(org.springframework.expression.EvaluationContext,java.lang.Class)"
    - "[org.springframework.expression.common.CompositeStringExpression].getValue(org.springframework.expression.EvaluationContext,java.lang.Class)"
    - "[java.lang.Long].longValue()"
    - "[org.springframework.expression.common.TemplateAwareExpressionParser].parseExpression(java.lang.String,org.springframework.expression.ParserContext)"
    - "[org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor].resolve(java.lang.String)"
    - "[org.springframework.expression.common.TemplateAwareExpressionParser].parseExpression(java.lang.String)"
    - "[java.lang.Double].doubleValue()"
    - "[java.lang.Boolean].booleanValue()"
    - "[org.springframework.retry.backoff.BackOffPolicyBuilder].delay(long)"
    - "[org.springframework.retry.backoff.BackOffPolicyBuilder].maxDelay(long)"
    - "[org.springframework.retry.backoff.BackOffPolicyBuilder].multiplier(double)"
    - "[org.springframework.retry.backoff.BackOffPolicyBuilder].newBuilder()"
    - "[org.springframework.retry.backoff.BackOffPolicyBuilder].random(boolean)"
    - "[org.springframework.retry.backoff.BackOffPolicyBuilder].build()"
    - "[org.springframework.retry.backoff.BackOffPolicyBuilder].sleeper(org.springframework.retry.backoff.Sleeper)"
    - "[org.springframework.retry.annotation.Backoff].delay()"
    - "[org.springframework.retry.annotation.Backoff].value()"
    - "[java.util.Map].get(java.lang.Object)"
    - "[org.springframework.expression.Expression].getValue(org.springframework.expression.EvaluationContext,java.lang.Class)"
    - "[org.springframework.retry.annotation.Backoff].maxDelay()"
    - "[org.springframework.retry.annotation.Backoff].multiplier()"
    - "[org.springframework.retry.annotation.Backoff].random()"
    functionUses: 2
    ICount: 114
    EdgeCount: 168
    BranchProfiles:
    - Branch String: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:367"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:366"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:365"
        BranchSideFuncs:
        - "getAnnotationAttributes(java.lang.'annotation'.Annotation)"
    - Branch String: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:369"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:378"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:377"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:370"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:375"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:374"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:380"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:389"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:388"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:381"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:386"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:385"
        BranchSideFuncs:
        - "longValue()"
    - Branch String: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:391"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:401"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:400"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:392"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:397"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:396"
        BranchSideFuncs:
        - "doubleValue()"
    - Branch String: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:402"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:416"
        BranchSideFuncs:
        - "get(java.lang.Object)"
        - "hasText(java.lang.String)"
      - BranchSide: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:415"
        BranchSideFuncs:
        - "random(boolean)"
        - "multiplier(double)"
        - "delay(long)"
        - "newBuilder()"
        - "maxDelay(long)"
    - Branch String: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:405"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:416"
        BranchSideFuncs:
        - "isTemplate(java.lang.String)"
      - BranchSide: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:415"
        BranchSideFuncs:
        - "random(boolean)"
        - "multiplier(double)"
        - "delay(long)"
        - "newBuilder()"
        - "maxDelay(long)"
    - Branch String: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:406"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:411"
        BranchSideFuncs:
        - "parseExpression(java.lang.String,org.springframework.expression.ParserContext)"
      - BranchSide: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:410"
        BranchSideFuncs:
        - "booleanValue()"
        - "parseExpression(java.lang.String)"
        - "getValue(org.springframework.expression.EvaluationContext,java.lang.Class)"
        - "resolve(java.lang.String)"
    Callsites:
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:366,1"
      Dst: "[org.springframework.core.annotation.AnnotationUtils].getAnnotationAttributes(java.lang.'annotation'.Annotation)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:367,1"
      Dst: "[org.springframework.retry.annotation.Backoff].delay()"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:367,1"
      Dst: "[org.springframework.retry.annotation.Backoff].value()"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:368,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:369,1"
      Dst: "[org.springframework.util.StringUtils].hasText(java.lang.String)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:370,1"
      Dst: "[org.springframework.retry.policy.ExpressionRetryPolicy].isTemplate(java.lang.String)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:371,1"
      Dst: "[org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor].resolve(java.lang.String)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:371,1"
      Dst: "[org.springframework.expression.common.TemplateAwareExpressionParser].parseExpression(java.lang.String,org.springframework.expression.ParserContext)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:371,1"
      Dst: "[org.springframework.expression.Expression].getValue(org.springframework.expression.EvaluationContext,java.lang.Class)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:371,1"
      Dst: "[java.lang.Long].longValue()"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:375,1"
      Dst: "[org.springframework.expression.common.TemplateAwareExpressionParser].parseExpression(java.lang.String)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:378,1"
      Dst: "[org.springframework.retry.annotation.Backoff].maxDelay()"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:389,1"
      Dst: "[org.springframework.retry.annotation.Backoff].multiplier()"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:394,1"
      Dst: "[java.lang.Double].doubleValue()"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:403,1"
      Dst: "[org.springframework.retry.annotation.Backoff].random()"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:408,1"
      Dst: "[java.lang.Boolean].booleanValue()"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:416,1"
      Dst: "[org.springframework.retry.backoff.BackOffPolicyBuilder].newBuilder()"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:416,1"
      Dst: "[org.springframework.retry.backoff.BackOffPolicyBuilder].delay(long)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:416,1"
      Dst: "[org.springframework.retry.backoff.BackOffPolicyBuilder].maxDelay(long)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:416,1"
      Dst: "[org.springframework.retry.backoff.BackOffPolicyBuilder].multiplier(double)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:416,1"
      Dst: "[org.springframework.retry.backoff.BackOffPolicyBuilder].random(boolean)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:417,1"
      Dst: "[org.springframework.retry.backoff.BackOffPolicyBuilder].sleeper(org.springframework.retry.backoff.Sleeper)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:417,1"
      Dst: "[org.springframework.retry.backoff.BackOffPolicyBuilder].build()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 21
    CyclomaticComplexity: 11
  - functionName: "[org.springframework.retry.backoff.BackOffPolicyBuilder].newBuilder()"
    functionSourceFile: "org.springframework.retry.backoff.BackOffPolicyBuilder"
    linkageType: ""
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionDepth: 1
    returnType: "org.springframework.retry.backoff.BackOffPolicyBuilder"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.backoff.BackOffPolicyBuilder].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.backoff.BackOffPolicyBuilder:93,1"
      Dst: "[org.springframework.retry.backoff.BackOffPolicyBuilder].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.backoff.BackOffPolicyBuilder].<init>()"
    functionSourceFile: "org.springframework.retry.backoff.BackOffPolicyBuilder"
    linkageType: ""
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.backoff.BackOffPolicyBuilder:85,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.backoff.BackOffPolicyBuilder].delay(long)"
    functionSourceFile: "org.springframework.retry.backoff.BackOffPolicyBuilder"
    linkageType: ""
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionDepth: 0
    returnType: "org.springframework.retry.backoff.BackOffPolicyBuilder"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.backoff.BackOffPolicyBuilder].maxDelay(long)"
    functionSourceFile: "org.springframework.retry.backoff.BackOffPolicyBuilder"
    linkageType: ""
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionDepth: 0
    returnType: "org.springframework.retry.backoff.BackOffPolicyBuilder"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.backoff.BackOffPolicyBuilder].multiplier(double)"
    functionSourceFile: "org.springframework.retry.backoff.BackOffPolicyBuilder"
    linkageType: ""
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionDepth: 0
    returnType: "org.springframework.retry.backoff.BackOffPolicyBuilder"
    argCount: 1
    argTypes:
    - "double"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.backoff.BackOffPolicyBuilder].random(boolean)"
    functionSourceFile: "org.springframework.retry.backoff.BackOffPolicyBuilder"
    linkageType: ""
    functionLinenumber: 143
    functionLinenumberEnd: 146
    functionDepth: 0
    returnType: "org.springframework.retry.backoff.BackOffPolicyBuilder"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.backoff.BackOffPolicyBuilder].sleeper(org.springframework.retry.backoff.Sleeper)"
    functionSourceFile: "org.springframework.retry.backoff.BackOffPolicyBuilder"
    linkageType: ""
    functionLinenumber: 154
    functionLinenumberEnd: 157
    functionDepth: 0
    returnType: "org.springframework.retry.backoff.BackOffPolicyBuilder"
    argCount: 1
    argTypes:
    - "org.springframework.retry.backoff.Sleeper"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.backoff.BackOffPolicyBuilder].build()"
    functionSourceFile: "org.springframework.retry.backoff.BackOffPolicyBuilder"
    linkageType: ""
    functionLinenumber: 163
    functionLinenumberEnd: 193
    functionDepth: 3
    returnType: "org.springframework.retry.backoff.BackOffPolicy"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.backoff.ExponentialBackOffPolicy].<init>()"
    - "[org.springframework.retry.backoff.ExponentialRandomBackOffPolicy].<init>()"
    - "[org.springframework.retry.backoff.ExponentialBackOffPolicy].setInitialInterval(long)"
    - "[org.springframework.retry.backoff.ExponentialBackOffPolicy].setMultiplier(double)"
    - "[org.springframework.retry.backoff.ExponentialBackOffPolicy].setMaxInterval(long)"
    - "[org.springframework.retry.backoff.ExponentialBackOffPolicy].setSleeper(org.springframework.retry.backoff.Sleeper)"
    - "[org.springframework.retry.backoff.UniformRandomBackOffPolicy].<init>()"
    - "[org.springframework.retry.backoff.UniformRandomBackOffPolicy].setMinBackOffPeriod(long)"
    - "[org.springframework.retry.backoff.UniformRandomBackOffPolicy].setMaxBackOffPeriod(long)"
    - "[org.springframework.retry.backoff.UniformRandomBackOffPolicy].setSleeper(org.springframework.retry.backoff.Sleeper)"
    - "[org.springframework.retry.backoff.FixedBackOffPolicy].<init>()"
    - "[org.springframework.retry.backoff.FixedBackOffPolicy].setBackOffPeriod(long)"
    - "[org.springframework.retry.backoff.FixedBackOffPolicy].setSleeper(org.springframework.retry.backoff.Sleeper)"
    functionUses: 1
    ICount: 57
    EdgeCount: 13
    BranchProfiles:
    - Branch String: "org.springframework.retry.backoff.BackOffPolicyBuilder:164"
      Branch Sides:
      - BranchSide: "org.springframework.retry.backoff.BackOffPolicyBuilder:178"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.backoff.BackOffPolicyBuilder:177"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.backoff.BackOffPolicyBuilder:166"
      Branch Sides:
      - BranchSide: "org.springframework.retry.backoff.BackOffPolicyBuilder:169"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.backoff.BackOffPolicyBuilder:168"
        BranchSideFuncs:
        - "setMaxInterval(long)"
        - "setMultiplier(double)"
        - "setInitialInterval(long)"
    - Branch String: "org.springframework.retry.backoff.BackOffPolicyBuilder:172"
      Branch Sides:
      - BranchSide: "org.springframework.retry.backoff.BackOffPolicyBuilder:169"
        BranchSideFuncs:
        - "setMaxInterval(long)"
      - BranchSide: "org.springframework.retry.backoff.BackOffPolicyBuilder:168"
        BranchSideFuncs:
        - "setMaxInterval(long)"
        - "setMultiplier(double)"
        - "setInitialInterval(long)"
    - Branch String: "org.springframework.retry.backoff.BackOffPolicyBuilder:173"
      Branch Sides:
      - BranchSide: "org.springframework.retry.backoff.BackOffPolicyBuilder:176"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.backoff.BackOffPolicyBuilder:175"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.backoff.BackOffPolicyBuilder:178"
      Branch Sides:
      - BranchSide: "org.springframework.retry.backoff.BackOffPolicyBuilder:187"
        BranchSideFuncs:
        - "setMinBackOffPeriod(long)"
        - "setMaxBackOffPeriod(long)"
      - BranchSide: "org.springframework.retry.backoff.BackOffPolicyBuilder:186"
        BranchSideFuncs:
        - "<init>()"
        - "setBackOffPeriod(long)"
    - Branch String: "org.springframework.retry.backoff.BackOffPolicyBuilder:182"
      Branch Sides:
      - BranchSide: "org.springframework.retry.backoff.BackOffPolicyBuilder:185"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.backoff.BackOffPolicyBuilder:184"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.backoff.BackOffPolicyBuilder:189"
      Branch Sides:
      - BranchSide: "org.springframework.retry.backoff.BackOffPolicyBuilder:192"
        BranchSideFuncs:
        - "setSleeper(org.springframework.retry.backoff.Sleeper)"
      - BranchSide: "org.springframework.retry.backoff.BackOffPolicyBuilder:191"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.springframework.retry.backoff.BackOffPolicyBuilder:165,1"
      Dst: "[org.springframework.retry.backoff.ExponentialBackOffPolicy].<init>()"
    - Src: "org.springframework.retry.backoff.BackOffPolicyBuilder:167,1"
      Dst: "[org.springframework.retry.backoff.ExponentialRandomBackOffPolicy].<init>()"
    - Src: "org.springframework.retry.backoff.BackOffPolicyBuilder:169,1"
      Dst: "[org.springframework.retry.backoff.ExponentialBackOffPolicy].setInitialInterval(long)"
    - Src: "org.springframework.retry.backoff.BackOffPolicyBuilder:170,1"
      Dst: "[org.springframework.retry.backoff.ExponentialBackOffPolicy].setMultiplier(double)"
    - Src: "org.springframework.retry.backoff.BackOffPolicyBuilder:171,1"
      Dst: "[org.springframework.retry.backoff.ExponentialBackOffPolicy].setMaxInterval(long)"
    - Src: "org.springframework.retry.backoff.BackOffPolicyBuilder:174,1"
      Dst: "[org.springframework.retry.backoff.ExponentialBackOffPolicy].setSleeper(org.springframework.retry.backoff.Sleeper)"
    - Src: "org.springframework.retry.backoff.BackOffPolicyBuilder:179,1"
      Dst: "[org.springframework.retry.backoff.UniformRandomBackOffPolicy].<init>()"
    - Src: "org.springframework.retry.backoff.BackOffPolicyBuilder:180,1"
      Dst: "[org.springframework.retry.backoff.UniformRandomBackOffPolicy].setMinBackOffPeriod(long)"
    - Src: "org.springframework.retry.backoff.BackOffPolicyBuilder:181,1"
      Dst: "[org.springframework.retry.backoff.UniformRandomBackOffPolicy].setMaxBackOffPeriod(long)"
    - Src: "org.springframework.retry.backoff.BackOffPolicyBuilder:183,1"
      Dst: "[org.springframework.retry.backoff.UniformRandomBackOffPolicy].setSleeper(org.springframework.retry.backoff.Sleeper)"
    - Src: "org.springframework.retry.backoff.BackOffPolicyBuilder:187,1"
      Dst: "[org.springframework.retry.backoff.FixedBackOffPolicy].<init>()"
    - Src: "org.springframework.retry.backoff.BackOffPolicyBuilder:188,1"
      Dst: "[org.springframework.retry.backoff.FixedBackOffPolicy].setBackOffPeriod(long)"
    - Src: "org.springframework.retry.backoff.BackOffPolicyBuilder:190,1"
      Dst: "[org.springframework.retry.backoff.FixedBackOffPolicy].setSleeper(org.springframework.retry.backoff.Sleeper)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 16
    CyclomaticComplexity: 6
  - functionName: "[org.springframework.retry.backoff.ExponentialBackOffPolicy].<init>()"
    functionSourceFile: "org.springframework.retry.backoff.ExponentialBackOffPolicy"
    linkageType: ""
    functionLinenumber: 42
    functionLinenumberEnd: 79
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.lang.Object].getClass()"
    - "[org.apache.commons.logging.LogFactory].getLog(java.lang.Class)"
    - "[org.springframework.retry.backoff.ThreadWaitSleeper].<init>()"
    functionUses: 2
    ICount: 12
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.backoff.ExponentialBackOffPolicy:43,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "org.springframework.retry.backoff.ExponentialBackOffPolicy:45,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "org.springframework.retry.backoff.ExponentialBackOffPolicy:45,1"
      Dst: "[org.apache.commons.logging.LogFactory].getLog(java.lang.Class)"
    - Src: "org.springframework.retry.backoff.ExponentialBackOffPolicy:78,1"
      Dst: "[org.springframework.retry.backoff.ThreadWaitSleeper].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.backoff.ExponentialRandomBackOffPolicy].<init>()"
    functionSourceFile: "org.springframework.retry.backoff.ExponentialRandomBackOffPolicy"
    linkageType: ""
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.backoff.ExponentialBackOffPolicy].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.backoff.ExponentialRandomBackOffPolicy:48,1"
      Dst: "[org.springframework.retry.backoff.ExponentialBackOffPolicy].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.backoff.ExponentialBackOffPolicy].setInitialInterval(long)"
    functionSourceFile: "org.springframework.retry.backoff.ExponentialBackOffPolicy"
    linkageType: ""
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.springframework.retry.backoff.ExponentialBackOffPolicy:113"
      Branch Sides:
      - BranchSide: "org.springframework.retry.backoff.ExponentialBackOffPolicy:113"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.backoff.ExponentialBackOffPolicy:112"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[org.springframework.retry.backoff.ExponentialBackOffPolicy].setMultiplier(double)"
    functionSourceFile: "org.springframework.retry.backoff.ExponentialBackOffPolicy"
    linkageType: ""
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "double"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.springframework.retry.backoff.ExponentialBackOffPolicy:122"
      Branch Sides:
      - BranchSide: "org.springframework.retry.backoff.ExponentialBackOffPolicy:122"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.backoff.ExponentialBackOffPolicy:121"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[org.springframework.retry.backoff.ExponentialBackOffPolicy].setMaxInterval(long)"
    functionSourceFile: "org.springframework.retry.backoff.ExponentialBackOffPolicy"
    linkageType: ""
    functionLinenumber: 132
    functionLinenumberEnd: 135
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.springframework.retry.backoff.ExponentialBackOffPolicy:133"
      Branch Sides:
      - BranchSide: "org.springframework.retry.backoff.ExponentialBackOffPolicy:133"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.backoff.ExponentialBackOffPolicy:132"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[org.springframework.retry.backoff.ExponentialBackOffPolicy].setSleeper(org.springframework.retry.backoff.Sleeper)"
    functionSourceFile: "org.springframework.retry.backoff.ExponentialBackOffPolicy"
    linkageType: ""
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.springframework.retry.backoff.Sleeper"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.backoff.FixedBackOffPolicy].<init>()"
    functionSourceFile: "org.springframework.retry.backoff.FixedBackOffPolicy"
    linkageType: ""
    functionLinenumber: 30
    functionLinenumberEnd: 44
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.backoff.StatelessBackOffPolicy].<init>()"
    - "[org.springframework.retry.backoff.ThreadWaitSleeper].<init>()"
    functionUses: 1
    ICount: 7
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.backoff.FixedBackOffPolicy:31,1"
      Dst: "[org.springframework.retry.backoff.StatelessBackOffPolicy].<init>()"
    - Src: "org.springframework.retry.backoff.FixedBackOffPolicy:43,1"
      Dst: "[org.springframework.retry.backoff.ThreadWaitSleeper].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.backoff.FixedBackOffPolicy].setBackOffPeriod(long)"
    functionSourceFile: "org.springframework.retry.backoff.FixedBackOffPolicy"
    linkageType: ""
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.springframework.retry.backoff.FixedBackOffPolicy:65"
      Branch Sides:
      - BranchSide: "org.springframework.retry.backoff.FixedBackOffPolicy:65"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.backoff.FixedBackOffPolicy:64"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[org.springframework.retry.backoff.FixedBackOffPolicy].setSleeper(org.springframework.retry.backoff.Sleeper)"
    functionSourceFile: "org.springframework.retry.backoff.FixedBackOffPolicy"
    linkageType: ""
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.springframework.retry.backoff.Sleeper"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.interceptor.RetryInterceptorBuilder$StatefulRetryInterceptorBuilder].keyGenerator(org.springframework.retry.interceptor.MethodArgumentsKeyGenerator)"
    functionSourceFile: "org.springframework.retry.interceptor.RetryInterceptorBuilder$StatefulRetryInterceptorBuilder"
    linkageType: ""
    functionLinenumber: 215
    functionLinenumberEnd: 218
    functionDepth: 0
    returnType: "org.springframework.retry.interceptor.RetryInterceptorBuilder$StatefulRetryInterceptorBuilder"
    argCount: 1
    argTypes:
    - "org.springframework.retry.interceptor.MethodArgumentsKeyGenerator"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.interceptor.RetryInterceptorBuilder$StatefulRetryInterceptorBuilder].newMethodArgumentsIdentifier(org.springframework.retry.interceptor.NewMethodArgumentsIdentifier)"
    functionSourceFile: "org.springframework.retry.interceptor.RetryInterceptorBuilder$StatefulRetryInterceptorBuilder"
    linkageType: ""
    functionLinenumber: 226
    functionLinenumberEnd: 229
    functionDepth: 0
    returnType: "org.springframework.retry.interceptor.RetryInterceptorBuilder$StatefulRetryInterceptorBuilder"
    argCount: 1
    argTypes:
    - "org.springframework.retry.interceptor.NewMethodArgumentsIdentifier"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.interceptor.RetryInterceptorBuilder$StatefulRetryInterceptorBuilder].retryOperations(org.springframework.retry.RetryOperations)"
    functionSourceFile: "org.springframework.retry.interceptor.RetryInterceptorBuilder$StatefulRetryInterceptorBuilder"
    linkageType: ""
    functionLinenumber: 244
    functionLinenumberEnd: 247
    functionDepth: 0
    returnType: "org.springframework.retry.interceptor.RetryInterceptorBuilder$StatefulRetryInterceptorBuilder"
    argCount: 1
    argTypes:
    - "org.springframework.retry.RetryOperations"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.interceptor.RetryInterceptorBuilder].retryOperations(org.springframework.retry.RetryOperations)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.interceptor.RetryInterceptorBuilder$StatefulRetryInterceptorBuilder:245,1"
      Dst: "[org.springframework.retry.interceptor.RetryInterceptorBuilder].retryOperations(org.springframework.retry.RetryOperations)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor].getStatelessInterceptor(java.lang.Object,java.lang.reflect.Method,org.springframework.retry.'annotation'.Retryable)"
    functionSourceFile: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor"
    linkageType: ""
    functionLinenumber: 216
    functionLinenumberEnd: 222
    functionDepth: 7
    returnType: "org.aopalliance.intercept.MethodInterceptor"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "java.lang.reflect.Method"
    - "org.springframework.retry.annotation.Retryable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor].createTemplate(java.lang.String[])"
    - "[org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor].getRetryPolicy(java.lang.'annotation'.Annotation)"
    - "[org.springframework.retry.support.RetryTemplate].setRetryPolicy(org.springframework.retry.RetryPolicy)"
    - "[org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor].getBackoffPolicy(org.springframework.retry.'annotation'.Backoff)"
    - "[org.springframework.retry.support.RetryTemplate].setBackOffPolicy(org.springframework.retry.backoff.BackOffPolicy)"
    - "[org.springframework.retry.interceptor.RetryInterceptorBuilder].label(java.lang.String)"
    - "[org.springframework.retry.interceptor.RetryInterceptorBuilder].retryOperations(org.springframework.retry.RetryOperations)"
    - "[org.springframework.retry.interceptor.RetryInterceptorBuilder].stateless()"
    - "[org.springframework.retry.interceptor.RetryInterceptorBuilder$StatelessRetryInterceptorBuilder].build()"
    - "[org.springframework.retry.interceptor.RetryInterceptorBuilder$CircuitBreakerInterceptorBuilder].build()"
    - "[org.springframework.retry.interceptor.RetryInterceptorBuilder$StatefulRetryInterceptorBuilder].build()"
    - "[org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor].getRecoverer(java.lang.Object,java.lang.reflect.Method)"
    - "[org.springframework.retry.interceptor.RetryInterceptorBuilder$CircuitBreakerInterceptorBuilder].recoverer(org.springframework.retry.interceptor.MethodInvocationRecoverer)"
    - "[org.springframework.retry.interceptor.RetryInterceptorBuilder$StatefulRetryInterceptorBuilder].recoverer(org.springframework.retry.interceptor.MethodInvocationRecoverer)"
    - "[org.springframework.retry.interceptor.RetryInterceptorBuilder].recoverer(org.springframework.retry.interceptor.MethodInvocationRecoverer)"
    - "[org.springframework.retry.annotation.Retryable].listeners()"
    - "[org.springframework.retry.annotation.Retryable].backoff()"
    - "[org.springframework.retry.annotation.Retryable].label()"
    - "[org.springframework.retry.interceptor.RetryInterceptorBuilder].build()"
    functionUses: 1
    ICount: 19
    EdgeCount: 15
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:217,1"
      Dst: "[org.springframework.retry.annotation.Retryable].listeners()"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:217,1"
      Dst: "[org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor].createTemplate(java.lang.String[])"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:218,1"
      Dst: "[org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor].getRetryPolicy(java.lang.'annotation'.Annotation)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:218,1"
      Dst: "[org.springframework.retry.support.RetryTemplate].setRetryPolicy(org.springframework.retry.RetryPolicy)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:219,1"
      Dst: "[org.springframework.retry.annotation.Retryable].backoff()"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:219,1"
      Dst: "[org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor].getBackoffPolicy(org.springframework.retry.'annotation'.Backoff)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:219,1"
      Dst: "[org.springframework.retry.support.RetryTemplate].setBackOffPolicy(org.springframework.retry.backoff.BackOffPolicy)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:220,1"
      Dst: "[org.springframework.retry.interceptor.RetryInterceptorBuilder].stateless()"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:220,1"
      Dst: "[org.springframework.retry.interceptor.RetryInterceptorBuilder].retryOperations(org.springframework.retry.RetryOperations)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:220,1"
      Dst: "[org.springframework.retry.annotation.Retryable].label()"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:220,1"
      Dst: "[org.springframework.retry.interceptor.RetryInterceptorBuilder].label(java.lang.String)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:221,1"
      Dst: "[org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor].getRecoverer(java.lang.Object,java.lang.reflect.Method)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:221,1"
      Dst: "[org.springframework.retry.interceptor.RetryInterceptorBuilder].recoverer(org.springframework.retry.interceptor.MethodInvocationRecoverer)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:221,1"
      Dst: "[org.springframework.retry.interceptor.RetryInterceptorBuilder].build()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor].findAnnotationOnTarget(java.lang.Object,java.lang.reflect.Method,java.lang.Class<A>)"
    functionSourceFile: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor"
    linkageType: ""
    functionLinenumber: 202
    functionLinenumberEnd: 213
    functionDepth: 0
    returnType: "java.lang.annotation.Annotation"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "java.lang.reflect.Method"
    - "java.lang.Class<A>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].getClass()"
    - "[java.lang.Class].getMethod(java.lang.String,java.lang.Class[])"
    - "[java.lang.reflect.Method].getName()"
    - "[java.lang.reflect.Method].getParameterTypes()"
    - "[org.springframework.core.annotation.AnnotatedElementUtils].findMergedAnnotation(java.lang.reflect.AnnotatedElement,java.lang.Class)"
    - "[java.lang.reflect.Method].getDeclaringClass()"
    functionUses: 2
    ICount: 16
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:205"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:209"
        BranchSideFuncs:
        - "findMergedAnnotation(java.lang.reflect.AnnotatedElement,java.lang.Class)"
        - "getDeclaringClass()"
      - BranchSide: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:208"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:203,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:203,1"
      Dst: "[java.lang.reflect.Method].getName()"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:203,1"
      Dst: "[java.lang.reflect.Method].getParameterTypes()"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:203,1"
      Dst: "[java.lang.Class].getMethod(java.lang.String,java.lang.Class[])"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:204,1"
      Dst: "[org.springframework.core.annotation.AnnotatedElementUtils].findMergedAnnotation(java.lang.reflect.AnnotatedElement,java.lang.Class)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor:206,1"
      Dst: "[java.lang.reflect.Method].getDeclaringClass()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.classify.util.SimpleMethodInvoker].<init>(java.lang.Object,java.lang.String,java.lang.Class[])"
    functionSourceFile: "org.springframework.classify.util.SimpleMethodInvoker"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "java.lang.String"
    - "java.lang.Class[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[org.springframework.util.Assert].notNull(java.lang.Object,java.lang.String)"
    - "[java.lang.Object].getClass()"
    - "[org.springframework.util.ClassUtils].getMethodIfAvailable(java.lang.Class,java.lang.String,java.lang.Class[])"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.util.Arrays].toString(java.lang.Object[])"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.reflect.Method].setAccessible(boolean)"
    - "[java.lang.reflect.Method].getParameterTypes()"
    functionUses: 0
    ICount: 32
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.springframework.classify.util.SimpleMethodInvoker:58"
      Branch Sides:
      - BranchSide: "org.springframework.classify.util.SimpleMethodInvoker:62"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.springframework.classify.util.SimpleMethodInvoker:55,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "org.springframework.classify.util.SimpleMethodInvoker:56,1"
      Dst: "[org.springframework.util.Assert].notNull(java.lang.Object,java.lang.String)"
    - Src: "org.springframework.classify.util.SimpleMethodInvoker:57,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "org.springframework.classify.util.SimpleMethodInvoker:57,1"
      Dst: "[org.springframework.util.ClassUtils].getMethodIfAvailable(java.lang.Class,java.lang.String,java.lang.Class[])"
    - Src: "org.springframework.classify.util.SimpleMethodInvoker:63,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "org.springframework.classify.util.SimpleMethodInvoker:63,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "org.springframework.classify.util.SimpleMethodInvoker:63,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "org.springframework.classify.util.SimpleMethodInvoker:64,1"
      Dst: "[java.util.Arrays].toString(java.lang.Object[])"
    - Src: "org.springframework.classify.util.SimpleMethodInvoker:64,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "org.springframework.classify.util.SimpleMethodInvoker:68,1"
      Dst: "[java.lang.reflect.Method].setAccessible(boolean)"
    - Src: "org.springframework.classify.util.SimpleMethodInvoker:69,1"
      Dst: "[java.lang.reflect.Method].getParameterTypes()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[org.springframework.classify.util.SimpleMethodInvoker].invokeMethod(java.lang.Object[])"
    functionSourceFile: "org.springframework.classify.util.SimpleMethodInvoker"
    linkageType: ""
    functionLinenumber: 79
    functionLinenumberEnd: 92
    functionDepth: 2
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[org.springframework.util.Assert].state(boolean,java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    - "[org.springframework.classify.util.SimpleMethodInvoker].extractTarget(java.lang.Object,java.lang.reflect.Method)"
    - "[java.lang.reflect.Method].invoke(java.lang.Object,java.lang.Object[])"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String,java.lang.Throwable)"
    - "[java.lang.StringBuilder:java.util.Arrays].toString()"
    - "[java.lang.StringBuilder].append(int)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.util.Arrays].toString(java.lang.Object[])"
    functionUses: 1
    ICount: 41
    EdgeCount: 11
    BranchProfiles:
    - Branch String: "org.springframework.classify.util.SimpleMethodInvoker:80"
      Branch Sides:
      - BranchSide: "org.springframework.classify.util.SimpleMethodInvoker:80"
        BranchSideFuncs:
        - "invoke(java.lang.Object,java.lang.Object[])"
        - "state(boolean,java.lang.String)"
        - "extractTarget(java.lang.Object,java.lang.reflect.Method)"
      - BranchSide: "org.springframework.classify.util.SimpleMethodInvoker:79"
        BranchSideFuncs:
        - "state(boolean,java.lang.String)"
    Callsites:
    - Src: "org.springframework.classify.util.SimpleMethodInvoker:80,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "org.springframework.classify.util.SimpleMethodInvoker:80,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "org.springframework.classify.util.SimpleMethodInvoker:80,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    - Src: "org.springframework.classify.util.SimpleMethodInvoker:80,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "org.springframework.classify.util.SimpleMethodInvoker:80,1"
      Dst: "[org.springframework.util.Assert].state(boolean,java.lang.String)"
    - Src: "org.springframework.classify.util.SimpleMethodInvoker:86,1"
      Dst: "[org.springframework.classify.util.SimpleMethodInvoker].extractTarget(java.lang.Object,java.lang.reflect.Method)"
    - Src: "org.springframework.classify.util.SimpleMethodInvoker:87,1"
      Dst: "[java.lang.reflect.Method].invoke(java.lang.Object,java.lang.Object[])"
    - Src: "org.springframework.classify.util.SimpleMethodInvoker:90,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "org.springframework.classify.util.SimpleMethodInvoker:91,1"
      Dst: "[java.util.Arrays].toString(java.lang.Object[])"
    - Src: "org.springframework.classify.util.SimpleMethodInvoker:91,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.classify.util.SimpleMethodInvoker].extractTarget(java.lang.Object,java.lang.reflect.Method)"
    functionSourceFile: "org.springframework.classify.util.SimpleMethodInvoker"
    linkageType: ""
    functionLinenumber: 95
    functionLinenumberEnd: 116
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "java.lang.reflect.Method"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$3].getTarget()"
    - "[org.springframework.jmx.export.MBeanExporter$NotificationPublisherAwareLazyTargetSource].getTarget()"
    - "[org.springframework.aop.target.PrototypeTargetSource].getTarget()"
    - "[org.springframework.aop.target.LazyInitTargetSource].getTarget()"
    - "[org.springframework.aop.target.AbstractLazyCreationTargetSource].getTarget()"
    - "[org.springframework.aop.target.SimpleBeanTargetSource].getTarget()"
    - "[org.springframework.context.annotation.ContextAnnotationAutowireCandidateResolver$1].getTarget()"
    - "[org.springframework.aop.target.dynamic.AbstractRefreshableTargetSource].getTarget()"
    - "[org.springframework.aop.target.ThreadLocalTargetSource].getTarget()"
    - "[org.springframework.jndi.JndiObjectTargetSource].getTarget()"
    - "[org.springframework.aop.target.CommonsPoolTargetSource].getTarget()"
    - "[org.springframework.aop.framework.AdvisedSupport].getTargetSource()"
    - "[java.lang.IllegalStateException].<init>(java.lang.String,java.lang.Throwable)"
    - "[org.springframework.classify.util.SimpleMethodInvoker].extractTarget(java.lang.Object,java.lang.reflect.Method)"
    - "[java.lang.Object].getClass()"
    - "[java.lang.reflect.Method].getDeclaringClass()"
    - "[java.lang.Class].isAssignableFrom(java.lang.Class)"
    - "[org.springframework.aop.framework.Advised].getTargetSource()"
    - "[org.springframework.aop.TargetSource].getTarget()"
    functionUses: 2
    ICount: 27
    EdgeCount: 17
    BranchProfiles:
    - Branch String: "org.springframework.classify.util.SimpleMethodInvoker:96"
      Branch Sides:
      - BranchSide: "org.springframework.classify.util.SimpleMethodInvoker:115"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.classify.util.SimpleMethodInvoker:114"
        BranchSideFuncs: []
    - Branch String: "org.springframework.classify.util.SimpleMethodInvoker:97"
      Branch Sides:
      - BranchSide: "org.springframework.classify.util.SimpleMethodInvoker:111"
        BranchSideFuncs: []
    - Branch String: "org.springframework.classify.util.SimpleMethodInvoker:105"
      Branch Sides:
      - BranchSide: "org.springframework.classify.util.SimpleMethodInvoker:108"
        BranchSideFuncs:
        - "extractTarget(java.lang.Object,java.lang.reflect.Method)"
      - BranchSide: "org.springframework.classify.util.SimpleMethodInvoker:107"
        BranchSideFuncs:
        - "getDeclaringClass()"
        - "getClass()"
        - "isAssignableFrom(java.lang.Class)"
    - Branch String: "org.springframework.classify.util.SimpleMethodInvoker:108"
      Branch Sides:
      - BranchSide: "org.springframework.classify.util.SimpleMethodInvoker:112"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.classify.util.SimpleMethodInvoker:111"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.springframework.classify.util.SimpleMethodInvoker:100,1"
      Dst: "[org.springframework.aop.framework.Advised].getTargetSource()"
    - Src: "org.springframework.classify.util.SimpleMethodInvoker:100,1"
      Dst: "[org.springframework.aop.TargetSource].getTarget()"
    - Src: "org.springframework.classify.util.SimpleMethodInvoker:103,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String,java.lang.Throwable)"
    - Src: "org.springframework.classify.util.SimpleMethodInvoker:106,1"
      Dst: "[org.springframework.classify.util.SimpleMethodInvoker].extractTarget(java.lang.Object,java.lang.reflect.Method)"
    - Src: "org.springframework.classify.util.SimpleMethodInvoker:108,1"
      Dst: "[java.lang.reflect.Method].getDeclaringClass()"
    - Src: "org.springframework.classify.util.SimpleMethodInvoker:108,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "org.springframework.classify.util.SimpleMethodInvoker:108,1"
      Dst: "[java.lang.Class].isAssignableFrom(java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 10
    CyclomaticComplexity: 4
  - functionName: "[org.springframework.classify.util.SimpleMethodInvoker].equals(java.lang.Object)"
    functionSourceFile: "org.springframework.classify.util.SimpleMethodInvoker"
    linkageType: ""
    functionLinenumber: 119
    functionLinenumberEnd: 129
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.reflect.Method].equals(java.lang.Object)"
    - "[java.util.PropertyPermission].equals(java.lang.Object)"
    - "[sun.font.FontLineMetrics].equals(java.lang.Object)"
    - "[java.awt.DisplayMode].equals(java.lang.Object)"
    - "[java.time.zone.ZoneOffsetTransitionRule].equals(java.lang.Object)"
    - "[java.lang.reflect.Constructor].equals(java.lang.Object)"
    - "[java.rmi.dgc.VMID].equals(java.lang.Object)"
    - "[java.lang.invoke.LambdaFormEditor$TransformKey].equals(java.lang.Object)"
    - "[org.springframework.core.io.support.EncodedResource].equals(java.lang.Object)"
    - "[sun.rmi.transport.ObjectEndpoint].equals(java.lang.Object)"
    - "[java.rmi.server.UID].equals(java.lang.Object)"
    - "[java.util.HexFormat].equals(java.lang.Object)"
    - "[org.springframework.beans.factory.parsing.BeanComponentDefinition].equals(java.lang.Object)"
    - "[java.math.BigDecimal].equals(java.lang.Object)"
    - "[java.time.Duration].equals(java.lang.Object)"
    - "[java.lang.Object].equals(java.lang.Object)"
    - "[org.springframework.aop.support.NameMatchMethodPointcut].equals(java.lang.Object)"
    - "[java.util.ArrayList].equals(java.lang.Object)"
    - "[org.springframework.cglib.reflect.FastClass].equals(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentHashMap$KeySetView].equals(java.lang.Object)"
    - "[java.security.Timestamp].equals(java.lang.Object)"
    - "[java.nio.ShortBuffer].equals(java.lang.Object)"
    - "[org.springframework.aop.support.DefaultIntroductionAdvisor].equals(java.lang.Object)"
    - "[com.google.gson.JsonArray].equals(java.lang.Object)"
    - "[java.net.HttpCookie].equals(java.lang.Object)"
    - "[java.rmi.server.ObjID].equals(java.lang.Object)"
    - "[java.awt.Insets].equals(java.lang.Object)"
    - "[jdk.internal.org.objectweb.asm.Handle].equals(java.lang.Object)"
    - "[java.awt.datatransfer.MimeTypeParameterList].equals(java.lang.Object)"
    - "[org.springframework.core.ResolvableType$SyntheticParameterizedType].equals(java.lang.Object)"
    - "[java.rmi.server.RemoteObject].equals(java.lang.Object)"
    - "[org.springframework.aop.support.MethodMatchers$UnionMethodMatcher].equals(java.lang.Object)"
    - "[java.io.FilePermission].equals(java.lang.Object)"
    - "[org.springframework.util.LinkedCaseInsensitiveMap].equals(java.lang.Object)"
    - "[org.springframework.cglib.reflect.MethodDelegate].equals(java.lang.Object)"
    - "[java.text.DecimalFormat].equals(java.lang.Object)"
    - "[org.springframework.core.convert.TypeDescriptor$AnnotatedElementAdapter].equals(java.lang.Object)"
    - "[java.net.SocketPermission].equals(java.lang.Object)"
    - "[java.util.IdentityHashMap].equals(java.lang.Object)"
    - "[java.text.DateFormat].equals(java.lang.Object)"
    - "[com.google.gson.reflect.TypeToken].equals(java.lang.Object)"
    - "[java.awt.datatransfer.DataFlavor].equals(java.lang.Object)"
    - "[sun.util.locale.BaseLocale].equals(java.lang.Object)"
    - "[jdk.internal.jimage.ImageReader$Node].equals(java.lang.Object)"
    - "[org.springframework.core.MethodClassKey].equals(java.lang.Object)"
    - "[org.springframework.cglib.beans.BeanMap].equals(java.lang.Object)"
    - "[org.springframework.asm.Type].equals(java.lang.Object)"
    - "[org.springframework.beans.factory.config.BeanDefinitionHolder].equals(java.lang.Object)"
    - "[java.awt.Point].equals(java.lang.Object)"
    - "[javax.management.openmbean.CompositeType].equals(java.lang.Object)"
    - "[javax.crypto.CryptoPermission].equals(java.lang.Object)"
    - "[java.lang.ProcessHandleImpl].equals(java.lang.Object)"
    - "[java.nio.charset.Charset].equals(java.lang.Object)"
    - "[com.google.gson.internal.LinkedHashTreeMap$Node].equals(java.lang.Object)"
    - "[org.springframework.cglib.core.ClassInfo].equals(java.lang.Object)"
    - "[com.google.gson.JsonPrimitive].equals(java.lang.Object)"
    - "[org.springframework.jmx.support.NotificationListenerHolder].equals(java.lang.Object)"
    - "[java.nio.ByteBuffer].equals(java.lang.Object)"
    - "[org.springframework.core.io.PathResource].equals(java.lang.Object)"
    - "[java.time.ZonedDateTime].equals(java.lang.Object)"
    - "[org.springframework.aop.support.ControlFlowPointcut].equals(java.lang.Object)"
    - "[java.awt.Rectangle].equals(java.lang.Object)"
    - "[java.util.AbstractMap].equals(java.lang.Object)"
    - "[java.util.Vector].equals(java.lang.Object)"
    - "[java.beans.PropertyDescriptor].equals(java.lang.Object)"
    - "[org.springframework.aop.support.AbstractPointcutAdvisor].equals(java.lang.Object)"
    - "[java.lang.Character$Subset].equals(java.lang.Object)"
    - "[org.springframework.beans.factory.config.RuntimeBeanNameReference].equals(java.lang.Object)"
    - "[java.lang.Enum].equals(java.lang.Object)"
    - "[java.awt.RenderingHints].equals(java.lang.Object)"
    - "[java.lang.module.ModuleDescriptor$Exports].equals(java.lang.Object)"
    - "[java.beans.IndexedPropertyDescriptor].equals(java.lang.Object)"
    - "[java.util.EnumMap].equals(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentSkipListMap$EntrySet].equals(java.lang.Object)"
    - "[java.net.InetSocketAddress$InetSocketAddressHolder].equals(java.lang.Object)"
    - "[org.springframework.cache.interceptor.SimpleKey].equals(java.lang.Object)"
    - "[java.net.InetSocketAddress].equals(java.lang.Object)"
    - "[javax.management.openmbean.TabularType].equals(java.lang.Object)"
    - "[org.springframework.cglib.proxy.CallbackHelper].equals(java.lang.Object)"
    - "[jdk.internal.org.objectweb.asm.ConstantDynamic].equals(java.lang.Object)"
    - "[java.awt.RenderingHints$Key].equals(java.lang.Object)"
    - "[java.awt.image.IndexColorModel].equals(java.lang.Object)"
    - "[java.lang.Boolean].equals(java.lang.Object)"
    - "[org.apache.commons.logging.impl.WeakHashtable$Entry].equals(java.lang.Object)"
    - "[jdk.internal.org.objectweb.asm.Type].equals(java.lang.Object)"
    - "[org.springframework.aop.support.MethodMatchers$ClassFilterAwareUnionMethodMatcher].equals(java.lang.Object)"
    - "[java.util.zip.ZipFile$Source$Key].equals(java.lang.Object)"
    - "[org.springframework.beans.BeanMetadataAttribute].equals(java.lang.Object)"
    - "[java.awt.Font].equals(java.lang.Object)"
    - "[com.google.gson.JsonObject].equals(java.lang.Object)"
    - "[java.time.OffsetDateTime].equals(java.lang.Object)"
    - "[sun.nio.ch.FileKey].equals(java.lang.Object)"
    - "[java.util.jar.Attributes].equals(java.lang.Object)"
    - "[java.lang.StackTraceElement].equals(java.lang.Object)"
    - "[sun.font.CoreMetrics].equals(java.lang.Object)"
    - "[java.awt.geom.Rectangle2D].equals(java.lang.Object)"
    - "[org.springframework.beans.factory.support.CglibSubclassingInstantiationStrategy$CglibIdentitySupport].equals(java.lang.Object)"
    - "[org.springframework.core.convert.support.GenericConversionService$ConverterCacheKey].equals(java.lang.Object)"
    - "[org.springframework.core.io.UrlResource].equals(java.lang.Object)"
    - "[java.text.NumberFormat].equals(java.lang.Object)"
    - "[org.springframework.expression.TypedValue].equals(java.lang.Object)"
    - "[org.springframework.aop.target.EmptyTargetSource].equals(java.lang.Object)"
    - "[java.lang.invoke.LambdaFormEditor$Transform].equals(java.lang.Object)"
    - "[java.time.OffsetTime].equals(java.lang.Object)"
    - "[org.springframework.beans.factory.config.ConstructorArgumentValues].equals(java.lang.Object)"
    - "[java.util.Locale].equals(java.lang.Object)"
    - "[java.security.Provider$ServiceKey].equals(java.lang.Object)"
    - "[java.util.Date].equals(java.lang.Object)"
    - "[org.springframework.core.ResolvableType].equals(java.lang.Object)"
    - "[org.springframework.util.ConcurrentReferenceHashMap$Entry].equals(java.lang.Object)"
    - "[java.lang.Long].equals(java.lang.Object)"
    - "[com.google.gson.internal.$Gson$Types$WildcardTypeImpl].equals(java.lang.Object)"
    - "[javax.management.Attribute].equals(java.lang.Object)"
    - "[sun.rmi.transport.LiveRef].equals(java.lang.Object)"
    - "[java.time.MonthDay].equals(java.lang.Object)"
    - "[org.springframework.beans.BeansException].equals(java.lang.Object)"
    - "[org.springframework.classify.util.SimpleMethodInvoker].equals(java.lang.Object)"
    - "[org.springframework.core.io.AbstractResource].equals(java.lang.Object)"
    - "[java.lang.invoke.MethodType].equals(java.lang.Object)"
    - "[java.net.URI].equals(java.lang.Object)"
    - "[org.springframework.core.io.ClassPathResource].equals(java.lang.Object)"
    - "[java.lang.Thread$WeakClassKey].equals(java.lang.Object)"
    - "[org.springframework.aop.target.SingletonTargetSource].equals(java.lang.Object)"
    - "[java.time.LocalDate].equals(java.lang.Object)"
    - "[java.net.InetAddress].equals(java.lang.Object)"
    - "[org.springframework.context.annotation.ConfigurationClassParser$SourceClass].equals(java.lang.Object)"
    - "[java.awt.image.ColorModel].equals(java.lang.Object)"
    - "[java.nio.file.attribute.FileTime].equals(java.lang.Object)"
    - "[java.time.ZoneOffset].equals(java.lang.Object)"
    - "[java.security.AccessControlContext].equals(java.lang.Object)"
    - "[java.awt.AWTKeyStroke].equals(java.lang.Object)"
    - "[org.springframework.util.comparator.NullSafeComparator].equals(java.lang.Object)"
    - "[java.util.AbstractSet].equals(java.lang.Object)"
    - "[java.awt.font.TextHitInfo].equals(java.lang.Object)"
    - "[java.lang.Byte].equals(java.lang.Object)"
    - "[java.awt.MenuShortcut].equals(java.lang.Object)"
    - "[java.util.TreeMap$Entry].equals(java.lang.Object)"
    - "[java.lang.invoke.ClassSpecializer$SpeciesData].equals(java.lang.Object)"
    - "[org.springframework.scheduling.support.PeriodicTrigger].equals(java.lang.Object)"
    - "[java.awt.AlphaComposite].equals(java.lang.Object)"
    - "[java.util.logging.LogManager$CloseOnReset].equals(java.lang.Object)"
    - "[org.springframework.beans.factory.config.BeanExpressionContext].equals(java.lang.Object)"
    - "[java.util.OptionalInt].equals(java.lang.Object)"
    - "[java.lang.module.ResolvedModule].equals(java.lang.Object)"
    - "[java.lang.constant.DynamicConstantDesc].equals(java.lang.Object)"
    - "[org.springframework.scheduling.support.CronTrigger].equals(java.lang.Object)"
    - "[java.lang.module.ModuleDescriptor$Opens].equals(java.lang.Object)"
    - "[org.springframework.beans.factory.support.RootBeanDefinition].equals(java.lang.Object)"
    - "[jdk.internal.loader.AbstractClassLoaderValue$Sub].equals(java.lang.Object)"
    - "[com.google.gson.internal.$Gson$Types$GenericArrayTypeImpl].equals(java.lang.Object)"
    - "[org.springframework.cglib.core.DefaultNamingPolicy].equals(java.lang.Object)"
    - "[org.springframework.aop.target.AbstractBeanFactoryBasedTargetSource].equals(java.lang.Object)"
    - "[org.springframework.cache.interceptor.CacheOperationSourcePointcut].equals(java.lang.Object)"
    - "[org.springframework.core.io.DescriptiveResource].equals(java.lang.Object)"
    - "[javax.management.MBeanNotificationInfo].equals(java.lang.Object)"
    - "[java.nio.FloatBuffer].equals(java.lang.Object)"
    - "[org.springframework.cglib.core.WeakCacheKey].equals(java.lang.Object)"
    - "[org.springframework.beans.factory.annotation.InjectionMetadata$InjectedElement].equals(java.lang.Object)"
    - "[org.springframework.jmx.access.MBeanClientInterceptor$MethodCacheKey].equals(java.lang.Object)"
    - "[com.sun.net.httpserver.HttpPrincipal].equals(java.lang.Object)"
    - "[java.security.CodeSource].equals(java.lang.Object)"
    - "[org.springframework.validation.AbstractBindingResult].equals(java.lang.Object)"
    - "[org.springframework.aop.support.annotation.AnnotationClassFilter].equals(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentSkipListMap].equals(java.lang.Object)"
    - "[java.time.temporal.ValueRange].equals(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentHashMap].equals(java.lang.Object)"
    - "[org.springframework.aop.support.AbstractRegexpMethodPointcut].equals(java.lang.Object)"
    - "[org.springframework.util.MimeType].equals(java.lang.Object)"
    - "[java.time.LocalTime].equals(java.lang.Object)"
    - "[java.text.DigitList].equals(java.lang.Object)"
    - "[org.springframework.beans.factory.support.ChildBeanDefinition].equals(java.lang.Object)"
    - "[org.springframework.cglib.core.MethodInfo].equals(java.lang.Object)"
    - "[org.springframework.cache.interceptor.CacheAspectSupport$CacheOperationCacheKey].equals(java.lang.Object)"
    - "[javax.xml.namespace.QName].equals(java.lang.Object)"
    - "[org.springframework.beans.factory.support.MethodOverride].equals(java.lang.Object)"
    - "[java.util.BitSet].equals(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentHashMap$Node].equals(java.lang.Object)"
    - "[sun.font.AttributeValues].equals(java.lang.Object)"
    - "[java.time.YearMonth].equals(java.lang.Object)"
    - "[javax.management.ObjectName].equals(java.lang.Object)"
    - "[org.springframework.aop.aspectj.AbstractAspectJAdvice$AdviceExcludingMethodMatcher].equals(java.lang.Object)"
    - "[sun.nio.fs.UnixFileStore].equals(java.lang.Object)"
    - "[org.springframework.cache.interceptor.CacheOperation].equals(java.lang.Object)"
    - "[org.springframework.core.io.InputStreamResource].equals(java.lang.Object)"
    - "[java.text.DateFormatSymbols].equals(java.lang.Object)"
    - "[java.security.CodeSigner].equals(java.lang.Object)"
    - "[com.google.gson.internal.$Gson$Types$ParameterizedTypeImpl].equals(java.lang.Object)"
    - "[org.springframework.beans.factory.support.BeanDefinitionResource].equals(java.lang.Object)"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[java.util.ResourceBundle$CacheKey].equals(java.lang.Object)"
    - "[java.lang.invoke.MemberName].equals(java.lang.Object)"
    - "[sun.rmi.transport.WeakRef].equals(java.lang.Object)"
    - "[org.springframework.beans.GenericTypeAwarePropertyDescriptor].equals(java.lang.Object)"
    - "[com.google.gson.internal.LazilyParsedNumber].equals(java.lang.Object)"
    - "[org.springframework.asm.Handle].equals(java.lang.Object)"
    - "[org.springframework.cache.annotation.AnnotationCacheOperationSource].equals(java.lang.Object)"
    - "[org.springframework.util.CollectionUtils$MultiValueMapAdapter].equals(java.lang.Object)"
    - "[org.springframework.beans.factory.support.ReplaceOverride].equals(java.lang.Object)"
    - "[sun.java2d.loops.CompositeType].equals(java.lang.Object)"
    - "[org.springframework.aop.support.MethodMatchers$IntersectionMethodMatcher].equals(java.lang.Object)"
    - "[org.springframework.cglib.reflect.FastMember].equals(java.lang.Object)"
    - "[org.springframework.core.annotation.AnnotationUtils$AnnotationCacheKey].equals(java.lang.Object)"
    - "[java.lang.Integer].equals(java.lang.Object)"
    - "[java.awt.datatransfer.MimeType].equals(java.lang.Object)"
    - "[java.text.MessageFormat].equals(java.lang.Object)"
    - "[org.springframework.aop.framework.JdkDynamicAopProxy].equals(java.lang.Object)"
    - "[org.springframework.aop.aspectj.AspectJPointcutAdvisor].equals(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentHashMap$EntrySetView].equals(java.lang.Object)"
    - "[java.util.concurrent.CopyOnWriteArrayList].equals(java.lang.Object)"
    - "[java.lang.invoke.LambdaForm$NamedFunction].equals(java.lang.Object)"
    - "[java.util.concurrent.CopyOnWriteArraySet].equals(java.lang.Object)"
    - "[org.springframework.core.convert.TypeDescriptor].equals(java.lang.Object)"
    - "[java.text.DecimalFormatSymbols].equals(java.lang.Object)"
    - "[java.lang.reflect.Parameter].equals(java.lang.Object)"
    - "[org.apache.commons.logging.impl.WeakHashtable$Referenced].equals(java.lang.Object)"
    - "[sun.util.calendar.Era].equals(java.lang.Object)"
    - "[java.nio.IntBuffer].equals(java.lang.Object)"
    - "[org.springframework.aop.support.ComposablePointcut].equals(java.lang.Object)"
    - "[java.time.format.DecimalStyle].equals(java.lang.Object)"
    - "[java.security.AllPermission].equals(java.lang.Object)"
    - "[java.time.zone.ZoneRules].equals(java.lang.Object)"
    - "[org.springframework.context.expression.CachedExpressionEvaluator$ExpressionKey].equals(java.lang.Object)"
    - "[org.springframework.beans.factory.config.RuntimeBeanReference].equals(java.lang.Object)"
    - "[org.springframework.beans.MutablePropertyValues].equals(java.lang.Object)"
    - "[org.springframework.aop.aspectj.AspectJExpressionPointcut].equals(java.lang.Object)"
    - "[java.time.Period].equals(java.lang.Object)"
    - "[jdk.internal.module.ModuleHashes].equals(java.lang.Object)"
    - "[org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement].equals(java.lang.Object)"
    - "[org.springframework.util.LinkedMultiValueMap].equals(java.lang.Object)"
    - "[java.awt.Color].equals(java.lang.Object)"
    - "[org.springframework.util.AutoPopulatingList].equals(java.lang.Object)"
    - "[java.util.Optional].equals(java.lang.Object)"
    - "[java.nio.DoubleBuffer].equals(java.lang.Object)"
    - "[java.util.jar.Attributes$Name].equals(java.lang.Object)"
    - "[org.springframework.core.AttributeAccessorSupport].equals(java.lang.Object)"
    - "[org.springframework.aop.target.HotSwappableTargetSource].equals(java.lang.Object)"
    - "[sun.java2d.pipe.Region].equals(java.lang.Object)"
    - "[org.springframework.beans.factory.support.AbstractBeanDefinition].equals(java.lang.Object)"
    - "[java.nio.LongBuffer].equals(java.lang.Object)"
    - "[java.util.Properties].equals(java.lang.Object)"
    - "[java.net.URL].equals(java.lang.Object)"
    - "[javax.management.remote.JMXServiceURL].equals(java.lang.Object)"
    - "[java.text.AttributedCharacterIterator$Attribute].equals(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentSkipListMap$KeySet].equals(java.lang.Object)"
    - "[javax.security.auth.Subject].equals(java.lang.Object)"
    - "[org.springframework.beans.factory.config.DependencyDescriptor].equals(java.lang.Object)"
    - "[java.net.Inet6Address$Inet6AddressHolder].equals(java.lang.Object)"
    - "[java.awt.Dimension].equals(java.lang.Object)"
    - "[java.lang.Runtime$Version].equals(java.lang.Object)"
    - "[java.lang.Float].equals(java.lang.Object)"
    - "[javax.management.ObjectInstance].equals(java.lang.Object)"
    - "[org.springframework.scheduling.support.CronSequenceGenerator].equals(java.lang.Object)"
    - "[java.nio.CharBuffer].equals(java.lang.Object)"
    - "[org.springframework.format.support.FormattingConversionService$AnnotationConverterKey].equals(java.lang.Object)"
    - "[org.springframework.util.comparator.InvertibleComparator].equals(java.lang.Object)"
    - "[org.springframework.beans.support.MutableSortDefinition].equals(java.lang.Object)"
    - "[java.net.Proxy].equals(java.lang.Object)"
    - "[java.util.AbstractMap$SimpleEntry].equals(java.lang.Object)"
    - "[com.google.gson.internal.LinkedTreeMap$Node].equals(java.lang.Object)"
    - "[org.springframework.context.support.DefaultMessageSourceResolvable].equals(java.lang.Object)"
    - "[java.net.InterfaceAddress].equals(java.lang.Object)"
    - "[org.springframework.core.convert.Property].equals(java.lang.Object)"
    - "[org.springframework.util.comparator.BooleanComparator].equals(java.lang.Object)"
    - "[javax.management.MBeanParameterInfo].equals(java.lang.Object)"
    - "[java.security.cert.CertPath].equals(java.lang.Object)"
    - "[org.springframework.beans.PropertyValue].equals(java.lang.Object)"
    - "[org.springframework.cglib.core.Signature].equals(java.lang.Object)"
    - "[org.springframework.expression.spel.support.ReflectivePropertyAccessor$PropertyCacheKey].equals(java.lang.Object)"
    - "[org.springframework.retry.annotation.RetryConfiguration$AnnotationClassOrMethodPointcut].equals(java.lang.Object)"
    - "[javax.crypto.spec.SecretKeySpec].equals(java.lang.Object)"
    - "[sun.font.FontStrikeDesc].equals(java.lang.Object)"
    - "[org.springframework.core.io.FileSystemResource].equals(java.lang.Object)"
    - "[java.net.NetworkInterface].equals(java.lang.Object)"
    - "[org.springframework.beans.factory.support.LookupOverride].equals(java.lang.Object)"
    - "[javax.management.MBeanAttributeInfo].equals(java.lang.Object)"
    - "[java.util.logging.Level].equals(java.lang.Object)"
    - "[java.text.Collator].equals(java.lang.Object)"
    - "[java.math.MathContext].equals(java.lang.Object)"
    - "[org.springframework.cache.interceptor.NameMatchCacheOperationSource].equals(java.lang.Object)"
    - "[java.util.jar.Manifest].equals(java.lang.Object)"
    - "[sun.java2d.loops.SurfaceType].equals(java.lang.Object)"
    - "[org.springframework.validation.FieldError].equals(java.lang.Object)"
    - "[org.springframework.core.io.VfsResource].equals(java.lang.Object)"
    - "[org.springframework.aop.support.ClassFilters$IntersectionClassFilter].equals(java.lang.Object)"
    - "[com.google.gson.JsonNull].equals(java.lang.Object)"
    - "[javax.management.MBeanFeatureInfo].equals(java.lang.Object)"
    - "[java.security.BasicPermission].equals(java.lang.Object)"
    - "[org.springframework.aop.support.annotation.AnnotationMethodMatcher].equals(java.lang.Object)"
    - "[java.time.ZoneId].equals(java.lang.Object)"
    - "[java.io.File].equals(java.lang.Object)"
    - "[org.springframework.util.comparator.CompoundComparator].equals(java.lang.Object)"
    - "[java.lang.Character].equals(java.lang.Object)"
    - "[jdk.internal.misc.Signal].equals(java.lang.Object)"
    - "[org.springframework.cache.annotation.SpringCacheAnnotationParser].equals(java.lang.Object)"
    - "[org.springframework.context.annotation.ConfigurationClass].equals(java.lang.Object)"
    - "[org.springframework.beans.ExtendedBeanInfo$SimpleIndexedPropertyDescriptor].equals(java.lang.Object)"
    - "[jdk.internal.module.ServicesCatalog$ServiceProvider].equals(java.lang.Object)"
    - "[java.time.LocalDateTime].equals(java.lang.Object)"
    - "[org.springframework.core.env.PropertySource].equals(java.lang.Object)"
    - "[sun.nio.fs.UnixPath].equals(java.lang.Object)"
    - "[org.springframework.context.event.AbstractApplicationEventMulticaster$ListenerCacheKey].equals(java.lang.Object)"
    - "[org.springframework.aop.framework.AdvisedSupport$MethodCacheKey].equals(java.lang.Object)"
    - "[javax.management.ImmutableDescriptor].equals(java.lang.Object)"
    - "[java.lang.module.ModuleDescriptor$Provides].equals(java.lang.Object)"
    - "[java.time.Instant].equals(java.lang.Object)"
    - "[jdk.internal.module.ModuleReferenceImpl].equals(java.lang.Object)"
    - "[java.util.Hashtable$Entry].equals(java.lang.Object)"
    - "[sun.util.locale.LocaleExtensions].equals(java.lang.Object)"
    - "[java.util.AbstractList].equals(java.lang.Object)"
    - "[com.sun.net.httpserver.Headers].equals(java.lang.Object)"
    - "[java.lang.Double].equals(java.lang.Object)"
    - "[org.springframework.context.support.ApplicationListenerDetector].equals(java.lang.Object)"
    - "[java.time.format.DateTimeFormatterBuilder$DayPeriod].equals(java.lang.Object)"
    - "[javax.management.MBeanOperationInfo].equals(java.lang.Object)"
    - "[java.util.WeakHashMap$Entry].equals(java.lang.Object)"
    - "[java.util.GregorianCalendar].equals(java.lang.Object)"
    - "[java.lang.invoke.LambdaForm$Name].equals(java.lang.Object)"
    - "[java.util.AbstractMap$SimpleImmutableEntry].equals(java.lang.Object)"
    - "[java.lang.module.ModuleDescriptor$Version].equals(java.lang.Object)"
    - "[java.time.Clock].equals(java.lang.Object)"
    - "[org.springframework.aop.framework.CglibAopProxy].equals(java.lang.Object)"
    - "[org.springframework.core.ParameterizedTypeReference].equals(java.lang.Object)"
    - "[org.springframework.validation.BindException].equals(java.lang.Object)"
    - "[org.springframework.beans.factory.config.TypedStringValue].equals(java.lang.Object)"
    - "[java.security.cert.Certificate].equals(java.lang.Object)"
    - "[java.lang.Short].equals(java.lang.Object)"
    - "[java.net.Inet4Address].equals(java.lang.Object)"
    - "[org.springframework.beans.ExtendedBeanInfo$SimplePropertyDescriptor].equals(java.lang.Object)"
    - "[javax.management.MBeanInfo].equals(java.lang.Object)"
    - "[java.text.SimpleDateFormat].equals(java.lang.Object)"
    - "[org.springframework.cglib.core.ClassEmitter$FieldInfo].equals(java.lang.Object)"
    - "[java.awt.geom.Point2D].equals(java.lang.Object)"
    - "[java.lang.invoke.LambdaForm].equals(java.lang.Object)"
    - "[java.awt.JobAttributes].equals(java.lang.Object)"
    - "[java.math.BigInteger].equals(java.lang.Object)"
    - "[org.springframework.beans.factory.InjectionPoint].equals(java.lang.Object)"
    - "[java.util.UUID].equals(java.lang.Object)"
    - "[java.io.ObjectStreamClass$DeserializationConstructorsCache$Key].equals(java.lang.Object)"
    - "[java.time.chrono.AbstractChronology].equals(java.lang.Object)"
    - "[org.springframework.aop.support.ClassFilters$UnionClassFilter].equals(java.lang.Object)"
    - "[java.time.zone.ZoneOffsetTransition].equals(java.lang.Object)"
    - "[java.awt.font.TransformAttribute].equals(java.lang.Object)"
    - "[javax.management.MBeanConstructorInfo].equals(java.lang.Object)"
    - "[org.springframework.validation.ObjectError].equals(java.lang.Object)"
    - "[java.net.Inet6Address].equals(java.lang.Object)"
    - "[java.awt.font.FontRenderContext].equals(java.lang.Object)"
    - "[java.lang.ProcessBuilder$Redirect].equals(java.lang.Object)"
    - "[java.text.FieldPosition].equals(java.lang.Object)"
    - "[java.sql.Timestamp].equals(java.lang.Object)"
    - "[org.springframework.beans.factory.support.MethodOverrides].equals(java.lang.Object)"
    - "[org.springframework.core.MethodParameter].equals(java.lang.Object)"
    - "[java.util.OptionalDouble].equals(java.lang.Object)"
    - "[java.lang.module.ModuleDescriptor$Requires].equals(java.lang.Object)"
    - "[java.text.ParsePosition].equals(java.lang.Object)"
    - "[org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor].equals(java.lang.Object)"
    - "[java.util.Calendar].equals(java.lang.Object)"
    - "[org.springframework.aop.support.annotation.AnnotationMatchingPointcut].equals(java.lang.Object)"
    - "[java.lang.module.ModuleDescriptor].equals(java.lang.Object)"
    - "[java.awt.geom.AffineTransform].equals(java.lang.Object)"
    - "[java.util.Hashtable].equals(java.lang.Object)"
    - "[org.springframework.context.expression.AnnotatedElementKey].equals(java.lang.Object)"
    - "[java.awt.PageAttributes].equals(java.lang.Object)"
    - "[java.util.HashMap$Node].equals(java.lang.Object)"
    - "[org.springframework.beans.factory.support.GenericBeanDefinition].equals(java.lang.Object)"
    - "[java.util.OptionalLong].equals(java.lang.Object)"
    - "[java.awt.BasicStroke].equals(java.lang.Object)"
    - "[org.springframework.core.convert.converter.GenericConverter$ConvertiblePair].equals(java.lang.Object)"
    - "[org.springframework.aop.framework.CglibAopProxy$ProxyCallbackFilter].equals(java.lang.Object)"
    - "[java.lang.reflect.Field].equals(java.lang.Object)"
    - "[org.springframework.core.io.ByteArrayResource].equals(java.lang.Object)"
    - "[sun.util.calendar.CalendarDate].equals(java.lang.Object)"
    - "[java.awt.font.NumericShaper].equals(java.lang.Object)"
    functionUses: 26
    ICount: 20
    EdgeCount: 373
    BranchProfiles:
    - Branch String: "org.springframework.classify.util.SimpleMethodInvoker:120"
      Branch Sides:
      - BranchSide: "org.springframework.classify.util.SimpleMethodInvoker:124"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.classify.util.SimpleMethodInvoker:123"
        BranchSideFuncs: []
    - Branch String: "org.springframework.classify.util.SimpleMethodInvoker:124"
      Branch Sides:
      - BranchSide: "org.springframework.classify.util.SimpleMethodInvoker:127"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.classify.util.SimpleMethodInvoker:126"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "org.springframework.classify.util.SimpleMethodInvoker:128"
      Branch Sides:
      - BranchSide: "org.springframework.classify.util.SimpleMethodInvoker:126"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "org.springframework.classify.util.SimpleMethodInvoker:128"
      Branch Sides:
      - BranchSide: "org.springframework.classify.util.SimpleMethodInvoker:126"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    Callsites:
    - Src: "org.springframework.classify.util.SimpleMethodInvoker:128,1"
      Dst: "[java.lang.reflect.Method].equals(java.lang.Object)"
    - Src: "org.springframework.classify.util.SimpleMethodInvoker:128,1"
      Dst: "[java.lang.Object].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 9
    CyclomaticComplexity: 3
  - functionName: "[org.springframework.classify.util.SimpleMethodInvoker].hashCode()"
    functionSourceFile: "org.springframework.classify.util.SimpleMethodInvoker"
    linkageType: ""
    functionLinenumber: 133
    functionLinenumberEnd: 137
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.cache.annotation.AnnotationCacheOperationSource].hashCode()"
    - "[javax.management.Attribute].hashCode()"
    - "[java.awt.image.ColorModel].hashCode()"
    - "[jdk.internal.org.objectweb.asm.Handle].hashCode()"
    - "[java.lang.Byte].hashCode()"
    - "[java.time.Duration].hashCode()"
    - "[java.lang.Enum].hashCode()"
    - "[org.springframework.cglib.core.DefaultNamingPolicy].hashCode()"
    - "[org.springframework.beans.factory.support.ChildBeanDefinition].hashCode()"
    - "[org.springframework.cglib.reflect.FastClass].hashCode()"
    - "[sun.util.locale.LocaleExtensions].hashCode()"
    - "[org.springframework.context.support.ApplicationListenerDetector].hashCode()"
    - "[java.security.cert.Certificate].hashCode()"
    - "[org.springframework.aop.aspectj.AspectJPointcutAdvisor].hashCode()"
    - "[java.time.MonthDay].hashCode()"
    - "[org.springframework.aop.support.ComposablePointcut].hashCode()"
    - "[com.google.gson.internal.LinkedTreeMap$Node].hashCode()"
    - "[sun.font.FontLineMetrics].hashCode()"
    - "[org.springframework.util.LinkedCaseInsensitiveMap].hashCode()"
    - "[java.time.format.DateTimeFormatterBuilder$DayPeriod].hashCode()"
    - "[java.awt.Insets].hashCode()"
    - "[java.util.ResourceBundle$CacheKey].hashCode()"
    - "[java.util.concurrent.ConcurrentHashMap$KeySetView].hashCode()"
    - "[jdk.internal.org.objectweb.asm.ConstantDynamic].hashCode()"
    - "[com.google.gson.internal.LazilyParsedNumber].hashCode()"
    - "[java.text.DateFormatSymbols].hashCode()"
    - "[javax.management.MBeanInfo].hashCode()"
    - "[org.springframework.cache.interceptor.CacheAspectSupport$CacheOperationCacheKey].hashCode()"
    - "[sun.rmi.transport.ObjectEndpoint].hashCode()"
    - "[org.springframework.beans.ExtendedBeanInfo$SimpleIndexedPropertyDescriptor].hashCode()"
    - "[org.springframework.aop.target.EmptyTargetSource].hashCode()"
    - "[java.text.DigitList].hashCode()"
    - "[java.math.BigInteger].hashCode()"
    - "[org.springframework.util.comparator.NullSafeComparator].hashCode()"
    - "[java.sql.Timestamp].hashCode()"
    - "[java.awt.Color].hashCode()"
    - "[java.awt.Dimension].hashCode()"
    - "[java.net.SocketPermission].hashCode()"
    - "[java.text.DecimalFormatSymbols].hashCode()"
    - "[org.springframework.scheduling.support.CronSequenceGenerator].hashCode()"
    - "[org.springframework.core.convert.TypeDescriptor$AnnotatedElementAdapter].hashCode()"
    - "[java.lang.module.ModuleDescriptor$Provides].hashCode()"
    - "[java.time.LocalTime].hashCode()"
    - "[java.io.ObjectStreamClass$DeserializationConstructorsCache$Key].hashCode()"
    - "[org.springframework.scheduling.support.CronTrigger].hashCode()"
    - "[java.nio.CharBuffer].hashCode()"
    - "[java.awt.DisplayMode].hashCode()"
    - "[java.beans.IndexedPropertyDescriptor].hashCode()"
    - "[java.util.jar.Attributes].hashCode()"
    - "[java.time.chrono.AbstractChronology].hashCode()"
    - "[java.text.DateFormat].hashCode()"
    - "[javax.management.ImmutableDescriptor].hashCode()"
    - "[org.springframework.core.convert.support.GenericConversionService$ConverterCacheKey].hashCode()"
    - "[java.util.OptionalLong].hashCode()"
    - "[org.springframework.core.io.support.EncodedResource].hashCode()"
    - "[java.awt.JobAttributes$SidesType].hashCode()"
    - "[java.security.Timestamp].hashCode()"
    - "[javax.management.openmbean.CompositeType].hashCode()"
    - "[java.net.InterfaceAddress].hashCode()"
    - "[java.math.MathContext].hashCode()"
    - "[java.util.jar.Manifest].hashCode()"
    - "[org.springframework.cglib.core.WeakCacheKey].hashCode()"
    - "[java.net.URL].hashCode()"
    - "[com.google.gson.internal.$Gson$Types$ParameterizedTypeImpl].hashCode()"
    - "[java.awt.MenuShortcut].hashCode()"
    - "[java.util.AbstractSet].hashCode()"
    - "[java.lang.Thread$WeakClassKey].hashCode()"
    - "[org.springframework.aop.support.annotation.AnnotationClassFilter].hashCode()"
    - "[org.springframework.cglib.beans.BeanMap].hashCode()"
    - "[java.lang.Character].hashCode()"
    - "[java.time.LocalDateTime].hashCode()"
    - "[javax.management.MBeanOperationInfo].hashCode()"
    - "[jdk.internal.module.ServicesCatalog$ServiceProvider].hashCode()"
    - "[java.net.InetSocketAddress$InetSocketAddressHolder].hashCode()"
    - "[org.springframework.jmx.support.NotificationListenerHolder].hashCode()"
    - "[java.util.EnumMap].hashCode()"
    - "[org.springframework.beans.BeansException].hashCode()"
    - "[org.springframework.cache.annotation.SpringCacheAnnotationParser].hashCode()"
    - "[org.springframework.beans.factory.config.BeanExpressionContext].hashCode()"
    - "[org.springframework.aop.framework.CglibAopProxy$ProxyCallbackFilter].hashCode()"
    - "[java.awt.datatransfer.MimeTypeParameterList].hashCode()"
    - "[org.springframework.core.io.AbstractResource].hashCode()"
    - "[sun.font.CoreMetrics].hashCode()"
    - "[org.springframework.core.io.DescriptiveResource].hashCode()"
    - "[sun.font.FontStrikeDesc].hashCode()"
    - "[java.awt.JobAttributes].hashCode()"
    - "[java.lang.reflect.Parameter].hashCode()"
    - "[java.nio.FloatBuffer].hashCode()"
    - "[java.net.Inet6Address$Inet6AddressHolder].hashCode()"
    - "[com.google.gson.JsonObject].hashCode()"
    - "[java.net.Inet6Address].hashCode()"
    - "[java.awt.AWTKeyStroke].hashCode()"
    - "[java.time.LocalDate].hashCode()"
    - "[java.net.URI].hashCode()"
    - "[org.springframework.aop.target.HotSwappableTargetSource].hashCode()"
    - "[org.springframework.beans.BeanMetadataAttribute].hashCode()"
    - "[org.springframework.validation.BindException].hashCode()"
    - "[java.lang.module.ResolvedModule].hashCode()"
    - "[org.springframework.beans.factory.annotation.InjectionMetadata$InjectedElement].hashCode()"
    - "[java.awt.AttributeValue].hashCode()"
    - "[org.springframework.jmx.access.MBeanClientInterceptor$MethodCacheKey].hashCode()"
    - "[java.awt.RenderingHints$Key].hashCode()"
    - "[java.lang.invoke.LambdaFormEditor$Transform].hashCode()"
    - "[org.springframework.expression.TypedValue].hashCode()"
    - "[java.text.AttributedCharacterIterator$Attribute].hashCode()"
    - "[sun.nio.ch.FileKey].hashCode()"
    - "[java.text.DecimalFormat].hashCode()"
    - "[java.util.PropertyPermission].hashCode()"
    - "[java.util.zip.ZipFile$Source$Key].hashCode()"
    - "[java.lang.module.ModuleDescriptor$Requires].hashCode()"
    - "[java.lang.Boolean].hashCode()"
    - "[java.awt.BufferCapabilities$FlipContents].hashCode()"
    - "[java.text.NumberFormat].hashCode()"
    - "[org.springframework.core.io.FileSystemResource].hashCode()"
    - "[org.springframework.aop.aspectj.AspectJExpressionPointcut].hashCode()"
    - "[java.time.format.DecimalStyle].hashCode()"
    - "[java.net.NetworkInterface].hashCode()"
    - "[javax.management.openmbean.TabularType].hashCode()"
    - "[java.util.GregorianCalendar].hashCode()"
    - "[com.google.gson.JsonPrimitive].hashCode()"
    - "[com.google.gson.JsonNull].hashCode()"
    - "[jdk.internal.org.objectweb.asm.Type].hashCode()"
    - "[org.springframework.core.convert.Property].hashCode()"
    - "[jdk.internal.module.ModuleHashes].hashCode()"
    - "[java.util.TreeMap$Entry].hashCode()"
    - "[org.springframework.beans.factory.support.CglibSubclassingInstantiationStrategy$CglibIdentitySupport].hashCode()"
    - "[org.springframework.beans.PropertyValue].hashCode()"
    - "[java.time.ZoneOffset].hashCode()"
    - "[java.beans.PropertyDescriptor].hashCode()"
    - "[java.net.Inet4Address].hashCode()"
    - "[org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor].hashCode()"
    - "[java.awt.font.NumericShaper].hashCode()"
    - "[java.rmi.server.RemoteObject].hashCode()"
    - "[java.text.ParsePosition].hashCode()"
    - "[java.util.HexFormat].hashCode()"
    - "[org.springframework.core.convert.TypeDescriptor].hashCode()"
    - "[org.springframework.beans.factory.support.AbstractBeanDefinition].hashCode()"
    - "[sun.util.calendar.CalendarDate].hashCode()"
    - "[org.springframework.util.CollectionUtils$MultiValueMapAdapter].hashCode()"
    - "[java.text.SimpleDateFormat].hashCode()"
    - "[java.io.File].hashCode()"
    - "[java.security.cert.CertPath].hashCode()"
    - "[java.awt.PageAttributes$ColorType].hashCode()"
    - "[java.lang.module.ModuleDescriptor].hashCode()"
    - "[org.springframework.core.env.PropertySource].hashCode()"
    - "[java.time.zone.ZoneOffsetTransitionRule].hashCode()"
    - "[java.time.YearMonth].hashCode()"
    - "[org.springframework.core.ResolvableType].hashCode()"
    - "[java.lang.module.ModuleDescriptor$Version].hashCode()"
    - "[java.util.AbstractMap].hashCode()"
    - "[javax.crypto.spec.SecretKeySpec].hashCode()"
    - "[org.springframework.asm.Type].hashCode()"
    - "[org.springframework.format.support.FormattingConversionService$AnnotationConverterKey].hashCode()"
    - "[org.springframework.beans.MutablePropertyValues].hashCode()"
    - "[java.lang.invoke.MemberName].hashCode()"
    - "[com.sun.net.httpserver.HttpPrincipal].hashCode()"
    - "[java.lang.String].hashCode()"
    - "[org.springframework.core.io.InputStreamResource].hashCode()"
    - "[org.springframework.cglib.core.ClassInfo].hashCode()"
    - "[java.nio.DoubleBuffer].hashCode()"
    - "[org.springframework.core.MethodClassKey].hashCode()"
    - "[org.springframework.aop.support.annotation.AnnotationMethodMatcher].hashCode()"
    - "[java.nio.ByteBuffer].hashCode()"
    - "[java.awt.geom.AffineTransform].hashCode()"
    - "[org.springframework.context.expression.AnnotatedElementKey].hashCode()"
    - "[org.springframework.beans.factory.InjectionPoint].hashCode()"
    - "[java.util.OptionalInt].hashCode()"
    - "[org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement].hashCode()"
    - "[java.util.AbstractMap$SimpleEntry].hashCode()"
    - "[java.awt.font.TextHitInfo].hashCode()"
    - "[java.time.Clock].hashCode()"
    - "[sun.rmi.transport.LiveRef].hashCode()"
    - "[java.util.Calendar].hashCode()"
    - "[java.time.zone.ZoneRules].hashCode()"
    - "[java.awt.JobAttributes$DefaultSelectionType].hashCode()"
    - "[java.lang.Integer].hashCode()"
    - "[javax.management.remote.JMXServiceURL].hashCode()"
    - "[javax.management.MBeanConstructorInfo].hashCode()"
    - "[org.springframework.beans.factory.support.ReplaceOverride].hashCode()"
    - "[java.awt.JobAttributes$DestinationType].hashCode()"
    - "[java.awt.font.TransformAttribute].hashCode()"
    - "[java.awt.PageAttributes$OriginType].hashCode()"
    - "[org.springframework.aop.framework.AdvisedSupport$MethodCacheKey].hashCode()"
    - "[org.springframework.util.comparator.CompoundComparator].hashCode()"
    - "[java.security.AllPermission].hashCode()"
    - "[org.springframework.aop.support.annotation.AnnotationMatchingPointcut].hashCode()"
    - "[java.awt.geom.Point2D].hashCode()"
    - "[java.util.HashMap$Node].hashCode()"
    - "[java.net.InetAddress].hashCode()"
    - "[java.awt.JobAttributes$DialogType].hashCode()"
    - "[java.util.zip.ZipEntry].hashCode()"
    - "[java.awt.font.FontRenderContext].hashCode()"
    - "[java.time.Instant].hashCode()"
    - "[org.springframework.beans.factory.support.MethodOverride].hashCode()"
    - "[java.util.concurrent.ConcurrentHashMap].hashCode()"
    - "[jdk.internal.module.ModuleReferenceImpl].hashCode()"
    - "[org.springframework.cache.interceptor.CacheOperation].hashCode()"
    - "[jdk.internal.loader.AbstractClassLoaderValue$Sub].hashCode()"
    - "[java.lang.invoke.MethodType].hashCode()"
    - "[org.springframework.core.io.UrlResource].hashCode()"
    - "[org.springframework.beans.factory.config.RuntimeBeanReference].hashCode()"
    - "[org.springframework.aop.support.MethodMatchers$UnionMethodMatcher].hashCode()"
    - "[java.awt.Font].hashCode()"
    - "[java.util.BitSet].hashCode()"
    - "[org.springframework.beans.factory.support.LookupOverride].hashCode()"
    - "[org.springframework.cache.interceptor.NameMatchCacheOperationSource].hashCode()"
    - "[sun.util.calendar.Era].hashCode()"
    - "[java.time.zone.ZoneOffsetTransition].hashCode()"
    - "[org.springframework.beans.factory.config.TypedStringValue].hashCode()"
    - "[javax.management.MBeanAttributeInfo].hashCode()"
    - "[java.lang.reflect.Method].hashCode()"
    - "[org.springframework.aop.support.ClassFilters$IntersectionClassFilter].hashCode()"
    - "[org.springframework.aop.target.AbstractBeanFactoryBasedTargetSource].hashCode()"
    - "[java.util.concurrent.ConcurrentHashMap$EntrySetView].hashCode()"
    - "[org.springframework.cglib.proxy.CallbackHelper].hashCode()"
    - "[java.lang.invoke.LambdaForm$NamedFunction].hashCode()"
    - "[java.security.BasicPermission].hashCode()"
    - "[java.awt.datatransfer.MimeType].hashCode()"
    - "[org.springframework.aop.support.ClassFilters$UnionClassFilter].hashCode()"
    - "[javax.security.auth.Subject].hashCode()"
    - "[java.net.HttpCookie].hashCode()"
    - "[java.time.temporal.ValueRange].hashCode()"
    - "[java.lang.invoke.LambdaForm].hashCode()"
    - "[org.springframework.aop.support.DefaultIntroductionAdvisor].hashCode()"
    - "[java.util.Optional].hashCode()"
    - "[java.security.Provider$ServiceKey].hashCode()"
    - "[sun.rmi.transport.WeakRef].hashCode()"
    - "[java.lang.ProcessBuilder$Redirect].hashCode()"
    - "[java.util.jar.Attributes$Name].hashCode()"
    - "[org.springframework.asm.Handle].hashCode()"
    - "[org.springframework.core.io.ClassPathResource].hashCode()"
    - "[org.springframework.cache.interceptor.CacheOperationSourcePointcut].hashCode()"
    - "[org.springframework.cglib.core.MethodInfo].hashCode()"
    - "[java.rmi.server.ObjID].hashCode()"
    - "[javax.management.MBeanParameterInfo].hashCode()"
    - "[java.lang.Runtime$Version].hashCode()"
    - "[java.nio.ShortBuffer].hashCode()"
    - "[java.util.OptionalDouble].hashCode()"
    - "[org.springframework.core.io.ByteArrayResource].hashCode()"
    - "[sun.nio.fs.UnixFileStore].hashCode()"
    - "[java.util.concurrent.ConcurrentHashMap$Node].hashCode()"
    - "[java.awt.JobAttributes$MultipleDocumentHandlingType].hashCode()"
    - "[java.util.Date].hashCode()"
    - "[java.awt.PageAttributes$MediaType].hashCode()"
    - "[java.nio.charset.Charset].hashCode()"
    - "[java.rmi.dgc.VMID].hashCode()"
    - "[java.rmi.server.UID].hashCode()"
    - "[org.springframework.beans.ExtendedBeanInfo$SimplePropertyDescriptor].hashCode()"
    - "[java.lang.StackTraceElement].hashCode()"
    - "[org.springframework.classify.util.SimpleMethodInvoker].hashCode()"
    - "[jdk.internal.jimage.ImageReader$Node].hashCode()"
    - "[java.awt.geom.Rectangle2D].hashCode()"
    - "[java.util.IdentityHashMap].hashCode()"
    - "[java.util.AbstractList].hashCode()"
    - "[java.lang.module.ModuleDescriptor$Opens].hashCode()"
    - "[java.util.Hashtable$Entry].hashCode()"
    - "[com.google.gson.internal.$Gson$Types$WildcardTypeImpl].hashCode()"
    - "[org.springframework.util.AutoPopulatingList].hashCode()"
    - "[org.springframework.core.io.PathResource].hashCode()"
    - "[java.lang.Long].hashCode()"
    - "[java.util.Hashtable].hashCode()"
    - "[java.security.AccessControlContext].hashCode()"
    - "[org.springframework.util.LinkedMultiValueMap].hashCode()"
    - "[java.util.Vector].hashCode()"
    - "[org.springframework.beans.support.MutableSortDefinition].hashCode()"
    - "[java.util.Locale].hashCode()"
    - "[org.springframework.aop.support.MethodMatchers$IntersectionMethodMatcher].hashCode()"
    - "[org.springframework.scheduling.support.PeriodicTrigger].hashCode()"
    - "[jdk.internal.misc.Signal].hashCode()"
    - "[org.springframework.cglib.reflect.FastMember].hashCode()"
    - "[java.awt.image.IndexColorModel].hashCode()"
    - "[javax.crypto.CryptoPermission].hashCode()"
    - "[java.awt.PageAttributes].hashCode()"
    - "[org.springframework.beans.factory.config.BeanDefinitionHolder].hashCode()"
    - "[javax.management.ObjectName].hashCode()"
    - "[java.time.ZonedDateTime].hashCode()"
    - "[org.springframework.util.comparator.InvertibleComparator].hashCode()"
    - "[javax.xml.namespace.QName].hashCode()"
    - "[org.springframework.core.ParameterizedTypeReference].hashCode()"
    - "[java.util.logging.LogManager$CloseOnReset].hashCode()"
    - "[org.springframework.core.io.VfsResource].hashCode()"
    - "[java.nio.IntBuffer].hashCode()"
    - "[org.springframework.context.support.DefaultMessageSourceResolvable].hashCode()"
    - "[com.google.gson.internal.$Gson$Types$GenericArrayTypeImpl].hashCode()"
    - "[sun.font.AttributeValues].hashCode()"
    - "[org.springframework.beans.factory.config.ConstructorArgumentValues].hashCode()"
    - "[java.util.logging.Level].hashCode()"
    - "[java.lang.Float].hashCode()"
    - "[java.io.FilePermission].hashCode()"
    - "[java.lang.invoke.LambdaFormEditor$TransformKey].hashCode()"
    - "[java.lang.module.ModuleDescriptor$Exports].hashCode()"
    - "[java.time.Period].hashCode()"
    - "[java.lang.Object].hashCode()"
    - "[org.springframework.cglib.core.Signature].hashCode()"
    - "[org.springframework.context.expression.CachedExpressionEvaluator$ExpressionKey].hashCode()"
    - "[sun.nio.fs.UnixPath].hashCode()"
    - "[java.util.ArrayList].hashCode()"
    - "[org.springframework.beans.factory.config.RuntimeBeanNameReference].hashCode()"
    - "[org.springframework.validation.AbstractBindingResult].hashCode()"
    - "[java.util.AbstractMap$SimpleImmutableEntry].hashCode()"
    - "[org.springframework.core.MethodParameter].hashCode()"
    - "[org.springframework.core.AttributeAccessorSupport].hashCode()"
    - "[com.google.gson.JsonArray].hashCode()"
    - "[org.springframework.cglib.core.ClassEmitter$FieldInfo].hashCode()"
    - "[sun.java2d.loops.CompositeType].hashCode()"
    - "[org.springframework.validation.ObjectError].hashCode()"
    - "[java.lang.invoke.ClassSpecializer$SpeciesData].hashCode()"
    - "[sun.java2d.loops.SurfaceType].hashCode()"
    - "[java.lang.Short].hashCode()"
    - "[java.lang.reflect.Field].hashCode()"
    - "[org.springframework.aop.framework.JdkDynamicAopProxy].hashCode()"
    - "[org.springframework.util.comparator.BooleanComparator].hashCode()"
    - "[org.springframework.cache.interceptor.SimpleKey].hashCode()"
    - "[sun.util.locale.BaseLocale].hashCode()"
    - "[javax.management.MBeanNotificationInfo].hashCode()"
    - "[java.lang.Double].hashCode()"
    - "[org.apache.commons.logging.impl.WeakHashtable$Entry].hashCode()"
    - "[java.time.OffsetDateTime].hashCode()"
    - "[org.springframework.util.ConcurrentReferenceHashMap$Entry].hashCode()"
    - "[org.springframework.aop.support.AbstractPointcutAdvisor].hashCode()"
    - "[java.text.FieldPosition].hashCode()"
    - "[java.util.WeakHashMap$Entry].hashCode()"
    - "[com.sun.net.httpserver.Headers].hashCode()"
    - "[org.springframework.aop.aspectj.AbstractAspectJAdvice$AdviceExcludingMethodMatcher].hashCode()"
    - "[java.lang.Package].hashCode()"
    - "[java.util.concurrent.CopyOnWriteArrayList].hashCode()"
    - "[java.net.InetSocketAddress].hashCode()"
    - "[org.springframework.cglib.reflect.MethodDelegate].hashCode()"
    - "[java.nio.file.attribute.FileTime].hashCode()"
    - "[java.awt.PageAttributes$OrientationRequestedType].hashCode()"
    - "[org.springframework.context.annotation.ConfigurationClassParser$SourceClass].hashCode()"
    - "[org.springframework.core.convert.converter.GenericConverter$ConvertiblePair].hashCode()"
    - "[java.lang.Character$Subset].hashCode()"
    - "[java.awt.PageAttributes$PrintQualityType].hashCode()"
    - "[org.springframework.core.ResolvableType$SyntheticParameterizedType].hashCode()"
    - "[javax.management.MBeanFeatureInfo].hashCode()"
    - "[java.math.BigDecimal].hashCode()"
    - "[java.nio.LongBuffer].hashCode()"
    - "[org.springframework.context.event.AbstractApplicationEventMulticaster$ListenerCacheKey].hashCode()"
    - "[com.google.gson.internal.LinkedHashTreeMap$Node].hashCode()"
    - "[org.springframework.aop.support.NameMatchMethodPointcut].hashCode()"
    - "[org.springframework.beans.factory.support.BeanDefinitionResource].hashCode()"
    - "[java.time.OffsetTime].hashCode()"
    - "[java.text.MessageFormat].hashCode()"
    - "[com.google.gson.reflect.TypeToken].hashCode()"
    - "[org.apache.commons.logging.impl.WeakHashtable$Referenced].hashCode()"
    - "[java.lang.ProcessHandleImpl].hashCode()"
    - "[org.springframework.aop.framework.CglibAopProxy].hashCode()"
    - "[java.lang.constant.DynamicConstantDesc].hashCode()"
    - "[java.awt.datatransfer.DataFlavor].hashCode()"
    - "[org.springframework.core.annotation.AnnotationUtils$AnnotationCacheKey].hashCode()"
    - "[org.springframework.context.annotation.ConfigurationClass].hashCode()"
    - "[java.time.ZoneId].hashCode()"
    - "[javax.management.ObjectInstance].hashCode()"
    - "[org.springframework.beans.factory.support.MethodOverrides].hashCode()"
    - "[org.springframework.util.MimeType].hashCode()"
    - "[org.springframework.validation.FieldError].hashCode()"
    - "[org.springframework.expression.spel.support.ReflectivePropertyAccessor$PropertyCacheKey].hashCode()"
    - "[org.springframework.beans.GenericTypeAwarePropertyDescriptor].hashCode()"
    - "[java.security.CodeSource].hashCode()"
    - "[sun.java2d.pipe.Region].hashCode()"
    - "[java.net.Proxy].hashCode()"
    - "[java.awt.RenderingHints].hashCode()"
    - "[java.awt.BasicStroke].hashCode()"
    - "[org.springframework.aop.support.AbstractRegexpMethodPointcut].hashCode()"
    - "[java.util.UUID].hashCode()"
    - "[org.springframework.aop.support.ControlFlowPointcut].hashCode()"
    - "[java.lang.invoke.LambdaForm$Name].hashCode()"
    - "[org.springframework.aop.target.SingletonTargetSource].hashCode()"
    - "[java.util.Properties].hashCode()"
    - "[java.lang.reflect.Constructor].hashCode()"
    - "[java.security.CodeSigner].hashCode()"
    - "[java.awt.AlphaComposite].hashCode()"
    functionUses: 29
    ICount: 9
    EdgeCount: 374
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.classify.util.SimpleMethodInvoker:134,1"
      Dst: "[java.lang.Object].hashCode()"
    - Src: "org.springframework.classify.util.SimpleMethodInvoker:135,1"
      Dst: "[java.lang.reflect.Method].hashCode()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.listener.MethodInvocationRetryListenerSupport].<init>()"
    functionSourceFile: "org.springframework.retry.listener.MethodInvocationRetryListenerSupport"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.listener.MethodInvocationRetryListenerSupport:36,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.listener.MethodInvocationRetryListenerSupport].close(org.springframework.retry.RetryContext,org.springframework.retry.RetryCallback<T,E>,java.lang.Throwable)"
    functionSourceFile: "org.springframework.retry.listener.MethodInvocationRetryListenerSupport"
    linkageType: ""
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "org.springframework.retry.RetryContext"
    - "org.springframework.retry.RetryCallback<T,E>"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.listener.MethodInvocationRetryListenerSupport].doClose(org.springframework.retry.RetryContext,org.springframework.retry.interceptor.MethodInvocationRetryCallback,java.lang.Throwable)"
    functionUses: 1
    ICount: 9
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.springframework.retry.listener.MethodInvocationRetryListenerSupport:40"
      Branch Sides:
      - BranchSide: "org.springframework.retry.listener.MethodInvocationRetryListenerSupport:44"
        BranchSideFuncs:
        - "doClose(org.springframework.retry.RetryContext,org.springframework.retry.interceptor.MethodInvocationRetryCallback,java.lang.Throwable)"
      - BranchSide: "org.springframework.retry.listener.MethodInvocationRetryListenerSupport:43"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.springframework.retry.listener.MethodInvocationRetryListenerSupport:42,1"
      Dst: "[org.springframework.retry.listener.MethodInvocationRetryListenerSupport].doClose(org.springframework.retry.RetryContext,org.springframework.retry.interceptor.MethodInvocationRetryCallback,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[org.springframework.retry.listener.MethodInvocationRetryListenerSupport].onError(org.springframework.retry.RetryContext,org.springframework.retry.RetryCallback<T,E>,java.lang.Throwable)"
    functionSourceFile: "org.springframework.retry.listener.MethodInvocationRetryListenerSupport"
    linkageType: ""
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "org.springframework.retry.RetryContext"
    - "org.springframework.retry.RetryCallback<T,E>"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.listener.MethodInvocationRetryListenerSupport].doOnError(org.springframework.retry.RetryContext,org.springframework.retry.interceptor.MethodInvocationRetryCallback,java.lang.Throwable)"
    functionUses: 1
    ICount: 9
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.springframework.retry.listener.MethodInvocationRetryListenerSupport:48"
      Branch Sides:
      - BranchSide: "org.springframework.retry.listener.MethodInvocationRetryListenerSupport:52"
        BranchSideFuncs:
        - "doOnError(org.springframework.retry.RetryContext,org.springframework.retry.interceptor.MethodInvocationRetryCallback,java.lang.Throwable)"
      - BranchSide: "org.springframework.retry.listener.MethodInvocationRetryListenerSupport:51"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.springframework.retry.listener.MethodInvocationRetryListenerSupport:50,1"
      Dst: "[org.springframework.retry.listener.MethodInvocationRetryListenerSupport].doOnError(org.springframework.retry.RetryContext,org.springframework.retry.interceptor.MethodInvocationRetryCallback,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[org.springframework.retry.listener.MethodInvocationRetryListenerSupport].open(org.springframework.retry.RetryContext,org.springframework.retry.RetryCallback<T,E>)"
    functionSourceFile: "org.springframework.retry.listener.MethodInvocationRetryListenerSupport"
    linkageType: ""
    functionLinenumber: 54
    functionLinenumberEnd: 62
    functionDepth: 0
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "org.springframework.retry.RetryContext"
    - "org.springframework.retry.RetryCallback<T,E>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.listener.MethodInvocationRetryListenerSupport].doOpen(org.springframework.retry.RetryContext,org.springframework.retry.interceptor.MethodInvocationRetryCallback)"
    functionUses: 1
    ICount: 9
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.springframework.retry.listener.MethodInvocationRetryListenerSupport:55"
      Branch Sides:
      - BranchSide: "org.springframework.retry.listener.MethodInvocationRetryListenerSupport:61"
        BranchSideFuncs:
        - "doOpen(org.springframework.retry.RetryContext,org.springframework.retry.interceptor.MethodInvocationRetryCallback)"
      - BranchSide: "org.springframework.retry.listener.MethodInvocationRetryListenerSupport:60"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.springframework.retry.listener.MethodInvocationRetryListenerSupport:57,1"
      Dst: "[org.springframework.retry.listener.MethodInvocationRetryListenerSupport].doOpen(org.springframework.retry.RetryContext,org.springframework.retry.interceptor.MethodInvocationRetryCallback)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.listener.MethodInvocationRetryListenerSupport].doClose(org.springframework.retry.RetryContext,org.springframework.retry.interceptor.MethodInvocationRetryCallback<T,E>,java.lang.Throwable)"
    functionSourceFile: "org.springframework.retry.listener.MethodInvocationRetryListenerSupport"
    linkageType: ""
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "org.springframework.retry.RetryContext"
    - "org.springframework.retry.interceptor.MethodInvocationRetryCallback<T,E>"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.listener.MethodInvocationRetryListenerSupport].doOnError(org.springframework.retry.RetryContext,org.springframework.retry.interceptor.MethodInvocationRetryCallback<T,E>,java.lang.Throwable)"
    functionSourceFile: "org.springframework.retry.listener.MethodInvocationRetryListenerSupport"
    linkageType: ""
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "org.springframework.retry.RetryContext"
    - "org.springframework.retry.interceptor.MethodInvocationRetryCallback<T,E>"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.listener.MethodInvocationRetryListenerSupport].doOpen(org.springframework.retry.RetryContext,org.springframework.retry.interceptor.MethodInvocationRetryCallback<T,E>)"
    functionSourceFile: "org.springframework.retry.listener.MethodInvocationRetryListenerSupport"
    linkageType: ""
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionDepth: 0
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "org.springframework.retry.RetryContext"
    - "org.springframework.retry.interceptor.MethodInvocationRetryCallback<T,E>"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.stats.StatisticsListener].<init>(org.springframework.retry.stats.StatisticsRepository)"
    functionSourceFile: "org.springframework.retry.stats.StatisticsListener"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.springframework.retry.stats.StatisticsRepository"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.listener.RetryListenerSupport].<init>()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.stats.StatisticsListener:34,1"
      Dst: "[org.springframework.retry.listener.RetryListenerSupport].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.stats.StatisticsListener].close(org.springframework.retry.RetryContext,org.springframework.retry.RetryCallback<T,E>,java.lang.Throwable)"
    functionSourceFile: "org.springframework.retry.stats.StatisticsListener"
    linkageType: ""
    functionLinenumber: 40
    functionLinenumberEnd: 70
    functionDepth: 1
    returnType: "void"
    argCount: 3
    argTypes:
    - "org.springframework.retry.RetryContext"
    - "org.springframework.retry.RetryCallback<T,E>"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.stats.StatisticsListener].getName(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.stats.StatisticsListener].isExhausted(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.stats.StatisticsListener].isGlobal(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.stats.DefaultStatisticsRepository].addStarted(java.lang.String)"
    - "[org.springframework.retry.stats.StatisticsListener].isRecovered(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.stats.DefaultStatisticsRepository].addRecovery(java.lang.String)"
    - "[org.springframework.retry.stats.DefaultStatisticsRepository].addAbort(java.lang.String)"
    - "[org.springframework.retry.stats.StatisticsListener].isClosed(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.stats.DefaultStatisticsRepository].addComplete(java.lang.String)"
    - "[org.springframework.retry.stats.DefaultStatisticsRepository].findOne(java.lang.String)"
    - "[org.springframework.core.AttributeAccessorSupport].hasAttribute(java.lang.String)"
    - "[org.springframework.core.AttributeAccessorSupport].getAttribute(java.lang.String)"
    - "[org.springframework.beans.BeanMetadataAttributeAccessor].setAttribute(java.lang.String,java.lang.Object)"
    - "[org.springframework.core.AttributeAccessorSupport].setAttribute(java.lang.String,java.lang.Object)"
    - "[org.springframework.retry.stats.StatisticsRepository].addStarted(java.lang.String)"
    - "[org.springframework.retry.stats.StatisticsRepository].addRecovery(java.lang.String)"
    - "[org.springframework.retry.stats.StatisticsRepository].addAbort(java.lang.String)"
    - "[org.springframework.retry.stats.StatisticsRepository].addComplete(java.lang.String)"
    - "[org.springframework.retry.stats.StatisticsRepository].findOne(java.lang.String)"
    - "[org.springframework.core.AttributeAccessor].hasAttribute(java.lang.String)"
    - "[org.springframework.core.AttributeAccessor].getAttribute(java.lang.String)"
    - "[org.springframework.core.AttributeAccessor].setAttribute(java.lang.String,java.lang.Object)"
    functionUses: 1
    ICount: 45
    EdgeCount: 15
    BranchProfiles:
    - Branch String: "org.springframework.retry.stats.StatisticsListener:42"
      Branch Sides:
      - BranchSide: "org.springframework.retry.stats.StatisticsListener:69"
        BranchSideFuncs:
        - "isGlobal(org.springframework.retry.RetryContext)"
      - BranchSide: "org.springframework.retry.stats.StatisticsListener:68"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.stats.StatisticsListener:43"
      Branch Sides:
      - BranchSide: "org.springframework.retry.stats.StatisticsListener:46"
        BranchSideFuncs:
        - "addStarted(java.lang.String)"
    - Branch String: "org.springframework.retry.stats.StatisticsListener:43"
      Branch Sides:
      - BranchSide: "org.springframework.retry.stats.StatisticsListener:48"
        BranchSideFuncs:
        - "isRecovered(org.springframework.retry.RetryContext)"
    - Branch String: "org.springframework.retry.stats.StatisticsListener:49"
      Branch Sides:
      - BranchSide: "org.springframework.retry.stats.StatisticsListener:52"
        BranchSideFuncs:
        - "addRecovery(java.lang.String)"
      - BranchSide: "org.springframework.retry.stats.StatisticsListener:51"
        BranchSideFuncs:
        - "isExhausted(org.springframework.retry.RetryContext)"
    - Branch String: "org.springframework.retry.stats.StatisticsListener:52"
      Branch Sides:
      - BranchSide: "org.springframework.retry.stats.StatisticsListener:55"
        BranchSideFuncs:
        - "addAbort(java.lang.String)"
      - BranchSide: "org.springframework.retry.stats.StatisticsListener:54"
        BranchSideFuncs:
        - "isClosed(org.springframework.retry.RetryContext)"
    - Branch String: "org.springframework.retry.stats.StatisticsListener:55"
      Branch Sides:
      - BranchSide: "org.springframework.retry.stats.StatisticsListener:58"
        BranchSideFuncs:
        - "addComplete(java.lang.String)"
      - BranchSide: "org.springframework.retry.stats.StatisticsListener:57"
        BranchSideFuncs:
        - "findOne(java.lang.String)"
    - Branch String: "org.springframework.retry.stats.StatisticsListener:59"
      Branch Sides:
      - BranchSide: "org.springframework.retry.stats.StatisticsListener:69"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.stats.StatisticsListener:68"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.stats.StatisticsListener:61"
      Branch Sides:
      - BranchSide: "org.springframework.retry.stats.StatisticsListener:69"
        BranchSideFuncs:
        - "hasAttribute(java.lang.String)"
      - BranchSide: "org.springframework.retry.stats.StatisticsListener:68"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.stats.StatisticsListener:63"
      Branch Sides:
      - BranchSide: "org.springframework.retry.stats.StatisticsListener:60"
        BranchSideFuncs:
        - "getAttribute(java.lang.String)"
        - "setAttribute(java.lang.String,java.lang.Object)"
      - BranchSide: "org.springframework.retry.stats.StatisticsListener:59"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.springframework.retry.stats.StatisticsListener:41,1"
      Dst: "[org.springframework.retry.stats.StatisticsListener].getName(org.springframework.retry.RetryContext)"
    - Src: "org.springframework.retry.stats.StatisticsListener:43,1"
      Dst: "[org.springframework.retry.stats.StatisticsListener].isExhausted(org.springframework.retry.RetryContext)"
    - Src: "org.springframework.retry.stats.StatisticsListener:43,1"
      Dst: "[org.springframework.retry.stats.StatisticsListener].isGlobal(org.springframework.retry.RetryContext)"
    - Src: "org.springframework.retry.stats.StatisticsListener:47,1"
      Dst: "[org.springframework.retry.stats.StatisticsRepository].addStarted(java.lang.String)"
    - Src: "org.springframework.retry.stats.StatisticsListener:49,1"
      Dst: "[org.springframework.retry.stats.StatisticsListener].isRecovered(org.springframework.retry.RetryContext)"
    - Src: "org.springframework.retry.stats.StatisticsListener:50,1"
      Dst: "[org.springframework.retry.stats.StatisticsRepository].addRecovery(java.lang.String)"
    - Src: "org.springframework.retry.stats.StatisticsListener:53,1"
      Dst: "[org.springframework.retry.stats.StatisticsRepository].addAbort(java.lang.String)"
    - Src: "org.springframework.retry.stats.StatisticsListener:55,1"
      Dst: "[org.springframework.retry.stats.StatisticsListener].isClosed(org.springframework.retry.RetryContext)"
    - Src: "org.springframework.retry.stats.StatisticsListener:56,1"
      Dst: "[org.springframework.retry.stats.StatisticsRepository].addComplete(java.lang.String)"
    - Src: "org.springframework.retry.stats.StatisticsListener:58,1"
      Dst: "[org.springframework.retry.stats.StatisticsRepository].findOne(java.lang.String)"
    - Src: "org.springframework.retry.stats.StatisticsListener:63,1"
      Dst: "[org.springframework.core.AttributeAccessor].hasAttribute(java.lang.String)"
    - Src: "org.springframework.retry.stats.StatisticsListener:64,1"
      Dst: "[org.springframework.core.AttributeAccessor].getAttribute(java.lang.String)"
    - Src: "org.springframework.retry.stats.StatisticsListener:64,1"
      Dst: "[org.springframework.core.AttributeAccessor].setAttribute(java.lang.String,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 17
    CyclomaticComplexity: 10
  - functionName: "[org.springframework.retry.stats.StatisticsListener].getName(org.springframework.retry.RetryContext)"
    functionSourceFile: "org.springframework.retry.stats.StatisticsListener"
    linkageType: ""
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "org.springframework.retry.RetryContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.core.AttributeAccessorSupport].getAttribute(java.lang.String)"
    - "[org.springframework.core.AttributeAccessor].getAttribute(java.lang.String)"
    functionUses: 2
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.stats.StatisticsListener:106,1"
      Dst: "[org.springframework.core.AttributeAccessor].getAttribute(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.stats.StatisticsListener].isExhausted(org.springframework.retry.RetryContext)"
    functionSourceFile: "org.springframework.retry.stats.StatisticsListener"
    linkageType: ""
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "org.springframework.retry.RetryContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.core.AttributeAccessorSupport].hasAttribute(java.lang.String)"
    - "[org.springframework.core.AttributeAccessor].hasAttribute(java.lang.String)"
    functionUses: 2
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.stats.StatisticsListener:90,1"
      Dst: "[org.springframework.core.AttributeAccessor].hasAttribute(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.stats.StatisticsListener].isGlobal(org.springframework.retry.RetryContext)"
    functionSourceFile: "org.springframework.retry.stats.StatisticsListener"
    linkageType: ""
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "org.springframework.retry.RetryContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.core.AttributeAccessorSupport].hasAttribute(java.lang.String)"
    - "[org.springframework.core.AttributeAccessor].hasAttribute(java.lang.String)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.stats.StatisticsListener:86,1"
      Dst: "[org.springframework.core.AttributeAccessor].hasAttribute(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.stats.StatisticsListener].isRecovered(org.springframework.retry.RetryContext)"
    functionSourceFile: "org.springframework.retry.stats.StatisticsListener"
    linkageType: ""
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "org.springframework.retry.RetryContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.core.AttributeAccessorSupport].hasAttribute(java.lang.String)"
    - "[org.springframework.core.AttributeAccessor].hasAttribute(java.lang.String)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.stats.StatisticsListener:98,1"
      Dst: "[org.springframework.core.AttributeAccessor].hasAttribute(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.stats.StatisticsListener].isClosed(org.springframework.retry.RetryContext)"
    functionSourceFile: "org.springframework.retry.stats.StatisticsListener"
    linkageType: ""
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "org.springframework.retry.RetryContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.core.AttributeAccessorSupport].hasAttribute(java.lang.String)"
    - "[org.springframework.core.AttributeAccessor].hasAttribute(java.lang.String)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.stats.StatisticsListener:94,1"
      Dst: "[org.springframework.core.AttributeAccessor].hasAttribute(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.stats.StatisticsListener].onError(org.springframework.retry.RetryContext,org.springframework.retry.RetryCallback<T,E>,java.lang.Throwable)"
    functionSourceFile: "org.springframework.retry.stats.StatisticsListener"
    linkageType: ""
    functionLinenumber: 73
    functionLinenumberEnd: 84
    functionDepth: 1
    returnType: "void"
    argCount: 3
    argTypes:
    - "org.springframework.retry.RetryContext"
    - "org.springframework.retry.RetryCallback<T,E>"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.stats.StatisticsListener].getName(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.stats.StatisticsListener].hasState(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.stats.DefaultStatisticsRepository].addStarted(java.lang.String)"
    - "[org.springframework.retry.stats.DefaultStatisticsRepository].addError(java.lang.String)"
    - "[org.springframework.retry.stats.StatisticsRepository].addStarted(java.lang.String)"
    - "[org.springframework.retry.stats.StatisticsRepository].addError(java.lang.String)"
    functionUses: 1
    ICount: 13
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "org.springframework.retry.stats.StatisticsListener:75"
      Branch Sides:
      - BranchSide: "org.springframework.retry.stats.StatisticsListener:83"
        BranchSideFuncs:
        - "hasState(org.springframework.retry.RetryContext)"
      - BranchSide: "org.springframework.retry.stats.StatisticsListener:82"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.stats.StatisticsListener:76"
      Branch Sides:
      - BranchSide: "org.springframework.retry.stats.StatisticsListener:80"
        BranchSideFuncs:
        - "addError(java.lang.String)"
    Callsites:
    - Src: "org.springframework.retry.stats.StatisticsListener:74,1"
      Dst: "[org.springframework.retry.stats.StatisticsListener].getName(org.springframework.retry.RetryContext)"
    - Src: "org.springframework.retry.stats.StatisticsListener:76,1"
      Dst: "[org.springframework.retry.stats.StatisticsListener].hasState(org.springframework.retry.RetryContext)"
    - Src: "org.springframework.retry.stats.StatisticsListener:79,1"
      Dst: "[org.springframework.retry.stats.StatisticsRepository].addStarted(java.lang.String)"
    - Src: "org.springframework.retry.stats.StatisticsListener:81,1"
      Dst: "[org.springframework.retry.stats.StatisticsRepository].addError(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[org.springframework.retry.stats.StatisticsListener].hasState(org.springframework.retry.RetryContext)"
    functionSourceFile: "org.springframework.retry.stats.StatisticsListener"
    linkageType: ""
    functionLinenumber: 101
    functionLinenumberEnd: 103
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "org.springframework.retry.RetryContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.core.AttributeAccessorSupport].hasAttribute(java.lang.String)"
    - "[org.springframework.core.AttributeAccessor].hasAttribute(java.lang.String)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.stats.StatisticsListener:102,1"
      Dst: "[org.springframework.core.AttributeAccessor].hasAttribute(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.backoff.ExponentialRandomBackOffPolicy].start(org.springframework.retry.RetryContext)"
    functionSourceFile: "org.springframework.retry.backoff.ExponentialRandomBackOffPolicy"
    linkageType: ""
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionDepth: 2
    returnType: "org.springframework.retry.backoff.BackOffContext"
    argCount: 1
    argTypes:
    - "org.springframework.retry.RetryContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.backoff.ExponentialRandomBackOffPolicy$ExponentialRandomBackOffContext].<init>(long,double,long)"
    - "[org.springframework.retry.backoff.ExponentialBackOffPolicy].getInitialInterval()"
    - "[org.springframework.retry.backoff.ExponentialBackOffPolicy].getMaxInterval()"
    - "[org.springframework.retry.backoff.ExponentialBackOffPolicy].getMultiplier()"
    functionUses: 1
    ICount: 8
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.backoff.ExponentialRandomBackOffPolicy:55,1"
      Dst: "[org.springframework.retry.backoff.ExponentialBackOffPolicy].getInitialInterval()"
    - Src: "org.springframework.retry.backoff.ExponentialRandomBackOffPolicy:55,1"
      Dst: "[org.springframework.retry.backoff.ExponentialBackOffPolicy].getMultiplier()"
    - Src: "org.springframework.retry.backoff.ExponentialRandomBackOffPolicy:55,1"
      Dst: "[org.springframework.retry.backoff.ExponentialBackOffPolicy].getMaxInterval()"
    - Src: "org.springframework.retry.backoff.ExponentialRandomBackOffPolicy:55,1"
      Dst: "[org.springframework.retry.backoff.ExponentialRandomBackOffPolicy$ExponentialRandomBackOffContext].<init>(long,double,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.backoff.ExponentialBackOffPolicy].getInitialInterval()"
    functionSourceFile: "org.springframework.retry.backoff.ExponentialBackOffPolicy"
    linkageType: ""
    functionLinenumber: 140
    functionLinenumberEnd: 142
    functionDepth: 0
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.backoff.ExponentialBackOffPolicy].getMultiplier()"
    functionSourceFile: "org.springframework.retry.backoff.ExponentialBackOffPolicy"
    linkageType: ""
    functionLinenumber: 156
    functionLinenumberEnd: 158
    functionDepth: 0
    returnType: "double"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.backoff.ExponentialBackOffPolicy].getMaxInterval()"
    functionSourceFile: "org.springframework.retry.backoff.ExponentialBackOffPolicy"
    linkageType: ""
    functionLinenumber: 148
    functionLinenumberEnd: 150
    functionDepth: 0
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.backoff.ExponentialRandomBackOffPolicy$ExponentialRandomBackOffContext].<init>(long,double,long)"
    functionSourceFile: "org.springframework.retry.backoff.ExponentialRandomBackOffPolicy$ExponentialRandomBackOffContext"
    linkageType: ""
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionDepth: 1
    returnType: "void"
    argCount: 3
    argTypes:
    - "long"
    - "double"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Random].<init>()"
    - "[org.springframework.retry.backoff.ExponentialBackOffPolicy$ExponentialBackOffContext].<init>(long,double,long)"
    functionUses: 1
    ICount: 9
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.backoff.ExponentialRandomBackOffPolicy$ExponentialRandomBackOffContext:67,1"
      Dst: "[org.springframework.retry.backoff.ExponentialBackOffPolicy$ExponentialBackOffContext].<init>(long,double,long)"
    - Src: "org.springframework.retry.backoff.ExponentialRandomBackOffPolicy$ExponentialRandomBackOffContext:64,1"
      Dst: "[java.util.Random].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.backoff.ExponentialRandomBackOffPolicy].newInstance()"
    functionSourceFile: "org.springframework.retry.backoff.ExponentialRandomBackOffPolicy"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "org.springframework.retry.backoff.ExponentialBackOffPolicy"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.backoff.ExponentialRandomBackOffPolicy].<init>()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.backoff.ExponentialRandomBackOffPolicy:59,1"
      Dst: "[org.springframework.retry.backoff.ExponentialRandomBackOffPolicy].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.util.MethodInvoker].<init>()"
    functionSourceFile: "org.springframework.util.MethodInvoker"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.util.MethodInvoker:37,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.util.MethodInvoker].setTargetClass(java.lang.Class)"
    functionSourceFile: "org.springframework.util.MethodInvoker"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.util.MethodInvoker].getTargetClass()"
    functionSourceFile: "org.springframework.util.MethodInvoker"
    linkageType: ""
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionDepth: 0
    returnType: "java.lang.Class"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 4
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.util.MethodInvoker].setTargetObject(java.lang.Object)"
    functionSourceFile: "org.springframework.util.MethodInvoker"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].getClass()"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.springframework.util.MethodInvoker:80"
      Branch Sides:
      - BranchSide: "org.springframework.util.MethodInvoker:83"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.util.MethodInvoker:82"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.springframework.util.MethodInvoker:81,1"
      Dst: "[java.lang.Object].getClass()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[org.springframework.util.MethodInvoker].getTargetObject()"
    functionSourceFile: "org.springframework.util.MethodInvoker"
    linkageType: ""
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.util.MethodInvoker].setTargetMethod(java.lang.String)"
    functionSourceFile: "org.springframework.util.MethodInvoker"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.util.MethodInvoker].getTargetMethod()"
    functionSourceFile: "org.springframework.util.MethodInvoker"
    linkageType: ""
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 4
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.util.MethodInvoker].setStaticMethod(java.lang.String)"
    functionSourceFile: "org.springframework.util.MethodInvoker"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.util.MethodInvoker].setArguments(java.lang.Object[])"
    functionSourceFile: "org.springframework.util.MethodInvoker"
    linkageType: ""
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.util.MethodInvoker].getArguments()"
    functionSourceFile: "org.springframework.util.MethodInvoker"
    linkageType: ""
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionDepth: 0
    returnType: "java.lang.Object[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 5
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.springframework.util.MethodInvoker:133"
      Branch Sides:
      - BranchSide: "org.springframework.util.MethodInvoker:132"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[org.springframework.util.MethodInvoker].prepare()"
    functionSourceFile: "org.springframework.util.MethodInvoker"
    linkageType: ""
    functionLinenumber: 143
    functionLinenumberEnd: 180
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].lastIndexOf(int)"
    - "[java.lang.String].length()"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.lang.String].substring(int,int)"
    - "[java.lang.String].substring(int)"
    - "[org.springframework.util.MethodInvoker].resolveClassName(java.lang.String)"
    - "[org.springframework.beans.factory.config.MethodInvokingBean].resolveClassName(java.lang.String)"
    - "[org.springframework.scheduling.support.MethodInvokingRunnable].resolveClassName(java.lang.String)"
    - "[org.springframework.util.MethodInvoker].getTargetClass()"
    - "[org.springframework.util.MethodInvoker].getTargetMethod()"
    - "[org.springframework.util.Assert].notNull(java.lang.Object,java.lang.String)"
    - "[org.springframework.util.MethodInvoker].getArguments()"
    - "[java.lang.Object].getClass()"
    - "[java.lang.Class].getMethod(java.lang.String,java.lang.Class[])"
    - "[org.springframework.util.MethodInvoker].findMatchingMethod()"
    - "[org.springframework.beans.support.ArgumentConvertingMethodInvoker].findMatchingMethod()"
    functionUses: 3
    ICount: 51
    EdgeCount: 17
    BranchProfiles:
    - Branch String: "org.springframework.util.MethodInvoker:144"
      Branch Sides:
      - BranchSide: "org.springframework.util.MethodInvoker:157"
        BranchSideFuncs:
        - "length()"
        - "lastIndexOf(int)"
      - BranchSide: "org.springframework.util.MethodInvoker:156"
        BranchSideFuncs:
        - "getTargetClass()"
        - "getArguments()"
        - "notNull(java.lang.Object,java.lang.String)"
        - "getTargetMethod()"
    - Branch String: "org.springframework.util.MethodInvoker:146"
      Branch Sides:
      - BranchSide: "org.springframework.util.MethodInvoker:147"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "org.springframework.util.MethodInvoker:146"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
    - Branch String: "org.springframework.util.MethodInvoker:146"
      Branch Sides:
      - BranchSide: "org.springframework.util.MethodInvoker:151"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "org.springframework.util.MethodInvoker:150"
        BranchSideFuncs:
        - "substring(int)"
        - "resolveClassName(java.lang.String)"
        - "substring(int,int)"
    - Branch String: "org.springframework.util.MethodInvoker:164"
      Branch Sides:
      - BranchSide: "org.springframework.util.MethodInvoker:170"
        BranchSideFuncs:
        - "getClass()"
      - BranchSide: "org.springframework.util.MethodInvoker:169"
        BranchSideFuncs:
        - "findMatchingMethod()"
        - "getMethod(java.lang.String,java.lang.Class[])"
    - Branch String: "org.springframework.util.MethodInvoker:165"
      Branch Sides:
      - BranchSide: "org.springframework.util.MethodInvoker:165"
        BranchSideFuncs:
        - "substring(int)"
        - "getTargetClass()"
        - "getArguments()"
        - "notNull(java.lang.Object,java.lang.String)"
        - "resolveClassName(java.lang.String)"
        - "substring(int,int)"
        - "findMatchingMethod()"
        - "getClass()"
        - "getTargetMethod()"
        - "getMethod(java.lang.String,java.lang.Class[])"
        - "<init>(java.lang.String)"
      - BranchSide: "org.springframework.util.MethodInvoker:164"
        BranchSideFuncs:
        - "getClass()"
    - Branch String: "org.springframework.util.MethodInvoker:175"
      Branch Sides:
      - BranchSide: "org.springframework.util.MethodInvoker:179"
        BranchSideFuncs:
        - "findMatchingMethod()"
        - "getMethod(java.lang.String,java.lang.Class[])"
      - BranchSide: "org.springframework.util.MethodInvoker:178"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.springframework.util.MethodInvoker:145,1"
      Dst: "[java.lang.String].lastIndexOf(int)"
    - Src: "org.springframework.util.MethodInvoker:146,1"
      Dst: "[java.lang.String].length()"
    - Src: "org.springframework.util.MethodInvoker:147,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "org.springframework.util.MethodInvoker:151,1"
      Dst: "[java.lang.String].substring(int,int)"
    - Src: "org.springframework.util.MethodInvoker:152,1"
      Dst: "[java.lang.String].substring(int)"
    - Src: "org.springframework.util.MethodInvoker:153,1"
      Dst: "[org.springframework.util.MethodInvoker].resolveClassName(java.lang.String)"
    - Src: "org.springframework.util.MethodInvoker:157,1"
      Dst: "[org.springframework.util.MethodInvoker].getTargetClass()"
    - Src: "org.springframework.util.MethodInvoker:158,1"
      Dst: "[org.springframework.util.MethodInvoker].getTargetMethod()"
    - Src: "org.springframework.util.MethodInvoker:159,1"
      Dst: "[org.springframework.util.Assert].notNull(java.lang.Object,java.lang.String)"
    - Src: "org.springframework.util.MethodInvoker:162,1"
      Dst: "[org.springframework.util.MethodInvoker].getArguments()"
    - Src: "org.springframework.util.MethodInvoker:165,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "org.springframework.util.MethodInvoker:170,1"
      Dst: "[java.lang.Class].getMethod(java.lang.String,java.lang.Class[])"
    - Src: "org.springframework.util.MethodInvoker:174,1"
      Dst: "[org.springframework.util.MethodInvoker].findMatchingMethod()"
    JavaMethodInfo:
      exceptions:
      - "java.lang.ClassNotFoundException"
      - "java.lang.NoSuchMethodException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 15
    CyclomaticComplexity: 5
  - functionName: "[org.springframework.util.MethodInvoker].resolveClassName(java.lang.String)"
    functionSourceFile: "org.springframework.util.MethodInvoker"
    linkageType: ""
    functionLinenumber: 189
    functionLinenumberEnd: 191
    functionDepth: 0
    returnType: "java.lang.Class"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.util.ClassUtils].forName(java.lang.String,java.lang.ClassLoader)"
    - "[org.springframework.util.ClassUtils].getDefaultClassLoader()"
    functionUses: 1
    ICount: 5
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.util.MethodInvoker:190,1"
      Dst: "[org.springframework.util.ClassUtils].getDefaultClassLoader()"
    - Src: "org.springframework.util.MethodInvoker:190,1"
      Dst: "[org.springframework.util.ClassUtils].forName(java.lang.String,java.lang.ClassLoader)"
    JavaMethodInfo:
      exceptions:
      - "java.lang.ClassNotFoundException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.util.MethodInvoker].findMatchingMethod()"
    functionSourceFile: "org.springframework.util.MethodInvoker"
    linkageType: ""
    functionLinenumber: 200
    functionLinenumberEnd: 223
    functionDepth: 1
    returnType: "java.lang.reflect.Method"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.util.MethodInvoker].getTargetMethod()"
    - "[org.springframework.util.MethodInvoker].getArguments()"
    - "[org.springframework.util.ReflectionUtils].getAllDeclaredMethods(java.lang.Class)"
    - "[org.springframework.util.MethodInvoker].getTargetClass()"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[java.lang.reflect.Method].getName()"
    - "[java.lang.reflect.Method].getParameterTypes()"
    - "[org.springframework.util.MethodInvoker].getTypeDifferenceWeight(java.lang.Class[],java.lang.Object[])"
    functionUses: 2
    ICount: 25
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "org.springframework.util.MethodInvoker:209"
      Branch Sides:
      - BranchSide: "org.springframework.util.MethodInvoker:222"
        BranchSideFuncs:
        - "getName()"
        - "equals(java.lang.Object)"
      - BranchSide: "org.springframework.util.MethodInvoker:221"
        BranchSideFuncs: []
    - Branch String: "org.springframework.util.MethodInvoker:210"
      Branch Sides:
      - BranchSide: "org.springframework.util.MethodInvoker:201"
        BranchSideFuncs:
        - "getParameterTypes()"
      - BranchSide: "org.springframework.util.MethodInvoker:200"
        BranchSideFuncs:
        - "getAllDeclaredMethods(java.lang.Class)"
        - "getTargetClass()"
        - "getArguments()"
        - "getTargetMethod()"
    - Branch String: "org.springframework.util.MethodInvoker:212"
      Branch Sides:
      - BranchSide: "org.springframework.util.MethodInvoker:201"
        BranchSideFuncs:
        - "getTypeDifferenceWeight(java.lang.Class[],java.lang.Object[])"
      - BranchSide: "org.springframework.util.MethodInvoker:200"
        BranchSideFuncs:
        - "getAllDeclaredMethods(java.lang.Class)"
        - "getTargetClass()"
        - "getArguments()"
        - "getTargetMethod()"
    - Branch String: "org.springframework.util.MethodInvoker:214"
      Branch Sides:
      - BranchSide: "org.springframework.util.MethodInvoker:201"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.util.MethodInvoker:200"
        BranchSideFuncs:
        - "getAllDeclaredMethods(java.lang.Class)"
        - "getTargetClass()"
        - "getArguments()"
        - "getTargetMethod()"
    Callsites:
    - Src: "org.springframework.util.MethodInvoker:201,1"
      Dst: "[org.springframework.util.MethodInvoker].getTargetMethod()"
    - Src: "org.springframework.util.MethodInvoker:202,1"
      Dst: "[org.springframework.util.MethodInvoker].getArguments()"
    - Src: "org.springframework.util.MethodInvoker:205,1"
      Dst: "[org.springframework.util.MethodInvoker].getTargetClass()"
    - Src: "org.springframework.util.MethodInvoker:205,1"
      Dst: "[org.springframework.util.ReflectionUtils].getAllDeclaredMethods(java.lang.Class)"
    - Src: "org.springframework.util.MethodInvoker:210,1"
      Dst: "[java.lang.reflect.Method].getName()"
    - Src: "org.springframework.util.MethodInvoker:210,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "org.springframework.util.MethodInvoker:211,1"
      Dst: "[java.lang.reflect.Method].getParameterTypes()"
    - Src: "org.springframework.util.MethodInvoker:213,1"
      Dst: "[org.springframework.util.MethodInvoker].getTypeDifferenceWeight(java.lang.Class[],java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 8
    CyclomaticComplexity: 5
  - functionName: "[org.springframework.util.MethodInvoker].getTypeDifferenceWeight(java.lang.Class[],java.lang.Object[])"
    functionSourceFile: "org.springframework.util.MethodInvoker"
    linkageType: ""
    functionLinenumber: 289
    functionLinenumberEnd: 317
    functionDepth: 0
    returnType: "int"
    argCount: 2
    argTypes:
    - "java.lang.Class[]"
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.util.ClassUtils].isAssignableValue(java.lang.Class,java.lang.Object)"
    - "[java.lang.Object].getClass()"
    - "[java.lang.Class].getSuperclass()"
    - "[java.lang.Object].equals(java.lang.Object)"
    - "[org.springframework.util.ClassUtils].isAssignable(java.lang.Class,java.lang.Class)"
    - "[java.lang.Class].isInterface()"
    functionUses: 4
    ICount: 36
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "org.springframework.util.MethodInvoker:291"
      Branch Sides:
      - BranchSide: "org.springframework.util.MethodInvoker:316"
        BranchSideFuncs:
        - "isAssignableValue(java.lang.Class,java.lang.Object)"
      - BranchSide: "org.springframework.util.MethodInvoker:315"
        BranchSideFuncs: []
    - Branch String: "org.springframework.util.MethodInvoker:292"
      Branch Sides:
      - BranchSide: "org.springframework.util.MethodInvoker:295"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.util.MethodInvoker:294"
        BranchSideFuncs: []
    - Branch String: "org.springframework.util.MethodInvoker:295"
      Branch Sides:
      - BranchSide: "org.springframework.util.MethodInvoker:290"
        BranchSideFuncs:
        - "getClass()"
      - BranchSide: "org.springframework.util.MethodInvoker:289"
        BranchSideFuncs: []
    - Branch String: "org.springframework.util.MethodInvoker:298"
      Branch Sides:
      - BranchSide: "org.springframework.util.MethodInvoker:311"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
      - BranchSide: "org.springframework.util.MethodInvoker:310"
        BranchSideFuncs:
        - "isInterface()"
    - Branch String: "org.springframework.util.MethodInvoker:299"
      Branch Sides:
      - BranchSide: "org.springframework.util.MethodInvoker:303"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.util.MethodInvoker:302"
        BranchSideFuncs:
        - "isAssignable(java.lang.Class,java.lang.Class)"
    - Branch String: "org.springframework.util.MethodInvoker:303"
      Branch Sides:
      - BranchSide: "org.springframework.util.MethodInvoker:308"
        BranchSideFuncs:
        - "getSuperclass()"
      - BranchSide: "org.springframework.util.MethodInvoker:307"
        BranchSideFuncs: []
    - Branch String: "org.springframework.util.MethodInvoker:311"
      Branch Sides:
      - BranchSide: "org.springframework.util.MethodInvoker:290"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.util.MethodInvoker:289"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.springframework.util.MethodInvoker:292,1"
      Dst: "[org.springframework.util.ClassUtils].isAssignableValue(java.lang.Class,java.lang.Object)"
    - Src: "org.springframework.util.MethodInvoker:297,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "org.springframework.util.MethodInvoker:297,1"
      Dst: "[java.lang.Class].getSuperclass()"
    - Src: "org.springframework.util.MethodInvoker:299,1"
      Dst: "[java.lang.Object].equals(java.lang.Object)"
    - Src: "org.springframework.util.MethodInvoker:303,1"
      Dst: "[org.springframework.util.ClassUtils].isAssignable(java.lang.Class,java.lang.Class)"
    - Src: "org.springframework.util.MethodInvoker:311,1"
      Dst: "[java.lang.Class].isInterface()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 16
    CyclomaticComplexity: 7
  - functionName: "[org.springframework.util.MethodInvoker].getPreparedMethod()"
    functionSourceFile: "org.springframework.util.MethodInvoker"
    linkageType: ""
    functionLinenumber: 233
    functionLinenumberEnd: 238
    functionDepth: 0
    returnType: "java.lang.reflect.Method"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 2
    ICount: 8
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.springframework.util.MethodInvoker:234"
      Branch Sides:
      - BranchSide: "org.springframework.util.MethodInvoker:237"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "org.springframework.util.MethodInvoker:236"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.springframework.util.MethodInvoker:235,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions:
      - "java.lang.IllegalStateException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.util.MethodInvoker].isPrepared()"
    functionSourceFile: "org.springframework.util.MethodInvoker"
    linkageType: ""
    functionLinenumber: 244
    functionLinenumberEnd: 246
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.springframework.util.MethodInvoker:245"
      Branch Sides:
      - BranchSide: "org.springframework.util.MethodInvoker:244"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[org.springframework.util.MethodInvoker].invoke()"
    functionSourceFile: "org.springframework.util.MethodInvoker"
    linkageType: ""
    functionLinenumber: 258
    functionLinenumberEnd: 266
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.util.MethodInvoker].getTargetObject()"
    - "[org.springframework.util.MethodInvoker].getPreparedMethod()"
    - "[java.lang.reflect.Method].getModifiers()"
    - "[java.lang.reflect.Modifier].isStatic(int)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[org.springframework.util.ReflectionUtils].makeAccessible(java.lang.reflect.Method)"
    - "[org.springframework.util.MethodInvoker].getArguments()"
    - "[java.lang.reflect.Method].invoke(java.lang.Object,java.lang.Object[])"
    functionUses: 2
    ICount: 14
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "org.springframework.util.MethodInvoker:261"
      Branch Sides:
      - BranchSide: "org.springframework.util.MethodInvoker:264"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "org.springframework.util.MethodInvoker:263"
        BranchSideFuncs:
        - "invoke(java.lang.Object,java.lang.Object[])"
        - "makeAccessible(java.lang.reflect.Method)"
        - "getArguments()"
    - Branch String: "org.springframework.util.MethodInvoker:261"
      Branch Sides:
      - BranchSide: "org.springframework.util.MethodInvoker:264"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "org.springframework.util.MethodInvoker:263"
        BranchSideFuncs:
        - "invoke(java.lang.Object,java.lang.Object[])"
        - "makeAccessible(java.lang.reflect.Method)"
        - "getArguments()"
    Callsites:
    - Src: "org.springframework.util.MethodInvoker:259,1"
      Dst: "[org.springframework.util.MethodInvoker].getTargetObject()"
    - Src: "org.springframework.util.MethodInvoker:260,1"
      Dst: "[org.springframework.util.MethodInvoker].getPreparedMethod()"
    - Src: "org.springframework.util.MethodInvoker:261,1"
      Dst: "[java.lang.reflect.Method].getModifiers()"
    - Src: "org.springframework.util.MethodInvoker:261,1"
      Dst: "[java.lang.reflect.Modifier].isStatic(int)"
    - Src: "org.springframework.util.MethodInvoker:262,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "org.springframework.util.MethodInvoker:264,1"
      Dst: "[org.springframework.util.ReflectionUtils].makeAccessible(java.lang.reflect.Method)"
    - Src: "org.springframework.util.MethodInvoker:265,1"
      Dst: "[org.springframework.util.MethodInvoker].getArguments()"
    - Src: "org.springframework.util.MethodInvoker:265,1"
      Dst: "[java.lang.reflect.Method].invoke(java.lang.Object,java.lang.Object[])"
    JavaMethodInfo:
      exceptions:
      - "java.lang.reflect.InvocationTargetException"
      - "java.lang.IllegalAccessException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[org.springframework.retry.support.RetrySimulator$FailingRetryCallback].doWithRetry(org.springframework.retry.RetryContext)"
    functionSourceFile: "org.springframework.retry.support.RetrySimulator$FailingRetryCallback"
    linkageType: ""
    functionLinenumber: 101
    functionLinenumberEnd: 103
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "org.springframework.retry.RetryContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.support.RetrySimulator$FailingRetryException].<init>()"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.support.RetrySimulator$FailingRetryCallback:102,1"
      Dst: "[org.springframework.retry.support.RetrySimulator$FailingRetryException].<init>()"
    JavaMethodInfo:
      exceptions:
      - "java.lang.Exception"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.support.RetrySimulator$FailingRetryException].<init>()"
    functionSourceFile: "org.springframework.retry.support.RetrySimulator$FailingRetryException"
    linkageType: ""
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Exception].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.support.RetrySimulator$FailingRetryException:108,1"
      Dst: "[java.lang.Exception].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.classify.PatternMatchingClassifier].<init>()"
    functionSourceFile: "org.springframework.classify.PatternMatchingClassifier"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.HashMap].<init>()"
    - "[org.springframework.classify.PatternMatchingClassifier].<init>(java.util.Map)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.classify.PatternMatchingClassifier:40,1"
      Dst: "[java.util.HashMap].<init>()"
    - Src: "org.springframework.classify.PatternMatchingClassifier:40,1"
      Dst: "[org.springframework.classify.PatternMatchingClassifier].<init>(java.util.Map)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.classify.PatternMatchingClassifier].<init>(java.util.Map)"
    functionSourceFile: "org.springframework.classify.PatternMatchingClassifier"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.util.Map"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[org.springframework.classify.PatternMatcher].<init>(java.util.Map)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.classify.PatternMatchingClassifier:49,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "org.springframework.classify.PatternMatchingClassifier:50,1"
      Dst: "[org.springframework.classify.PatternMatcher].<init>(java.util.Map)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.classify.PatternMatchingClassifier].setPatternMap(java.util.Map<String,T>)"
    functionSourceFile: "org.springframework.classify.PatternMatchingClassifier"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.util.Map<String,T>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.classify.PatternMatcher].<init>(java.util.Map)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.classify.PatternMatchingClassifier:58,1"
      Dst: "[org.springframework.classify.PatternMatcher].<init>(java.util.Map)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.classify.PatternMatcher].<init>(java.util.Map)"
    functionSourceFile: "org.springframework.classify.PatternMatcher"
    linkageType: ""
    functionLinenumber: 42
    functionLinenumberEnd: 56
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.util.Map"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.HashMap].<init>()"
    - "[java.util.ArrayList].<init>()"
    - "[java.lang.Object].<init>()"
    - "[java.util.ArrayList].<init>(java.util.Collection)"
    - "[com.google.gson.internal.LinkedTreeMap].keySet()"
    - "[org.springframework.core.env.ReadOnlySystemAttributesMap].keySet()"
    - "[org.springframework.util.LinkedCaseInsensitiveMap].keySet()"
    - "[com.google.gson.internal.LinkedHashTreeMap].keySet()"
    - "[org.apache.commons.logging.impl.WeakHashtable].keySet()"
    - "[org.springframework.util.LinkedMultiValueMap].keySet()"
    - "[org.springframework.util.CollectionUtils$MultiValueMapAdapter].keySet()"
    - "[org.springframework.classify.PatternMatcher$1].<init>(org.springframework.classify.PatternMatcher)"
    - "[java.util.Collections].sort(java.util.List,java.util.Comparator)"
    - "[java.util.Map].keySet()"
    functionUses: 1
    ICount: 19
    EdgeCount: 13
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.classify.PatternMatcher:43,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "org.springframework.classify.PatternMatcher:34,1"
      Dst: "[java.util.HashMap].<init>()"
    - Src: "org.springframework.classify.PatternMatcher:36,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "org.springframework.classify.PatternMatcher:46,1"
      Dst: "[java.util.Map].keySet()"
    - Src: "org.springframework.classify.PatternMatcher:46,1"
      Dst: "[java.util.ArrayList].<init>(java.util.Collection)"
    - Src: "org.springframework.classify.PatternMatcher:47,1"
      Dst: "[org.springframework.classify.PatternMatcher$1].<init>(org.springframework.classify.PatternMatcher)"
    - Src: "org.springframework.classify.PatternMatcher:47,1"
      Dst: "[java.util.Collections].sort(java.util.List,java.util.Comparator)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.classify.PatternMatcher$1].<init>(org.springframework.classify.PatternMatcher)"
    functionSourceFile: "org.springframework.classify.PatternMatcher$1"
    linkageType: ""
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.springframework.classify.PatternMatcher"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.classify.PatternMatcher$1:47,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.classify.PatternMatchingClassifier].classify(java.lang.String)"
    functionSourceFile: "org.springframework.classify.PatternMatchingClassifier"
    linkageType: ""
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionDepth: 2
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.classify.PatternMatcher].match(java.lang.String)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.classify.PatternMatchingClassifier:70,1"
      Dst: "[org.springframework.classify.PatternMatcher].match(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.classify.PatternMatcher].match(java.lang.String)"
    functionSourceFile: "org.springframework.classify.PatternMatcher"
    linkageType: ""
    functionLinenumber: 211
    functionLinenumberEnd: 226
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.util.Assert].notNull(java.lang.Object,java.lang.String)"
    - "[org.springframework.util.CollectionUtils$EnumerationIterator].hasNext()"
    - "[com.google.gson.JsonStreamParser].hasNext()"
    - "[java.nio.file.FileTreeIterator].hasNext()"
    - "[org.springframework.util.ConcurrentReferenceHashMap$EntryIterator].hasNext()"
    - "[org.springframework.util.CompositeIterator].hasNext()"
    - "[com.google.gson.internal.LinkedTreeMap$LinkedTreeMapIterator].hasNext()"
    - "[java.nio.file.Files$2].hasNext()"
    - "[java.io.BufferedReader$1].hasNext()"
    - "[com.google.gson.internal.LinkedHashTreeMap$LinkedTreeMapIterator].hasNext()"
    - "[org.springframework.util.AutoPopulatingList].iterator()"
    - "[java.util.Vector].iterator()"
    - "[java.util.AbstractSequentialList].iterator()"
    - "[java.util.ArrayList].iterator()"
    - "[java.util.concurrent.CopyOnWriteArrayList].iterator()"
    - "[java.util.AbstractList].iterator()"
    - "[com.google.gson.internal.LinkedTreeMap$EntrySet$1].next()"
    - "[com.google.gson.internal.LinkedTreeMap$KeySet$1].next()"
    - "[org.springframework.util.CollectionUtils$EnumerationIterator].next()"
    - "[com.google.gson.JsonStreamParser].next()"
    - "[java.io.BufferedReader$1].next()"
    - "[org.springframework.util.CompositeIterator].next()"
    - "[com.google.gson.internal.LinkedHashTreeMap$KeySet$1].next()"
    - "[com.google.gson.internal.LinkedHashTreeMap$EntrySet$1].next()"
    - "[org.springframework.util.ConcurrentReferenceHashMap$EntryIterator].next()"
    - "[java.nio.file.FileTreeIterator].next()"
    - "[java.nio.file.Files$2].next()"
    - "[org.springframework.classify.PatternMatcher].match(java.lang.String,java.lang.String)"
    - "[org.springframework.util.ConcurrentReferenceHashMap].get(java.lang.Object)"
    - "[org.springframework.util.LinkedCaseInsensitiveMap].get(java.lang.Object)"
    - "[java.awt.RenderingHints].get(java.lang.Object)"
    - "[com.google.gson.internal.LinkedTreeMap].get(java.lang.Object)"
    - "[com.sun.net.httpserver.Headers].get(java.lang.Object)"
    - "[org.springframework.core.env.ReadOnlySystemAttributesMap].get(java.lang.Object)"
    - "[java.util.EnumMap].get(java.lang.Object)"
    - "[java.security.Provider].get(java.lang.Object)"
    - "[org.springframework.cglib.beans.BeanMap].get(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentHashMap].get(java.lang.Object)"
    - "[javax.script.SimpleBindings].get(java.lang.Object)"
    - "[org.springframework.util.LinkedMultiValueMap].get(java.lang.Object)"
    - "[java.util.jar.Attributes].get(java.lang.Object)"
    - "[java.util.AbstractMap].get(java.lang.Object)"
    - "[java.util.WeakHashMap].get(java.lang.Object)"
    - "[java.util.Hashtable].get(java.lang.Object)"
    - "[org.springframework.util.CollectionUtils$MultiValueMapAdapter].get(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentSkipListMap$SubMap].get(java.lang.Object)"
    - "[java.util.LinkedHashMap].get(java.lang.Object)"
    - "[com.google.gson.internal.LinkedHashTreeMap].get(java.lang.Object)"
    - "[java.util.HashMap].get(java.lang.Object)"
    - "[org.apache.commons.logging.impl.WeakHashtable].get(java.lang.Object)"
    - "[java.util.IdentityHashMap].get(java.lang.Object)"
    - "[java.util.Properties].get(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentSkipListMap].get(java.lang.Object)"
    - "[java.util.TreeMap].get(java.lang.Object)"
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.util.Map].get(java.lang.Object)"
    functionUses: 1
    ICount: 27
    EdgeCount: 60
    BranchProfiles:
    - Branch String: "org.springframework.classify.PatternMatcher:215"
      Branch Sides:
      - BranchSide: "org.springframework.classify.PatternMatcher:222"
        BranchSideFuncs:
        - "match(java.lang.String,java.lang.String)"
        - "hasNext()"
        - "iterator()"
        - "next()"
      - BranchSide: "org.springframework.classify.PatternMatcher:221"
        BranchSideFuncs: []
    - Branch String: "org.springframework.classify.PatternMatcher:216"
      Branch Sides:
      - BranchSide: "org.springframework.classify.PatternMatcher:220"
        BranchSideFuncs:
        - "get(java.lang.Object)"
      - BranchSide: "org.springframework.classify.PatternMatcher:219"
        BranchSideFuncs: []
    - Branch String: "org.springframework.classify.PatternMatcher:222"
      Branch Sides:
      - BranchSide: "org.springframework.classify.PatternMatcher:225"
        BranchSideFuncs:
        - "<init>()"
        - "append(java.lang.String)"
        - "toString()"
        - "<init>(java.lang.String)"
      - BranchSide: "org.springframework.classify.PatternMatcher:224"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.springframework.classify.PatternMatcher:213,1"
      Dst: "[org.springframework.util.Assert].notNull(java.lang.Object,java.lang.String)"
    - Src: "org.springframework.classify.PatternMatcher:215,1"
      Dst: "[java.util.List].iterator()"
    - Src: "org.springframework.classify.PatternMatcher:215,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "org.springframework.classify.PatternMatcher:215,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "org.springframework.classify.PatternMatcher:216,1"
      Dst: "[org.springframework.classify.PatternMatcher].match(java.lang.String,java.lang.String)"
    - Src: "org.springframework.classify.PatternMatcher:217,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    - Src: "org.springframework.classify.PatternMatcher:223,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "org.springframework.classify.PatternMatcher:223,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "org.springframework.classify.PatternMatcher:223,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "org.springframework.classify.PatternMatcher:223,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 8
    CyclomaticComplexity: 3
  - functionName: "[org.springframework.classify.PatternMatcher].match(java.lang.String,java.lang.String)"
    functionSourceFile: "org.springframework.classify.PatternMatcher"
    linkageType: ""
    functionLinenumber: 68
    functionLinenumberEnd: 192
    functionDepth: 0
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].toCharArray()"
    - "[java.lang.String].contains(java.lang.CharSequence)"
    functionUses: 2
    ICount: 140
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "org.springframework.classify.PatternMatcher:79"
      Branch Sides:
      - BranchSide: "org.springframework.classify.PatternMatcher:94"
        BranchSideFuncs: []
    - Branch String: "org.springframework.classify.PatternMatcher:81"
      Branch Sides:
      - BranchSide: "org.springframework.classify.PatternMatcher:84"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.classify.PatternMatcher:83"
        BranchSideFuncs: []
    - Branch String: "org.springframework.classify.PatternMatcher:84"
      Branch Sides:
      - BranchSide: "org.springframework.classify.PatternMatcher:92"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.classify.PatternMatcher:91"
        BranchSideFuncs: []
    - Branch String: "org.springframework.classify.PatternMatcher:86"
      Branch Sides:
      - BranchSide: "org.springframework.classify.PatternMatcher:84"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.classify.PatternMatcher:83"
        BranchSideFuncs: []
    - Branch String: "org.springframework.classify.PatternMatcher:87"
      Branch Sides:
      - BranchSide: "org.springframework.classify.PatternMatcher:84"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.classify.PatternMatcher:83"
        BranchSideFuncs: []
    - Branch String: "org.springframework.classify.PatternMatcher:95"
      Branch Sides:
      - BranchSide: "org.springframework.classify.PatternMatcher:100"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.classify.PatternMatcher:99"
        BranchSideFuncs: []
    - Branch String: "org.springframework.classify.PatternMatcher:100"
      Branch Sides:
      - BranchSide: "org.springframework.classify.PatternMatcher:109"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.classify.PatternMatcher:108"
        BranchSideFuncs: []
    - Branch String: "org.springframework.classify.PatternMatcher:100"
      Branch Sides:
      - BranchSide: "org.springframework.classify.PatternMatcher:109"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.classify.PatternMatcher:108"
        BranchSideFuncs: []
    - Branch String: "org.springframework.classify.PatternMatcher:101"
      Branch Sides:
      - BranchSide: "org.springframework.classify.PatternMatcher:106"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.classify.PatternMatcher:105"
        BranchSideFuncs: []
    - Branch String: "org.springframework.classify.PatternMatcher:102"
      Branch Sides:
      - BranchSide: "org.springframework.classify.PatternMatcher:106"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.classify.PatternMatcher:105"
        BranchSideFuncs: []
    - Branch String: "org.springframework.classify.PatternMatcher:109"
      Branch Sides:
      - BranchSide: "org.springframework.classify.PatternMatcher:120"
        BranchSideFuncs: []
    - Branch String: "org.springframework.classify.PatternMatcher:112"
      Branch Sides:
      - BranchSide: "org.springframework.classify.PatternMatcher:117"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.classify.PatternMatcher:116"
        BranchSideFuncs: []
    - Branch String: "org.springframework.classify.PatternMatcher:113"
      Branch Sides:
      - BranchSide: "org.springframework.classify.PatternMatcher:112"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.classify.PatternMatcher:111"
        BranchSideFuncs: []
    - Branch String: "org.springframework.classify.PatternMatcher:121"
      Branch Sides:
      - BranchSide: "org.springframework.classify.PatternMatcher:130"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.classify.PatternMatcher:129"
        BranchSideFuncs: []
    - Branch String: "org.springframework.classify.PatternMatcher:121"
      Branch Sides:
      - BranchSide: "org.springframework.classify.PatternMatcher:130"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.classify.PatternMatcher:129"
        BranchSideFuncs: []
    - Branch String: "org.springframework.classify.PatternMatcher:122"
      Branch Sides:
      - BranchSide: "org.springframework.classify.PatternMatcher:null"
        BranchSideFuncs: []
    - Branch String: "org.springframework.classify.PatternMatcher:123"
      Branch Sides:
      - BranchSide: "org.springframework.classify.PatternMatcher:null"
        BranchSideFuncs: []
    - Branch String: "org.springframework.classify.PatternMatcher:130"
      Branch Sides:
      - BranchSide: "org.springframework.classify.PatternMatcher:142"
        BranchSideFuncs: []
    - Branch String: "org.springframework.classify.PatternMatcher:133"
      Branch Sides:
      - BranchSide: "org.springframework.classify.PatternMatcher:138"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.classify.PatternMatcher:137"
        BranchSideFuncs: []
    - Branch String: "org.springframework.classify.PatternMatcher:134"
      Branch Sides:
      - BranchSide: "org.springframework.classify.PatternMatcher:133"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.classify.PatternMatcher:132"
        BranchSideFuncs: []
    - Branch String: "org.springframework.classify.PatternMatcher:143"
      Branch Sides:
      - BranchSide: "org.springframework.classify.PatternMatcher:185"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.classify.PatternMatcher:184"
        BranchSideFuncs: []
    - Branch String: "org.springframework.classify.PatternMatcher:143"
      Branch Sides:
      - BranchSide: "org.springframework.classify.PatternMatcher:185"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.classify.PatternMatcher:184"
        BranchSideFuncs: []
    - Branch String: "org.springframework.classify.PatternMatcher:145"
      Branch Sides:
      - BranchSide: "org.springframework.classify.PatternMatcher:151"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.classify.PatternMatcher:150"
        BranchSideFuncs: []
    - Branch String: "org.springframework.classify.PatternMatcher:146"
      Branch Sides:
      - BranchSide: "org.springframework.classify.PatternMatcher:144"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.classify.PatternMatcher:143"
        BranchSideFuncs: []
    - Branch String: "org.springframework.classify.PatternMatcher:151"
      Branch Sides:
      - BranchSide: "org.springframework.classify.PatternMatcher:157"
        BranchSideFuncs: []
    - Branch String: "org.springframework.classify.PatternMatcher:161"
      Branch Sides:
      - BranchSide: "org.springframework.classify.PatternMatcher:null"
        BranchSideFuncs: []
    - Branch String: "org.springframework.classify.PatternMatcher:162"
      Branch Sides:
      - BranchSide: "org.springframework.classify.PatternMatcher:171"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.classify.PatternMatcher:170"
        BranchSideFuncs: []
    - Branch String: "org.springframework.classify.PatternMatcher:164"
      Branch Sides:
      - BranchSide: "org.springframework.classify.PatternMatcher:162"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.classify.PatternMatcher:161"
        BranchSideFuncs: []
    - Branch String: "org.springframework.classify.PatternMatcher:165"
      Branch Sides:
      - BranchSide: "org.springframework.classify.PatternMatcher:162"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.classify.PatternMatcher:161"
        BranchSideFuncs: []
    - Branch String: "org.springframework.classify.PatternMatcher:175"
      Branch Sides:
      - BranchSide: "org.springframework.classify.PatternMatcher:179"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.classify.PatternMatcher:178"
        BranchSideFuncs: []
    - Branch String: "org.springframework.classify.PatternMatcher:185"
      Branch Sides:
      - BranchSide: "org.springframework.classify.PatternMatcher:191"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.classify.PatternMatcher:190"
        BranchSideFuncs: []
    - Branch String: "org.springframework.classify.PatternMatcher:186"
      Branch Sides:
      - BranchSide: "org.springframework.classify.PatternMatcher:185"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.classify.PatternMatcher:184"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.springframework.classify.PatternMatcher:69,1"
      Dst: "[java.lang.String].toCharArray()"
    - Src: "org.springframework.classify.PatternMatcher:77,1"
      Dst: "[java.lang.String].contains(java.lang.CharSequence)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 66
    CyclomaticComplexity: 21
  - functionName: "[org.springframework.classify.PatternMatchingClassifier].classify(java.lang.Object)"
    functionSourceFile: "org.springframework.classify.PatternMatchingClassifier"
    linkageType: ""
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionDepth: 3
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.classify.PatternMatchingClassifier].classify(java.lang.String)"
    functionUses: 5
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.classify.PatternMatchingClassifier:30,1"
      Dst: "[org.springframework.classify.PatternMatchingClassifier].classify(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.backoff.ExponentialBackOffPolicy].withSleeper(org.springframework.retry.backoff.Sleeper)"
    functionSourceFile: "org.springframework.retry.backoff.ExponentialBackOffPolicy"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "org.springframework.retry.backoff.ExponentialBackOffPolicy"
    argCount: 1
    argTypes:
    - "org.springframework.retry.backoff.Sleeper"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.backoff.ExponentialBackOffPolicy].newInstance()"
    - "[org.springframework.retry.backoff.ExponentialBackOffPolicy].cloneValues(org.springframework.retry.backoff.ExponentialBackOffPolicy)"
    - "[org.springframework.retry.backoff.ExponentialBackOffPolicy].setSleeper(org.springframework.retry.backoff.Sleeper)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.backoff.ExponentialBackOffPolicy:90,1"
      Dst: "[org.springframework.retry.backoff.ExponentialBackOffPolicy].newInstance()"
    - Src: "org.springframework.retry.backoff.ExponentialBackOffPolicy:91,1"
      Dst: "[org.springframework.retry.backoff.ExponentialBackOffPolicy].cloneValues(org.springframework.retry.backoff.ExponentialBackOffPolicy)"
    - Src: "org.springframework.retry.backoff.ExponentialBackOffPolicy:92,1"
      Dst: "[org.springframework.retry.backoff.ExponentialBackOffPolicy].setSleeper(org.springframework.retry.backoff.Sleeper)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.backoff.ExponentialBackOffPolicy].newInstance()"
    functionSourceFile: "org.springframework.retry.backoff.ExponentialBackOffPolicy"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "org.springframework.retry.backoff.ExponentialBackOffPolicy"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.backoff.ExponentialBackOffPolicy].<init>()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.backoff.ExponentialBackOffPolicy:97,1"
      Dst: "[org.springframework.retry.backoff.ExponentialBackOffPolicy].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.backoff.ExponentialBackOffPolicy].cloneValues(org.springframework.retry.backoff.ExponentialBackOffPolicy)"
    functionSourceFile: "org.springframework.retry.backoff.ExponentialBackOffPolicy"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.springframework.retry.backoff.ExponentialBackOffPolicy"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.backoff.ExponentialBackOffPolicy].getInitialInterval()"
    - "[org.springframework.retry.backoff.ExponentialBackOffPolicy].setInitialInterval(long)"
    - "[org.springframework.retry.backoff.ExponentialBackOffPolicy].getMaxInterval()"
    - "[org.springframework.retry.backoff.ExponentialBackOffPolicy].setMaxInterval(long)"
    - "[org.springframework.retry.backoff.ExponentialBackOffPolicy].getMultiplier()"
    - "[org.springframework.retry.backoff.ExponentialBackOffPolicy].setMultiplier(double)"
    - "[org.springframework.retry.backoff.ExponentialBackOffPolicy].setSleeper(org.springframework.retry.backoff.Sleeper)"
    functionUses: 0
    ICount: 11
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.backoff.ExponentialBackOffPolicy:101,1"
      Dst: "[org.springframework.retry.backoff.ExponentialBackOffPolicy].getInitialInterval()"
    - Src: "org.springframework.retry.backoff.ExponentialBackOffPolicy:101,1"
      Dst: "[org.springframework.retry.backoff.ExponentialBackOffPolicy].setInitialInterval(long)"
    - Src: "org.springframework.retry.backoff.ExponentialBackOffPolicy:102,1"
      Dst: "[org.springframework.retry.backoff.ExponentialBackOffPolicy].getMaxInterval()"
    - Src: "org.springframework.retry.backoff.ExponentialBackOffPolicy:102,1"
      Dst: "[org.springframework.retry.backoff.ExponentialBackOffPolicy].setMaxInterval(long)"
    - Src: "org.springframework.retry.backoff.ExponentialBackOffPolicy:103,1"
      Dst: "[org.springframework.retry.backoff.ExponentialBackOffPolicy].getMultiplier()"
    - Src: "org.springframework.retry.backoff.ExponentialBackOffPolicy:103,1"
      Dst: "[org.springframework.retry.backoff.ExponentialBackOffPolicy].setMultiplier(double)"
    - Src: "org.springframework.retry.backoff.ExponentialBackOffPolicy:104,1"
      Dst: "[org.springframework.retry.backoff.ExponentialBackOffPolicy].setSleeper(org.springframework.retry.backoff.Sleeper)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.backoff.ExponentialBackOffPolicy].start(org.springframework.retry.RetryContext)"
    functionSourceFile: "org.springframework.retry.backoff.ExponentialBackOffPolicy"
    linkageType: ""
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionDepth: 1
    returnType: "org.springframework.retry.backoff.BackOffContext"
    argCount: 1
    argTypes:
    - "org.springframework.retry.RetryContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.backoff.ExponentialBackOffPolicy$ExponentialBackOffContext].<init>(long,double,long)"
    functionUses: 1
    ICount: 8
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.backoff.ExponentialBackOffPolicy:165,1"
      Dst: "[org.springframework.retry.backoff.ExponentialBackOffPolicy$ExponentialBackOffContext].<init>(long,double,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.backoff.ExponentialBackOffPolicy].backOff(org.springframework.retry.backoff.BackOffContext)"
    functionSourceFile: "org.springframework.retry.backoff.ExponentialBackOffPolicy"
    linkageType: ""
    functionLinenumber: 172
    functionLinenumberEnd: 185
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.springframework.retry.backoff.BackOffContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.backoff.ExponentialRandomBackOffPolicy$ExponentialRandomBackOffContext].getSleepAndIncrement()"
    - "[org.springframework.retry.backoff.ExponentialBackOffPolicy$ExponentialBackOffContext].getSleepAndIncrement()"
    - "[org.apache.commons.logging.impl.AvalonLogger].isDebugEnabled()"
    - "[org.apache.commons.logging.impl.LogKitLogger].isDebugEnabled()"
    - "[org.apache.commons.logging.impl.SimpleLog].isDebugEnabled()"
    - "[org.apache.commons.logging.impl.Jdk13LumberjackLogger].isDebugEnabled()"
    - "[org.apache.commons.logging.impl.Log4JLogger].isDebugEnabled()"
    - "[org.apache.commons.logging.impl.Jdk14Logger].isDebugEnabled()"
    - "[org.apache.commons.logging.impl.NoOpLog].isDebugEnabled()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(long)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[org.apache.commons.logging.impl.AvalonLogger].debug(java.lang.Object)"
    - "[org.apache.commons.logging.impl.Jdk13LumberjackLogger].debug(java.lang.Object)"
    - "[org.apache.commons.logging.impl.Jdk14Logger].debug(java.lang.Object)"
    - "[org.apache.commons.logging.impl.Log4JLogger].debug(java.lang.Object)"
    - "[org.apache.commons.logging.impl.SimpleLog].debug(java.lang.Object)"
    - "[org.apache.commons.logging.impl.LogKitLogger].debug(java.lang.Object)"
    - "[org.apache.commons.logging.impl.NoOpLog].debug(java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    - "[org.springframework.retry.support.RetrySimulator$StealingSleeper].sleep(long)"
    - "[org.springframework.retry.backoff.ThreadWaitSleeper].sleep(long)"
    - "[org.springframework.retry.backoff.ObjectWaitSleeper].sleep(long)"
    - "[org.springframework.retry.backoff.BackOffInterruptedException].<init>(java.lang.String,java.lang.Throwable)"
    - "[org.apache.commons.logging.Log].isDebugEnabled()"
    - "[org.apache.commons.logging.Log].debug(java.lang.Object)"
    - "[org.springframework.retry.backoff.Sleeper].sleep(long)"
    functionUses: 1
    ICount: 22
    EdgeCount: 24
    BranchProfiles:
    - Branch String: "org.springframework.retry.backoff.ExponentialBackOffPolicy:176"
      Branch Sides:
      - BranchSide: "org.springframework.retry.backoff.ExponentialBackOffPolicy:179"
        BranchSideFuncs:
        - "<init>()"
        - "debug(java.lang.Object)"
        - "append(java.lang.String)"
        - "toString()"
        - "append(long)"
      - BranchSide: "org.springframework.retry.backoff.ExponentialBackOffPolicy:178"
        BranchSideFuncs:
        - "sleep(long)"
        - "<init>(java.lang.String,java.lang.Throwable)"
    Callsites:
    - Src: "org.springframework.retry.backoff.ExponentialBackOffPolicy:175,1"
      Dst: "[org.springframework.retry.backoff.ExponentialBackOffPolicy$ExponentialBackOffContext].getSleepAndIncrement()"
    - Src: "org.springframework.retry.backoff.ExponentialBackOffPolicy:176,1"
      Dst: "[org.apache.commons.logging.Log].isDebugEnabled()"
    - Src: "org.springframework.retry.backoff.ExponentialBackOffPolicy:177,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "org.springframework.retry.backoff.ExponentialBackOffPolicy:177,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "org.springframework.retry.backoff.ExponentialBackOffPolicy:177,1"
      Dst: "[java.lang.StringBuilder].append(long)"
    - Src: "org.springframework.retry.backoff.ExponentialBackOffPolicy:177,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "org.springframework.retry.backoff.ExponentialBackOffPolicy:177,1"
      Dst: "[org.apache.commons.logging.Log].debug(java.lang.Object)"
    - Src: "org.springframework.retry.backoff.ExponentialBackOffPolicy:179,1"
      Dst: "[org.springframework.retry.backoff.Sleeper].sleep(long)"
    - Src: "org.springframework.retry.backoff.ExponentialBackOffPolicy:182,1"
      Dst: "[org.springframework.retry.backoff.BackOffInterruptedException].<init>(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions:
      - "org.springframework.retry.backoff.BackOffInterruptedException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.backoff.ExponentialBackOffPolicy].toString()"
    functionSourceFile: "org.springframework.retry.backoff.ExponentialBackOffPolicy"
    linkageType: ""
    functionLinenumber: 230
    functionLinenumberEnd: 232
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(long)"
    - "[java.lang.StringBuilder].append(double)"
    - "[java.lang.Object].getClass()"
    - "[org.springframework.util.ClassUtils].getShortName(java.lang.Class)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 32
    ICount: 18
    EdgeCount: 12
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.backoff.ExponentialBackOffPolicy:231,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "org.springframework.retry.backoff.ExponentialBackOffPolicy:231,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "org.springframework.retry.backoff.ExponentialBackOffPolicy:231,1"
      Dst: "[org.springframework.util.ClassUtils].getShortName(java.lang.Class)"
    - Src: "org.springframework.retry.backoff.ExponentialBackOffPolicy:231,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "org.springframework.retry.backoff.ExponentialBackOffPolicy:231,1"
      Dst: "[java.lang.StringBuilder].append(long)"
    - Src: "org.springframework.retry.backoff.ExponentialBackOffPolicy:231,1"
      Dst: "[java.lang.StringBuilder].append(double)"
    - Src: "org.springframework.retry.backoff.ExponentialBackOffPolicy:231,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor$2].doWith(java.lang.reflect.Method)"
    functionSourceFile: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor$2"
    linkageType: ""
    functionLinenumber: 303
    functionLinenumberEnd: 308
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.reflect.Method"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.core.annotation.AnnotatedElementUtils].findMergedAnnotation(java.lang.reflect.AnnotatedElement,java.lang.Class)"
    - "[java.util.concurrent.atomic.AtomicBoolean].set(boolean)"
    functionUses: 2
    ICount: 7
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor$2:304"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor$2:307"
        BranchSideFuncs:
        - "set(boolean)"
      - BranchSide: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor$2:306"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor$2:304,1"
      Dst: "[org.springframework.core.annotation.AnnotatedElementUtils].findMergedAnnotation(java.lang.reflect.AnnotatedElement,java.lang.Class)"
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor$2:305,1"
      Dst: "[java.util.concurrent.atomic.AtomicBoolean].set(boolean)"
    JavaMethodInfo:
      exceptions:
      - "java.lang.IllegalArgumentException"
      - "java.lang.IllegalAccessException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[org.springframework.retry.stats.DefaultRetryStatisticsFactory].<init>()"
    functionSourceFile: "org.springframework.retry.stats.DefaultRetryStatisticsFactory"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.stats.DefaultRetryStatisticsFactory:23,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.stats.DefaultRetryStatisticsFactory].setWindow(long)"
    functionSourceFile: "org.springframework.retry.stats.DefaultRetryStatisticsFactory"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.stats.DefaultRetryStatisticsFactory].create(java.lang.String)"
    functionSourceFile: "org.springframework.retry.stats.DefaultRetryStatisticsFactory"
    linkageType: ""
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionDepth: 3
    returnType: "org.springframework.retry.stats.MutableRetryStatistics"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.stats.ExponentialAverageRetryStatistics].<init>(java.lang.String)"
    - "[org.springframework.retry.stats.ExponentialAverageRetryStatistics].setWindow(long)"
    functionUses: 1
    ICount: 7
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.stats.DefaultRetryStatisticsFactory:37,1"
      Dst: "[org.springframework.retry.stats.ExponentialAverageRetryStatistics].<init>(java.lang.String)"
    - Src: "org.springframework.retry.stats.DefaultRetryStatisticsFactory:38,1"
      Dst: "[org.springframework.retry.stats.ExponentialAverageRetryStatistics].setWindow(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.stats.ExponentialAverageRetryStatistics].<init>(java.lang.String)"
    functionSourceFile: "org.springframework.retry.stats.ExponentialAverageRetryStatistics"
    linkageType: ""
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.stats.DefaultRetryStatistics].<init>(java.lang.String)"
    - "[org.springframework.retry.stats.ExponentialAverageRetryStatistics].init()"
    functionUses: 1
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.stats.ExponentialAverageRetryStatistics:39,1"
      Dst: "[org.springframework.retry.stats.DefaultRetryStatistics].<init>(java.lang.String)"
    - Src: "org.springframework.retry.stats.ExponentialAverageRetryStatistics:40,1"
      Dst: "[org.springframework.retry.stats.ExponentialAverageRetryStatistics].init()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.stats.DefaultRetryStatistics].<init>(java.lang.String)"
    functionSourceFile: "org.springframework.retry.stats.DefaultRetryStatistics"
    linkageType: ""
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.atomic.AtomicInteger].<init>()"
    - "[org.springframework.core.AttributeAccessorSupport].<init>()"
    functionUses: 1
    ICount: 20
    EdgeCount: 6
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.stats.DefaultRetryStatistics:47,1"
      Dst: "[org.springframework.core.AttributeAccessorSupport].<init>()"
    - Src: "org.springframework.retry.stats.DefaultRetryStatistics:34,1"
      Dst: "[java.util.concurrent.atomic.AtomicInteger].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.stats.ExponentialAverageRetryStatistics].init()"
    functionSourceFile: "org.springframework.retry.stats.ExponentialAverageRetryStatistics"
    linkageType: ""
    functionLinenumber: 43
    functionLinenumberEnd: 50
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.stats.ExponentialAverageRetryStatistics$ExponentialAverage].<init>(org.springframework.retry.stats.ExponentialAverageRetryStatistics,long)"
    functionUses: 2
    ICount: 22
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.stats.ExponentialAverageRetryStatistics:44,1"
      Dst: "[org.springframework.retry.stats.ExponentialAverageRetryStatistics$ExponentialAverage].<init>(org.springframework.retry.stats.ExponentialAverageRetryStatistics,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.stats.ExponentialAverageRetryStatistics].setWindow(long)"
    functionSourceFile: "org.springframework.retry.stats.ExponentialAverageRetryStatistics"
    linkageType: ""
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.stats.ExponentialAverageRetryStatistics].init()"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.stats.ExponentialAverageRetryStatistics:57,1"
      Dst: "[org.springframework.retry.stats.ExponentialAverageRetryStatistics].init()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.RetryException].<init>(java.lang.String)"
    functionSourceFile: "org.springframework.retry.RetryException"
    linkageType: ""
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.core.NestedRuntimeException].<init>(java.lang.String)"
    functionUses: 4
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.RetryException:29,1"
      Dst: "[org.springframework.core.NestedRuntimeException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.backoff.ExponentialRandomBackOffPolicy$ExponentialRandomBackOffContext].getSleepAndIncrement()"
    functionSourceFile: "org.springframework.retry.backoff.ExponentialRandomBackOffPolicy$ExponentialRandomBackOffContext"
    linkageType: ""
    functionLinenumber: 71
    functionLinenumberEnd: 78
    functionDepth: 2
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.backoff.ExponentialBackOffPolicy$ExponentialBackOffContext].getSleepAndIncrement()"
    - "[org.springframework.retry.backoff.ExponentialBackOffPolicy$ExponentialBackOffContext].getMultiplier()"
    - "[java.util.Random].nextFloat()"
    - "[org.springframework.retry.backoff.ExponentialBackOffPolicy$ExponentialBackOffContext].getMaxInterval()"
    functionUses: 1
    ICount: 18
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "org.springframework.retry.backoff.ExponentialRandomBackOffPolicy$ExponentialRandomBackOffContext:74"
      Branch Sides:
      - BranchSide: "org.springframework.retry.backoff.ExponentialRandomBackOffPolicy$ExponentialRandomBackOffContext:77"
        BranchSideFuncs:
        - "getMaxInterval()"
      - BranchSide: "org.springframework.retry.backoff.ExponentialRandomBackOffPolicy$ExponentialRandomBackOffContext:76"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.springframework.retry.backoff.ExponentialRandomBackOffPolicy$ExponentialRandomBackOffContext:72,1"
      Dst: "[org.springframework.retry.backoff.ExponentialBackOffPolicy$ExponentialBackOffContext].getSleepAndIncrement()"
    - Src: "org.springframework.retry.backoff.ExponentialRandomBackOffPolicy$ExponentialRandomBackOffContext:73,1"
      Dst: "[java.util.Random].nextFloat()"
    - Src: "org.springframework.retry.backoff.ExponentialRandomBackOffPolicy$ExponentialRandomBackOffContext:73,1"
      Dst: "[org.springframework.retry.backoff.ExponentialBackOffPolicy$ExponentialBackOffContext].getMultiplier()"
    - Src: "org.springframework.retry.backoff.ExponentialRandomBackOffPolicy$ExponentialRandomBackOffContext:74,1"
      Dst: "[org.springframework.retry.backoff.ExponentialBackOffPolicy$ExponentialBackOffContext].getMaxInterval()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[org.springframework.retry.policy.ExpressionRetryPolicy].<init>(org.springframework.expression.Expression)"
    functionSourceFile: "org.springframework.retry.policy.ExpressionRetryPolicy"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.springframework.expression.Expression"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.policy.SimpleRetryPolicy].<init>()"
    - "[org.springframework.expression.spel.support.StandardEvaluationContext].<init>()"
    - "[org.springframework.util.Assert].notNull(java.lang.Object,java.lang.String)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.policy.ExpressionRetryPolicy:58,1"
      Dst: "[org.springframework.retry.policy.SimpleRetryPolicy].<init>()"
    - Src: "org.springframework.retry.policy.ExpressionRetryPolicy:52,1"
      Dst: "[org.springframework.expression.spel.support.StandardEvaluationContext].<init>()"
    - Src: "org.springframework.retry.policy.ExpressionRetryPolicy:59,1"
      Dst: "[org.springframework.util.Assert].notNull(java.lang.Object,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.ExpressionRetryPolicy].<init>(int,java.util.Map,boolean,org.springframework.expression.Expression)"
    functionSourceFile: "org.springframework.retry.policy.ExpressionRetryPolicy"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 4
    argTypes:
    - "int"
    - "java.util.Map"
    - "boolean"
    - "org.springframework.expression.Expression"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.policy.SimpleRetryPolicy].<init>(int,java.util.Map,boolean)"
    - "[org.springframework.expression.spel.support.StandardEvaluationContext].<init>()"
    - "[org.springframework.util.Assert].notNull(java.lang.Object,java.lang.String)"
    functionUses: 0
    ICount: 12
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.policy.ExpressionRetryPolicy:81,1"
      Dst: "[org.springframework.retry.policy.SimpleRetryPolicy].<init>(int,java.util.Map,boolean)"
    - Src: "org.springframework.retry.policy.ExpressionRetryPolicy:52,1"
      Dst: "[org.springframework.expression.spel.support.StandardEvaluationContext].<init>()"
    - Src: "org.springframework.retry.policy.ExpressionRetryPolicy:82,1"
      Dst: "[org.springframework.util.Assert].notNull(java.lang.Object,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.ExpressionRetryPolicy].canRetry(org.springframework.retry.RetryContext)"
    functionSourceFile: "org.springframework.retry.policy.ExpressionRetryPolicy"
    linkageType: ""
    functionLinenumber: 112
    functionLinenumberEnd: 120
    functionDepth: 4
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "org.springframework.retry.RetryContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.context.RetryContextSupport].getLastThrowable()"
    - "[org.springframework.retry.policy.SimpleRetryPolicy].canRetry(org.springframework.retry.RetryContext)"
    - "[java.lang.Boolean].booleanValue()"
    - "[org.springframework.expression.spel.standard.SpelExpression].getValue(org.springframework.expression.EvaluationContext,java.lang.Object,java.lang.Class)"
    - "[org.springframework.expression.common.CompositeStringExpression].getValue(org.springframework.expression.EvaluationContext,java.lang.Object,java.lang.Class)"
    - "[org.springframework.expression.common.LiteralExpression].getValue(org.springframework.expression.EvaluationContext,java.lang.Object,java.lang.Class)"
    - "[org.springframework.retry.RetryContext].getLastThrowable()"
    - "[org.springframework.expression.Expression].getValue(org.springframework.expression.EvaluationContext,java.lang.Object,java.lang.Class)"
    functionUses: 8
    ICount: 18
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "org.springframework.retry.policy.ExpressionRetryPolicy:114"
      Branch Sides:
      - BranchSide: "org.springframework.retry.policy.ExpressionRetryPolicy:118"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.policy.ExpressionRetryPolicy:117"
        BranchSideFuncs:
        - "canRetry(org.springframework.retry.RetryContext)"
    - Branch String: "org.springframework.retry.policy.ExpressionRetryPolicy:118"
      Branch Sides:
      - BranchSide: "org.springframework.retry.policy.ExpressionRetryPolicy:118"
        BranchSideFuncs:
        - "booleanValue()"
        - "getValue(org.springframework.expression.EvaluationContext,java.lang.Object,java.lang.Class)"
      - BranchSide: "org.springframework.retry.policy.ExpressionRetryPolicy:117"
        BranchSideFuncs:
        - "canRetry(org.springframework.retry.RetryContext)"
    - Branch String: "org.springframework.retry.policy.ExpressionRetryPolicy:119"
      Branch Sides:
      - BranchSide: "org.springframework.retry.policy.ExpressionRetryPolicy:117"
        BranchSideFuncs:
        - "canRetry(org.springframework.retry.RetryContext)"
    Callsites:
    - Src: "org.springframework.retry.policy.ExpressionRetryPolicy:113,1"
      Dst: "[org.springframework.retry.RetryContext].getLastThrowable()"
    - Src: "org.springframework.retry.policy.ExpressionRetryPolicy:115,1"
      Dst: "[org.springframework.retry.policy.SimpleRetryPolicy].canRetry(org.springframework.retry.RetryContext)"
    - Src: "org.springframework.retry.policy.ExpressionRetryPolicy:119,1"
      Dst: "[org.springframework.expression.Expression].getValue(org.springframework.expression.EvaluationContext,java.lang.Object,java.lang.Class)"
    - Src: "org.springframework.retry.policy.ExpressionRetryPolicy:119,1"
      Dst: "[java.lang.Boolean].booleanValue()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor$ItemRecovererCallback].<init>(java.lang.Object[],org.springframework.retry.interceptor.MethodInvocationRecoverer)"
    functionSourceFile: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor$ItemRecovererCallback"
    linkageType: ""
    functionLinenumber: 236
    functionLinenumberEnd: 241
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Object[]"
    - "org.springframework.retry.interceptor.MethodInvocationRecoverer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.util.Arrays].asList(java.lang.Object[])"
    - "[java.util.AbstractCollection].toArray()"
    - "[sun.awt.util.IdentityArrayList].toArray()"
    - "[org.springframework.util.AutoPopulatingList].toArray()"
    - "[java.util.LinkedList].toArray()"
    - "[java.util.ArrayList].toArray()"
    - "[java.util.concurrent.CopyOnWriteArrayList].toArray()"
    - "[java.util.Vector].toArray()"
    - "[java.util.List].toArray()"
    functionUses: 1
    ICount: 9
    EdgeCount: 9
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor$ItemRecovererCallback:237,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor$ItemRecovererCallback:238,1"
      Dst: "[java.util.Arrays].asList(java.lang.Object[])"
    - Src: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor$ItemRecovererCallback:238,1"
      Dst: "[java.util.List].toArray()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor$ItemRecovererCallback].recover(org.springframework.retry.RetryContext)"
    functionSourceFile: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor$ItemRecovererCallback"
    linkageType: ""
    functionLinenumber: 243
    functionLinenumberEnd: 245
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "org.springframework.retry.RetryContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.context.RetryContextSupport].getLastThrowable()"
    - "[org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler].recover(java.lang.Object[],java.lang.Throwable)"
    - "[org.springframework.retry.RetryContext].getLastThrowable()"
    - "[org.springframework.retry.interceptor.MethodInvocationRecoverer].recover(java.lang.Object[],java.lang.Throwable)"
    functionUses: 1
    ICount: 7
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor$ItemRecovererCallback:244,1"
      Dst: "[org.springframework.retry.RetryContext].getLastThrowable()"
    - Src: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor$ItemRecovererCallback:244,1"
      Dst: "[org.springframework.retry.interceptor.MethodInvocationRecoverer].recover(java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor$ItemRecovererCallback].<init>(java.lang.Object[],org.springframework.retry.interceptor.MethodInvocationRecoverer,org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor$1)"
    functionSourceFile: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor$ItemRecovererCallback"
    linkageType: ""
    functionLinenumber: 227
    functionLinenumberEnd: 229
    functionDepth: 1
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.Object[]"
    - "org.springframework.retry.interceptor.MethodInvocationRecoverer"
    - "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor$1"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor$ItemRecovererCallback].<init>(java.lang.Object[],org.springframework.retry.interceptor.MethodInvocationRecoverer)"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor$ItemRecovererCallback:228,1"
      Dst: "[org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor$ItemRecovererCallback].<init>(java.lang.Object[],org.springframework.retry.interceptor.MethodInvocationRecoverer)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.support.RetrySimulator$StealingSleeper].sleep(long)"
    functionSourceFile: "org.springframework.retry.support.RetrySimulator$StealingSleeper"
    linkageType: ""
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.util.AutoPopulatingList].add(java.lang.Object)"
    - "[java.util.AbstractList:java.util.ArrayList:java.util.LinkedList:java.util.Vector:java.util.concurrent.CopyOnWriteArrayList:javax.management.AttributeList:sun.awt.util.IdentityArrayList].add(java.lang.Object)"
    - "[java.lang.Long].valueOf(long)"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 3
    ICount: 6
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.support.RetrySimulator$StealingSleeper:118,1"
      Dst: "[java.lang.Long].valueOf(long)"
    - Src: "org.springframework.retry.support.RetrySimulator$StealingSleeper:118,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions:
      - "java.lang.InterruptedException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.annotation.RetryConfiguration].<init>()"
    functionSourceFile: "org.springframework.retry.annotation.RetryConfiguration"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.aop.support.AbstractPointcutAdvisor].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.annotation.RetryConfiguration:71,1"
      Dst: "[org.springframework.aop.support.AbstractPointcutAdvisor].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.annotation.RetryConfiguration].afterPropertiesSet()"
    functionSourceFile: "org.springframework.retry.annotation.RetryConfiguration"
    linkageType: ""
    functionLinenumber: 91
    functionLinenumberEnd: 105
    functionDepth: 4
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.annotation.RetryConfiguration].findBean(java.lang.Class)"
    - "[org.springframework.retry.annotation.RetryConfiguration].findBeans(java.lang.Class)"
    - "[java.util.LinkedHashSet].<init>(int)"
    - "[java.util.HashSet:org.springframework.aop.aspectj.AspectJExpressionPointcut:org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator:org.springframework.aop.framework.autoproxy.AbstractBeanFactoryAwareAdvisingPostProcessor:org.springframework.aop.interceptor.AsyncExecutionAspectSupport:org.springframework.beans.factory.annotation.RequiredAnnotationBeanPostProcessor:org.springframework.beans.factory.config.AbstractFactoryBean:org.springframework.beans.factory.config.MethodInvokingBean:org.springframework.beans.factory.config.PlaceholderConfigurerSupport:org.springframework.beans.factory.support.GenericTypeAwareAutowireCandidateResolver:org.springframework.cache.interceptor.CacheAspectSupport:org.springframework.context.annotation.MBeanExportConfiguration:org.springframework.context.weaving.LoadTimeWeaverAwareProcessor:org.springframework.jndi.JndiObjectFactoryBean:org.springframework.retry.annotation.RetryConfiguration:org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor].add(java.lang.Object)"
    - "[org.springframework.retry.annotation.RetryConfiguration].buildPointcut(java.util.Set)"
    - "[org.springframework.retry.annotation.RetryConfiguration].buildAdvice()"
    - "[org.springframework.aop.target.AbstractPoolingTargetSource].setBeanFactory(org.springframework.beans.factory.BeanFactory)"
    - "[org.springframework.aop.framework.ProxyFactoryBean].setBeanFactory(org.springframework.beans.factory.BeanFactory)"
    - "[org.springframework.aop.framework.autoproxy.AbstractAdvisorAutoProxyCreator].setBeanFactory(org.springframework.beans.factory.BeanFactory)"
    - "[org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor].setBeanFactory(org.springframework.beans.factory.BeanFactory)"
    - "[org.springframework.context.support.DefaultLifecycleProcessor].setBeanFactory(org.springframework.beans.factory.BeanFactory)"
    - "[org.springframework.context.event.AbstractApplicationEventMulticaster].setBeanFactory(org.springframework.beans.factory.BeanFactory)"
    - "[org.springframework.aop.framework.autoproxy.target.AbstractBeanFactoryBasedTargetSourceCreator].setBeanFactory(org.springframework.beans.factory.BeanFactory)"
    - "[org.springframework.scripting.groovy.GroovyScriptFactory].setBeanFactory(org.springframework.beans.factory.BeanFactory)"
    - "[org.springframework.beans.factory.config.ServiceLocatorFactoryBean].setBeanFactory(org.springframework.beans.factory.BeanFactory)"
    - "[org.springframework.aop.target.AbstractBeanFactoryBasedTargetSource].setBeanFactory(org.springframework.beans.factory.BeanFactory)"
    - "[org.springframework.scripting.support.ScriptFactoryPostProcessor].setBeanFactory(org.springframework.beans.factory.BeanFactory)"
    - "[org.springframework.jmx.export.MBeanExporter].setBeanFactory(org.springframework.beans.factory.BeanFactory)"
    - "[org.springframework.beans.factory.wiring.BeanConfigurerSupport].setBeanFactory(org.springframework.beans.factory.BeanFactory)"
    - "[org.springframework.retry.policy.ExpressionRetryPolicy].setBeanFactory(org.springframework.beans.factory.BeanFactory)"
    - "[org.springframework.cache.interceptor.CacheProxyFactoryBean].setBeanFactory(org.springframework.beans.factory.BeanFactory)"
    - "[org.springframework.aop.config.SimpleBeanFactoryAwareAspectInstanceFactory].setBeanFactory(org.springframework.beans.factory.BeanFactory)"
    - "[org.springframework.jmx.export.annotation.AnnotationMBeanExporter].setBeanFactory(org.springframework.beans.factory.BeanFactory)"
    - "[org.springframework.scheduling.annotation.AsyncAnnotationAdvisor].setBeanFactory(org.springframework.beans.factory.BeanFactory)"
    - "[org.springframework.aop.config.MethodLocatingFactoryBean].setBeanFactory(org.springframework.beans.factory.BeanFactory)"
    - "[org.springframework.aop.target.AbstractPrototypeBasedTargetSource].setBeanFactory(org.springframework.beans.factory.BeanFactory)"
    - "[org.springframework.jmx.export.annotation.AnnotationJmxAttributeSource].setBeanFactory(org.springframework.beans.factory.BeanFactory)"
    - "[org.springframework.aop.aspectj.AspectJExpressionPointcutAdvisor].setBeanFactory(org.springframework.beans.factory.BeanFactory)"
    - "[org.springframework.aop.scope.ScopedProxyFactoryBean].setBeanFactory(org.springframework.beans.factory.BeanFactory)"
    - "[org.springframework.context.annotation.CommonAnnotationBeanPostProcessor].setBeanFactory(org.springframework.beans.factory.BeanFactory)"
    - "[org.springframework.scheduling.annotation.AsyncAnnotationBeanPostProcessor].setBeanFactory(org.springframework.beans.factory.BeanFactory)"
    - "[org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor].setBeanFactory(org.springframework.beans.factory.BeanFactory)"
    - "[org.springframework.aop.support.AbstractBeanFactoryPointcutAdvisor].setBeanFactory(org.springframework.beans.factory.BeanFactory)"
    - "[org.springframework.beans.factory.config.PropertyPathFactoryBean].setBeanFactory(org.springframework.beans.factory.BeanFactory)"
    - "[java.util.Set].add(java.lang.Object)"
    - "[org.springframework.beans.factory.BeanFactoryAware].setBeanFactory(org.springframework.beans.factory.BeanFactory)"
    functionUses: 2
    ICount: 30
    EdgeCount: 37
    BranchProfiles:
    - Branch String: "org.springframework.retry.annotation.RetryConfiguration:101"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.RetryConfiguration:104"
        BranchSideFuncs:
        - "setBeanFactory(org.springframework.beans.factory.BeanFactory)"
      - BranchSide: "org.springframework.retry.annotation.RetryConfiguration:103"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.springframework.retry.annotation.RetryConfiguration:92,1"
      Dst: "[org.springframework.retry.annotation.RetryConfiguration].findBean(java.lang.Class)"
    - Src: "org.springframework.retry.annotation.RetryConfiguration:95,1"
      Dst: "[org.springframework.retry.annotation.RetryConfiguration].findBeans(java.lang.Class)"
    - Src: "org.springframework.retry.annotation.RetryConfiguration:97,1"
      Dst: "[java.util.LinkedHashSet].<init>(int)"
    - Src: "org.springframework.retry.annotation.RetryConfiguration:98,1"
      Dst: "[java.util.Set].add(java.lang.Object)"
    - Src: "org.springframework.retry.annotation.RetryConfiguration:99,1"
      Dst: "[org.springframework.retry.annotation.RetryConfiguration].buildPointcut(java.util.Set)"
    - Src: "org.springframework.retry.annotation.RetryConfiguration:100,1"
      Dst: "[org.springframework.retry.annotation.RetryConfiguration].buildAdvice()"
    - Src: "org.springframework.retry.annotation.RetryConfiguration:102,1"
      Dst: "[org.springframework.beans.factory.BeanFactoryAware].setBeanFactory(org.springframework.beans.factory.BeanFactory)"
    JavaMethodInfo:
      exceptions:
      - "java.lang.Exception"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[org.springframework.retry.annotation.RetryConfiguration].buildAdvice()"
    functionSourceFile: "org.springframework.retry.annotation.RetryConfiguration"
    linkageType: ""
    functionLinenumber: 160
    functionLinenumberEnd: 178
    functionDepth: 3
    returnType: "org.aopalliance.aop.Advice"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor].<init>()"
    - "[org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor].setRetryContextCache(org.springframework.retry.policy.RetryContextCache)"
    - "[org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor].setListeners(java.util.Collection)"
    - "[org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor].setKeyGenerator(org.springframework.retry.interceptor.MethodArgumentsKeyGenerator)"
    - "[org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor].setNewItemIdentifier(org.springframework.retry.interceptor.NewMethodArgumentsIdentifier)"
    - "[org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor].setSleeper(org.springframework.retry.backoff.Sleeper)"
    functionUses: 1
    ICount: 24
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "org.springframework.retry.annotation.RetryConfiguration:162"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.RetryConfiguration:165"
        BranchSideFuncs:
        - "setRetryContextCache(org.springframework.retry.policy.RetryContextCache)"
      - BranchSide: "org.springframework.retry.annotation.RetryConfiguration:164"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.annotation.RetryConfiguration:165"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.RetryConfiguration:168"
        BranchSideFuncs:
        - "setListeners(java.util.Collection)"
      - BranchSide: "org.springframework.retry.annotation.RetryConfiguration:167"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.annotation.RetryConfiguration:168"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.RetryConfiguration:171"
        BranchSideFuncs:
        - "setKeyGenerator(org.springframework.retry.interceptor.MethodArgumentsKeyGenerator)"
      - BranchSide: "org.springframework.retry.annotation.RetryConfiguration:170"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.annotation.RetryConfiguration:171"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.RetryConfiguration:174"
        BranchSideFuncs:
        - "setNewItemIdentifier(org.springframework.retry.interceptor.NewMethodArgumentsIdentifier)"
      - BranchSide: "org.springframework.retry.annotation.RetryConfiguration:173"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.annotation.RetryConfiguration:174"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.RetryConfiguration:177"
        BranchSideFuncs:
        - "setSleeper(org.springframework.retry.backoff.Sleeper)"
      - BranchSide: "org.springframework.retry.annotation.RetryConfiguration:176"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.springframework.retry.annotation.RetryConfiguration:161,1"
      Dst: "[org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor].<init>()"
    - Src: "org.springframework.retry.annotation.RetryConfiguration:163,1"
      Dst: "[org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor].setRetryContextCache(org.springframework.retry.policy.RetryContextCache)"
    - Src: "org.springframework.retry.annotation.RetryConfiguration:166,1"
      Dst: "[org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor].setListeners(java.util.Collection)"
    - Src: "org.springframework.retry.annotation.RetryConfiguration:169,1"
      Dst: "[org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor].setKeyGenerator(org.springframework.retry.interceptor.MethodArgumentsKeyGenerator)"
    - Src: "org.springframework.retry.annotation.RetryConfiguration:172,1"
      Dst: "[org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor].setNewItemIdentifier(org.springframework.retry.interceptor.NewMethodArgumentsIdentifier)"
    - Src: "org.springframework.retry.annotation.RetryConfiguration:175,1"
      Dst: "[org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor].setSleeper(org.springframework.retry.backoff.Sleeper)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 11
    CyclomaticComplexity: 6
  - functionName: "[org.springframework.retry.annotation.RetryConfiguration].findBeans(java.lang.Class<?\
      \ extends T>)"
    functionSourceFile: "org.springframework.retry.annotation.RetryConfiguration"
    linkageType: ""
    functionLinenumber: 106
    functionLinenumberEnd: 116
    functionDepth: 0
    returnType: "java.util.List<T>"
    argCount: 1
    argTypes:
    - "java.lang.Class<? extends T>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.beans.factory.support.StaticListableBeanFactory].getBeanNamesForType(java.lang.Class)"
    - "[org.springframework.beans.factory.support.DefaultListableBeanFactory].getBeanNamesForType(java.lang.Class)"
    - "[org.springframework.context.support.AbstractApplicationContext].getBeanNamesForType(java.lang.Class)"
    - "[java.util.ArrayList].<init>(java.util.Collection)"
    - "[org.springframework.context.support.AbstractApplicationContext].getBeansOfType(java.lang.Class,boolean,boolean)"
    - "[org.springframework.beans.factory.support.DefaultListableBeanFactory].getBeansOfType(java.lang.Class,boolean,boolean)"
    - "[org.springframework.beans.factory.support.StaticListableBeanFactory].getBeansOfType(java.lang.Class,boolean,boolean)"
    - "[org.springframework.cglib.beans.BeanMap].values()"
    - "[org.springframework.util.LinkedMultiValueMap].values()"
    - "[org.springframework.core.env.ReadOnlySystemAttributesMap].values()"
    - "[org.apache.commons.logging.impl.WeakHashtable].values()"
    - "[org.springframework.util.CollectionUtils$MultiValueMapAdapter].values()"
    - "[org.springframework.util.LinkedCaseInsensitiveMap].values()"
    - "[com.sun.net.httpserver.Headers:java.awt.RenderingHints:java.security.Provider:java.util.AbstractMap:java.util.EnumMap:java.util.HashMap:java.util.Hashtable:java.util.IdentityHashMap:java.util.LinkedHashMap:java.util.Properties:java.util.TreeMap:java.util.WeakHashMap:java.util.concurrent.ConcurrentHashMap:java.util.concurrent.ConcurrentSkipListMap:java.util.concurrent.ConcurrentSkipListMap$SubMap:java.util.jar.Attributes:javax.script.SimpleBindings].values()"
    - "[org.springframework.core.OrderComparator].sort(java.util.List)"
    - "[org.springframework.beans.factory.ListableBeanFactory].getBeanNamesForType(java.lang.Class)"
    - "[org.springframework.beans.factory.ListableBeanFactory].getBeansOfType(java.lang.Class,boolean,boolean)"
    - "[java.util.Map].values()"
    functionUses: 1
    ICount: 17
    EdgeCount: 15
    BranchProfiles:
    - Branch String: "org.springframework.retry.annotation.RetryConfiguration:107"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.RetryConfiguration:115"
        BranchSideFuncs:
        - "getBeanNamesForType(java.lang.Class)"
      - BranchSide: "org.springframework.retry.annotation.RetryConfiguration:114"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.annotation.RetryConfiguration:109"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.RetryConfiguration:115"
        BranchSideFuncs:
        - "values()"
        - "getBeansOfType(java.lang.Class,boolean,boolean)"
        - "<init>(java.util.Collection)"
        - "sort(java.util.List)"
      - BranchSide: "org.springframework.retry.annotation.RetryConfiguration:114"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.springframework.retry.annotation.RetryConfiguration:109,1"
      Dst: "[org.springframework.beans.factory.ListableBeanFactory].getBeanNamesForType(java.lang.Class)"
    - Src: "org.springframework.retry.annotation.RetryConfiguration:110,1"
      Dst: "[org.springframework.beans.factory.ListableBeanFactory].getBeansOfType(java.lang.Class,boolean,boolean)"
    - Src: "org.springframework.retry.annotation.RetryConfiguration:110,1"
      Dst: "[java.util.Map].values()"
    - Src: "org.springframework.retry.annotation.RetryConfiguration:110,1"
      Dst: "[java.util.ArrayList].<init>(java.util.Collection)"
    - Src: "org.springframework.retry.annotation.RetryConfiguration:111,1"
      Dst: "[org.springframework.core.OrderComparator].sort(java.util.List)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[org.springframework.retry.annotation.RetryConfiguration].findBean(java.lang.Class<?\
      \ extends T>)"
    functionSourceFile: "org.springframework.retry.annotation.RetryConfiguration"
    linkageType: ""
    functionLinenumber: 118
    functionLinenumberEnd: 126
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "java.lang.Class<? extends T>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.beans.factory.support.DefaultListableBeanFactory].getBeanNamesForType(java.lang.Class,boolean,boolean)"
    - "[org.springframework.beans.factory.support.StaticListableBeanFactory].getBeanNamesForType(java.lang.Class,boolean,boolean)"
    - "[org.springframework.context.support.AbstractApplicationContext].getBeanNamesForType(java.lang.Class,boolean,boolean)"
    - "[org.springframework.beans.factory.support.DefaultListableBeanFactory].getBean(java.lang.Class)"
    - "[org.springframework.beans.factory.support.StaticListableBeanFactory].getBean(java.lang.Class)"
    - "[org.springframework.context.support.AbstractApplicationContext].getBean(java.lang.Class)"
    - "[org.springframework.beans.factory.ListableBeanFactory].getBeanNamesForType(java.lang.Class,boolean,boolean)"
    - "[org.springframework.beans.factory.BeanFactory].getBean(java.lang.Class)"
    functionUses: 4
    ICount: 13
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "org.springframework.retry.annotation.RetryConfiguration:119"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.RetryConfiguration:125"
        BranchSideFuncs:
        - "getBeanNamesForType(java.lang.Class,boolean,boolean)"
      - BranchSide: "org.springframework.retry.annotation.RetryConfiguration:124"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.annotation.RetryConfiguration:121"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.RetryConfiguration:125"
        BranchSideFuncs:
        - "getBean(java.lang.Class)"
      - BranchSide: "org.springframework.retry.annotation.RetryConfiguration:124"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.springframework.retry.annotation.RetryConfiguration:121,1"
      Dst: "[org.springframework.beans.factory.ListableBeanFactory].getBeanNamesForType(java.lang.Class,boolean,boolean)"
    - Src: "org.springframework.retry.annotation.RetryConfiguration:122,1"
      Dst: "[org.springframework.beans.factory.BeanFactory].getBean(java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[org.springframework.retry.annotation.RetryConfiguration].setBeanFactory(org.springframework.beans.factory.BeanFactory)"
    functionSourceFile: "org.springframework.retry.annotation.RetryConfiguration"
    linkageType: ""
    functionLinenumber: 132
    functionLinenumberEnd: 135
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.springframework.beans.factory.BeanFactory"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 6
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.annotation.RetryConfiguration].getClassFilter()"
    functionSourceFile: "org.springframework.retry.annotation.RetryConfiguration"
    linkageType: ""
    functionLinenumber: 137
    functionLinenumberEnd: 139
    functionDepth: 0
    returnType: "org.springframework.aop.ClassFilter"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.aop.aspectj.AspectJExpressionPointcut].getClassFilter()"
    - "[org.springframework.aop.support.StaticMethodMatcherPointcut].getClassFilter()"
    - "[org.springframework.aop.support.annotation.AnnotationMatchingPointcut].getClassFilter()"
    - "[org.springframework.aop.support.ControlFlowPointcut].getClassFilter()"
    - "[org.springframework.aop.support.DynamicMethodMatcherPointcut].getClassFilter()"
    - "[org.springframework.aop.TruePointcut].getClassFilter()"
    - "[org.springframework.aop.support.ComposablePointcut].getClassFilter()"
    - "[org.springframework.aop.Pointcut].getClassFilter()"
    functionUses: 3
    ICount: 4
    EdgeCount: 7
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.annotation.RetryConfiguration:138,1"
      Dst: "[org.springframework.aop.Pointcut].getClassFilter()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.annotation.RetryConfiguration].getInterfaces()"
    functionSourceFile: "org.springframework.retry.annotation.RetryConfiguration"
    linkageType: ""
    functionLinenumber: 142
    functionLinenumberEnd: 144
    functionDepth: 0
    returnType: "java.lang.Class[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.annotation.RetryConfiguration].validateInterfaces()"
    functionSourceFile: "org.springframework.retry.annotation.RetryConfiguration"
    linkageType: ""
    functionLinenumber: 147
    functionLinenumberEnd: 149
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.lang.IllegalArgumentException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.annotation.RetryConfiguration].getAdvice()"
    functionSourceFile: "org.springframework.retry.annotation.RetryConfiguration"
    linkageType: ""
    functionLinenumber: 151
    functionLinenumberEnd: 153
    functionDepth: 0
    returnType: "org.aopalliance.aop.Advice"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 17
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.annotation.RetryConfiguration].getPointcut()"
    functionSourceFile: "org.springframework.retry.annotation.RetryConfiguration"
    linkageType: ""
    functionLinenumber: 156
    functionLinenumberEnd: 158
    functionDepth: 0
    returnType: "org.springframework.aop.Pointcut"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 8
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.annotation.RetryConfiguration].buildPointcut(java.util.Set<Class<?\
      \ extends Annotation>>)"
    functionSourceFile: "org.springframework.retry.annotation.RetryConfiguration"
    linkageType: ""
    functionLinenumber: 185
    functionLinenumberEnd: 197
    functionDepth: 3
    returnType: "org.springframework.aop.Pointcut"
    argCount: 1
    argTypes:
    - "java.util.Set<Class<? extends Annotation>>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.util.CollectionUtils$EnumerationIterator].hasNext()"
    - "[com.google.gson.JsonStreamParser].hasNext()"
    - "[java.nio.file.FileTreeIterator].hasNext()"
    - "[org.springframework.util.ConcurrentReferenceHashMap$EntryIterator].hasNext()"
    - "[org.springframework.util.CompositeIterator].hasNext()"
    - "[com.google.gson.internal.LinkedTreeMap$LinkedTreeMapIterator].hasNext()"
    - "[java.nio.file.Files$2].hasNext()"
    - "[java.io.BufferedReader$1].hasNext()"
    - "[com.google.gson.internal.LinkedHashTreeMap$LinkedTreeMapIterator].hasNext()"
    - "[com.google.gson.internal.LinkedHashTreeMap$KeySet].iterator()"
    - "[java.util.TreeMap$EntrySet].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$KeySetView].iterator()"
    - "[com.google.gson.internal.LinkedTreeMap$EntrySet].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$EntrySetView].iterator()"
    - "[java.util.HashSet].iterator()"
    - "[com.google.gson.internal.LinkedTreeMap$KeySet].iterator()"
    - "[org.springframework.util.ConcurrentReferenceHashMap$EntrySet].iterator()"
    - "[java.util.TreeMap$KeySet].iterator()"
    - "[java.util.concurrent.ConcurrentSkipListMap$EntrySet].iterator()"
    - "[org.springframework.cglib.beans.FixedKeySet].iterator()"
    - "[java.util.TreeSet].iterator()"
    - "[com.google.gson.internal.LinkedHashTreeMap$EntrySet].iterator()"
    - "[java.util.concurrent.CopyOnWriteArraySet].iterator()"
    - "[java.util.concurrent.ConcurrentSkipListMap$KeySet].iterator()"
    - "[com.google.gson.internal.LinkedTreeMap$EntrySet$1].next()"
    - "[com.google.gson.internal.LinkedTreeMap$KeySet$1].next()"
    - "[org.springframework.util.CollectionUtils$EnumerationIterator].next()"
    - "[com.google.gson.JsonStreamParser].next()"
    - "[java.io.BufferedReader$1].next()"
    - "[org.springframework.util.CompositeIterator].next()"
    - "[com.google.gson.internal.LinkedHashTreeMap$KeySet$1].next()"
    - "[com.google.gson.internal.LinkedHashTreeMap$EntrySet$1].next()"
    - "[org.springframework.util.ConcurrentReferenceHashMap$EntryIterator].next()"
    - "[java.nio.file.FileTreeIterator].next()"
    - "[java.nio.file.Files$2].next()"
    - "[org.springframework.retry.annotation.RetryConfiguration$AnnotationClassOrMethodPointcut].<init>(org.springframework.retry.'annotation'.RetryConfiguration,java.lang.Class)"
    - "[org.springframework.aop.support.ComposablePointcut].<init>(org.springframework.aop.Pointcut)"
    - "[org.springframework.aop.support.ComposablePointcut].union(org.springframework.aop.Pointcut)"
    - "[java.util.Set].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    functionUses: 1
    ICount: 18
    EdgeCount: 38
    BranchProfiles:
    - Branch String: "org.springframework.retry.annotation.RetryConfiguration:187"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.RetryConfiguration:196"
        BranchSideFuncs:
        - "hasNext()"
        - "<init>(org.springframework.retry.'annotation'.RetryConfiguration,java.lang.Class)"
        - "iterator()"
        - "next()"
      - BranchSide: "org.springframework.retry.annotation.RetryConfiguration:195"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.annotation.RetryConfiguration:189"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.RetryConfiguration:193"
        BranchSideFuncs:
        - "<init>(org.springframework.aop.Pointcut)"
      - BranchSide: "org.springframework.retry.annotation.RetryConfiguration:192"
        BranchSideFuncs:
        - "union(org.springframework.aop.Pointcut)"
    Callsites:
    - Src: "org.springframework.retry.annotation.RetryConfiguration:187,1"
      Dst: "[java.util.Set].iterator()"
    - Src: "org.springframework.retry.annotation.RetryConfiguration:187,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "org.springframework.retry.annotation.RetryConfiguration:187,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "org.springframework.retry.annotation.RetryConfiguration:188,1"
      Dst: "[org.springframework.retry.annotation.RetryConfiguration$AnnotationClassOrMethodPointcut].<init>(org.springframework.retry.'annotation'.RetryConfiguration,java.lang.Class)"
    - Src: "org.springframework.retry.annotation.RetryConfiguration:190,1"
      Dst: "[org.springframework.aop.support.ComposablePointcut].<init>(org.springframework.aop.Pointcut)"
    - Src: "org.springframework.retry.annotation.RetryConfiguration:193,1"
      Dst: "[org.springframework.aop.support.ComposablePointcut].union(org.springframework.aop.Pointcut)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[org.springframework.retry.annotation.RetryConfiguration$AnnotationClassOrMethodPointcut].<init>(org.springframework.retry.'annotation'.RetryConfiguration,java.lang.Class)"
    functionSourceFile: "org.springframework.retry.annotation.RetryConfiguration$AnnotationClassOrMethodPointcut"
    linkageType: ""
    functionLinenumber: 202
    functionLinenumberEnd: 207
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "org.springframework.retry.annotation.RetryConfiguration"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.aop.support.StaticMethodMatcherPointcut].<init>()"
    - "[org.springframework.aop.support.annotation.AnnotationMethodMatcher].<init>(java.lang.Class)"
    - "[org.springframework.retry.annotation.RetryConfiguration$AnnotationClassOrMethodFilter].<init>(org.springframework.retry.'annotation'.RetryConfiguration,java.lang.Class)"
    - "[org.springframework.aop.support.StaticMethodMatcherPointcut].setClassFilter(org.springframework.aop.ClassFilter)"
    functionUses: 1
    ICount: 12
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.annotation.RetryConfiguration$AnnotationClassOrMethodPointcut:203,1"
      Dst: "[org.springframework.aop.support.StaticMethodMatcherPointcut].<init>()"
    - Src: "org.springframework.retry.annotation.RetryConfiguration$AnnotationClassOrMethodPointcut:204,1"
      Dst: "[org.springframework.aop.support.annotation.AnnotationMethodMatcher].<init>(java.lang.Class)"
    - Src: "org.springframework.retry.annotation.RetryConfiguration$AnnotationClassOrMethodPointcut:205,1"
      Dst: "[org.springframework.retry.annotation.RetryConfiguration$AnnotationClassOrMethodFilter].<init>(org.springframework.retry.'annotation'.RetryConfiguration,java.lang.Class)"
    - Src: "org.springframework.retry.annotation.RetryConfiguration$AnnotationClassOrMethodPointcut:205,1"
      Dst: "[org.springframework.aop.support.StaticMethodMatcherPointcut].setClassFilter(org.springframework.aop.ClassFilter)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.annotation.RetryConfiguration$AnnotationClassOrMethodFilter].<init>(org.springframework.retry.'annotation'.RetryConfiguration,java.lang.Class)"
    functionSourceFile: "org.springframework.retry.annotation.RetryConfiguration$AnnotationClassOrMethodFilter"
    linkageType: ""
    functionLinenumber: 230
    functionLinenumberEnd: 235
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "org.springframework.retry.annotation.RetryConfiguration"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.aop.support.annotation.AnnotationClassFilter].<init>(java.lang.Class,boolean)"
    - "[org.springframework.retry.annotation.RetryConfiguration$AnnotationMethodsResolver].<init>(java.lang.Class)"
    functionUses: 1
    ICount: 9
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.annotation.RetryConfiguration$AnnotationClassOrMethodFilter:232,1"
      Dst: "[org.springframework.aop.support.annotation.AnnotationClassFilter].<init>(java.lang.Class,boolean)"
    - Src: "org.springframework.retry.annotation.RetryConfiguration$AnnotationClassOrMethodFilter:233,1"
      Dst: "[org.springframework.retry.annotation.RetryConfiguration$AnnotationMethodsResolver].<init>(java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.annotation.RetryConfiguration$AnnotationMethodsResolver].<init>(java.lang.Class)"
    functionSourceFile: "org.springframework.retry.annotation.RetryConfiguration$AnnotationMethodsResolver"
    linkageType: ""
    functionLinenumber: 246
    functionLinenumberEnd: 250
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.annotation.RetryConfiguration$AnnotationMethodsResolver:247,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.BinaryExceptionClassifierRetryPolicy].<init>(org.springframework.classify.BinaryExceptionClassifier)"
    functionSourceFile: "org.springframework.retry.policy.BinaryExceptionClassifierRetryPolicy"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.springframework.classify.BinaryExceptionClassifier"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.policy.BinaryExceptionClassifierRetryPolicy:36,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.BinaryExceptionClassifierRetryPolicy].getExceptionClassifier()"
    functionSourceFile: "org.springframework.retry.policy.BinaryExceptionClassifierRetryPolicy"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "org.springframework.classify.BinaryExceptionClassifier"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.BinaryExceptionClassifierRetryPolicy].canRetry(org.springframework.retry.RetryContext)"
    functionSourceFile: "org.springframework.retry.policy.BinaryExceptionClassifierRetryPolicy"
    linkageType: ""
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionDepth: 2
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "org.springframework.retry.RetryContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.context.RetryContextSupport].getLastThrowable()"
    - "[java.lang.Boolean].booleanValue()"
    - "[org.springframework.classify.BinaryExceptionClassifier].classify(java.lang.Throwable)"
    - "[org.springframework.retry.RetryContext].getLastThrowable()"
    functionUses: 8
    ICount: 12
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "org.springframework.retry.policy.BinaryExceptionClassifierRetryPolicy:47"
      Branch Sides:
      - BranchSide: "org.springframework.retry.policy.BinaryExceptionClassifierRetryPolicy:45"
        BranchSideFuncs:
        - "booleanValue()"
        - "getLastThrowable()"
        - "classify(java.lang.Throwable)"
    - Branch String: "org.springframework.retry.policy.BinaryExceptionClassifierRetryPolicy:47"
      Branch Sides:
      - BranchSide: "org.springframework.retry.policy.BinaryExceptionClassifierRetryPolicy:45"
        BranchSideFuncs:
        - "booleanValue()"
        - "getLastThrowable()"
        - "classify(java.lang.Throwable)"
    Callsites:
    - Src: "org.springframework.retry.policy.BinaryExceptionClassifierRetryPolicy:46,1"
      Dst: "[org.springframework.retry.RetryContext].getLastThrowable()"
    - Src: "org.springframework.retry.policy.BinaryExceptionClassifierRetryPolicy:47,1"
      Dst: "[org.springframework.classify.BinaryExceptionClassifier].classify(java.lang.Throwable)"
    - Src: "org.springframework.retry.policy.BinaryExceptionClassifierRetryPolicy:47,1"
      Dst: "[java.lang.Boolean].booleanValue()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[org.springframework.retry.policy.BinaryExceptionClassifierRetryPolicy].close(org.springframework.retry.RetryContext)"
    functionSourceFile: "org.springframework.retry.policy.BinaryExceptionClassifierRetryPolicy"
    linkageType: ""
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.springframework.retry.RetryContext"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 6
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.BinaryExceptionClassifierRetryPolicy].registerThrowable(org.springframework.retry.RetryContext,java.lang.Throwable)"
    functionSourceFile: "org.springframework.retry.policy.BinaryExceptionClassifierRetryPolicy"
    linkageType: ""
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "org.springframework.retry.RetryContext"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.context.RetryContextSupport].registerThrowable(java.lang.Throwable)"
    functionUses: 5
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.policy.BinaryExceptionClassifierRetryPolicy:57,1"
      Dst: "[org.springframework.retry.context.RetryContextSupport].registerThrowable(java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.BinaryExceptionClassifierRetryPolicy].open(org.springframework.retry.RetryContext)"
    functionSourceFile: "org.springframework.retry.policy.BinaryExceptionClassifierRetryPolicy"
    linkageType: ""
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionDepth: 1
    returnType: "org.springframework.retry.RetryContext"
    argCount: 1
    argTypes:
    - "org.springframework.retry.RetryContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.context.RetryContextSupport].<init>(org.springframework.retry.RetryContext)"
    functionUses: 4
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.policy.BinaryExceptionClassifierRetryPolicy:62,1"
      Dst: "[org.springframework.retry.context.RetryContextSupport].<init>(org.springframework.retry.RetryContext)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.interceptor.RetryOperationsInterceptor].<init>()"
    functionSourceFile: "org.springframework.retry.interceptor.RetryOperationsInterceptor"
    linkageType: ""
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[org.springframework.retry.support.RetryTemplate].<init>()"
    functionUses: 1
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.interceptor.RetryOperationsInterceptor:47,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "org.springframework.retry.interceptor.RetryOperationsInterceptor:49,1"
      Dst: "[org.springframework.retry.support.RetryTemplate].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.interceptor.RetryOperationsInterceptor].setRecoverer(org.springframework.retry.interceptor.MethodInvocationRecoverer<?>)"
    functionSourceFile: "org.springframework.retry.interceptor.RetryOperationsInterceptor"
    linkageType: ""
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.springframework.retry.interceptor.MethodInvocationRecoverer<?>"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.interceptor.RetryOperationsInterceptor].invoke(org.aopalliance.intercept.MethodInvocation)"
    functionSourceFile: "org.springframework.retry.interceptor.RetryOperationsInterceptor"
    linkageType: ""
    functionLinenumber: 71
    functionLinenumberEnd: 134
    functionDepth: 2
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "org.aopalliance.intercept.MethodInvocation"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.util.StringUtils].hasText(java.lang.String)"
    - "[org.springframework.aop.framework.ReflectiveMethodInvocation].getMethod()"
    - "[java.lang.reflect.Method].toGenericString()"
    - "[org.springframework.retry.interceptor.RetryOperationsInterceptor$1].<init>(org.springframework.retry.interceptor.RetryOperationsInterceptor,org.aopalliance.intercept.MethodInvocation,java.lang.String)"
    - "[org.springframework.retry.interceptor.RetryOperationsInterceptor$ItemRecovererCallback].<init>(java.lang.Object[],org.springframework.retry.interceptor.MethodInvocationRecoverer,org.springframework.retry.interceptor.RetryOperationsInterceptor$1)"
    - "[org.springframework.aop.framework.ReflectiveMethodInvocation].getArguments()"
    - "[org.springframework.retry.support.RetryTemplate].execute(org.springframework.retry.RetryCallback,org.springframework.retry.RecoveryCallback)"
    - "[org.springframework.retry.support.RetrySynchronizationManager].getContext()"
    - "[org.springframework.core.AttributeAccessorSupport].removeAttribute(java.lang.String)"
    - "[org.springframework.retry.support.RetryTemplate].execute(org.springframework.retry.RetryCallback)"
    - "[org.aopalliance.intercept.MethodInvocation].getMethod()"
    - "[org.aopalliance.intercept.Invocation].getArguments()"
    - "[org.springframework.retry.RetryOperations].execute(org.springframework.retry.RetryCallback,org.springframework.retry.RecoveryCallback)"
    - "[org.springframework.core.AttributeAccessor].removeAttribute(java.lang.String)"
    - "[org.springframework.retry.RetryOperations].execute(org.springframework.retry.RetryCallback)"
    functionUses: 3
    ICount: 31
    EdgeCount: 12
    BranchProfiles:
    - Branch String: "org.springframework.retry.interceptor.RetryOperationsInterceptor:72"
      Branch Sides:
      - BranchSide: "org.springframework.retry.interceptor.RetryOperationsInterceptor:76"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.interceptor.RetryOperationsInterceptor:75"
        BranchSideFuncs:
        - "toGenericString()"
        - "getMethod()"
    - Branch String: "org.springframework.retry.interceptor.RetryOperationsInterceptor:118"
      Branch Sides:
      - BranchSide: "org.springframework.retry.interceptor.RetryOperationsInterceptor:133"
        BranchSideFuncs:
        - "execute(org.springframework.retry.RetryCallback,org.springframework.retry.RecoveryCallback)"
        - "getContext()"
        - "<init>(java.lang.Object[],org.springframework.retry.interceptor.MethodInvocationRecoverer,org.springframework.retry.interceptor.RetryOperationsInterceptor$1)"
        - "getArguments()"
      - BranchSide: "org.springframework.retry.interceptor.RetryOperationsInterceptor:132"
        BranchSideFuncs:
        - "execute(org.springframework.retry.RetryCallback)"
    - Branch String: "org.springframework.retry.interceptor.RetryOperationsInterceptor:127"
      Branch Sides:
      - BranchSide: "org.springframework.retry.interceptor.RetryOperationsInterceptor:119"
        BranchSideFuncs:
        - "removeAttribute(java.lang.String)"
      - BranchSide: "org.springframework.retry.interceptor.RetryOperationsInterceptor:118"
        BranchSideFuncs:
        - "execute(org.springframework.retry.RetryCallback,org.springframework.retry.RecoveryCallback)"
        - "getContext()"
        - "<init>(java.lang.Object[],org.springframework.retry.interceptor.MethodInvocationRecoverer,org.springframework.retry.interceptor.RetryOperationsInterceptor$1)"
        - "getArguments()"
    - Branch String: "org.springframework.retry.interceptor.RetryOperationsInterceptor:127"
      Branch Sides:
      - BranchSide: "org.springframework.retry.interceptor.RetryOperationsInterceptor:130"
        BranchSideFuncs:
        - "removeAttribute(java.lang.String)"
      - BranchSide: "org.springframework.retry.interceptor.RetryOperationsInterceptor:129"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.springframework.retry.interceptor.RetryOperationsInterceptor:72,1"
      Dst: "[org.springframework.util.StringUtils].hasText(java.lang.String)"
    - Src: "org.springframework.retry.interceptor.RetryOperationsInterceptor:76,1"
      Dst: "[org.aopalliance.intercept.MethodInvocation].getMethod()"
    - Src: "org.springframework.retry.interceptor.RetryOperationsInterceptor:76,1"
      Dst: "[java.lang.reflect.Method].toGenericString()"
    - Src: "org.springframework.retry.interceptor.RetryOperationsInterceptor:80,1"
      Dst: "[org.springframework.retry.interceptor.RetryOperationsInterceptor$1].<init>(org.springframework.retry.interceptor.RetryOperationsInterceptor,org.aopalliance.intercept.MethodInvocation,java.lang.String)"
    - Src: "org.springframework.retry.interceptor.RetryOperationsInterceptor:119,1"
      Dst: "[org.aopalliance.intercept.Invocation].getArguments()"
    - Src: "org.springframework.retry.interceptor.RetryOperationsInterceptor:119,1"
      Dst: "[org.springframework.retry.interceptor.RetryOperationsInterceptor$ItemRecovererCallback].<init>(java.lang.Object[],org.springframework.retry.interceptor.MethodInvocationRecoverer,org.springframework.retry.interceptor.RetryOperationsInterceptor$1)"
    - Src: "org.springframework.retry.interceptor.RetryOperationsInterceptor:122,1"
      Dst: "[org.springframework.retry.RetryOperations].execute(org.springframework.retry.RetryCallback,org.springframework.retry.RecoveryCallback)"
    - Src: "org.springframework.retry.interceptor.RetryOperationsInterceptor:126,1"
      Dst: "[org.springframework.retry.support.RetrySynchronizationManager].getContext()"
    - Src: "org.springframework.retry.interceptor.RetryOperationsInterceptor:128,1"
      Dst: "[org.springframework.core.AttributeAccessor].removeAttribute(java.lang.String)"
    - Src: "org.springframework.retry.interceptor.RetryOperationsInterceptor:133,1"
      Dst: "[org.springframework.retry.RetryOperations].execute(org.springframework.retry.RetryCallback)"
    JavaMethodInfo:
      exceptions:
      - "java.lang.Throwable"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 11
    CyclomaticComplexity: 3
  - functionName: "[org.springframework.retry.interceptor.RetryOperationsInterceptor$1].<init>(org.springframework.retry.interceptor.RetryOperationsInterceptor,org.aopalliance.intercept.MethodInvocation,java.lang.String)"
    functionSourceFile: "org.springframework.retry.interceptor.RetryOperationsInterceptor$1"
    linkageType: ""
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "org.springframework.retry.interceptor.RetryOperationsInterceptor"
    - "org.aopalliance.intercept.MethodInvocation"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.interceptor.MethodInvocationRetryCallback].<init>(org.aopalliance.intercept.MethodInvocation,java.lang.String)"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.interceptor.RetryOperationsInterceptor$1:81,1"
      Dst: "[org.springframework.retry.interceptor.MethodInvocationRetryCallback].<init>(org.aopalliance.intercept.MethodInvocation,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.interceptor.RetryOperationsInterceptor$ItemRecovererCallback].<init>(java.lang.Object[],org.springframework.retry.interceptor.MethodInvocationRecoverer,org.springframework.retry.interceptor.RetryOperationsInterceptor$1)"
    functionSourceFile: "org.springframework.retry.interceptor.RetryOperationsInterceptor$ItemRecovererCallback"
    linkageType: ""
    functionLinenumber: 140
    functionLinenumberEnd: 142
    functionDepth: 1
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.Object[]"
    - "org.springframework.retry.interceptor.MethodInvocationRecoverer"
    - "org.springframework.retry.interceptor.RetryOperationsInterceptor$1"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.interceptor.RetryOperationsInterceptor$ItemRecovererCallback].<init>(java.lang.Object[],org.springframework.retry.interceptor.MethodInvocationRecoverer)"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.interceptor.RetryOperationsInterceptor$ItemRecovererCallback:141,1"
      Dst: "[org.springframework.retry.interceptor.RetryOperationsInterceptor$ItemRecovererCallback].<init>(java.lang.Object[],org.springframework.retry.interceptor.MethodInvocationRecoverer)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.interceptor.RetryOperationsInterceptor$ItemRecovererCallback].<init>(java.lang.Object[],org.springframework.retry.interceptor.MethodInvocationRecoverer)"
    functionSourceFile: "org.springframework.retry.interceptor.RetryOperationsInterceptor$ItemRecovererCallback"
    linkageType: ""
    functionLinenumber: 149
    functionLinenumberEnd: 154
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Object[]"
    - "org.springframework.retry.interceptor.MethodInvocationRecoverer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.util.Arrays].asList(java.lang.Object[])"
    - "[java.util.AbstractCollection].toArray()"
    - "[sun.awt.util.IdentityArrayList].toArray()"
    - "[org.springframework.util.AutoPopulatingList].toArray()"
    - "[java.util.LinkedList].toArray()"
    - "[java.util.ArrayList].toArray()"
    - "[java.util.concurrent.CopyOnWriteArrayList].toArray()"
    - "[java.util.Vector].toArray()"
    - "[java.util.List].toArray()"
    functionUses: 1
    ICount: 9
    EdgeCount: 9
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.interceptor.RetryOperationsInterceptor$ItemRecovererCallback:150,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "org.springframework.retry.interceptor.RetryOperationsInterceptor$ItemRecovererCallback:151,1"
      Dst: "[java.util.Arrays].asList(java.lang.Object[])"
    - Src: "org.springframework.retry.interceptor.RetryOperationsInterceptor$ItemRecovererCallback:151,1"
      Dst: "[java.util.List].toArray()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.classify.SubclassClassifier].setTypeMap(java.util.Map<Class<?\
      \ extends T>,C>)"
    functionSourceFile: "org.springframework.classify.SubclassClassifier"
    linkageType: ""
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.util.Map<Class<? extends T>,C>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.ConcurrentHashMap].<init>(java.util.Map)"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.classify.SubclassClassifier:85,1"
      Dst: "[java.util.concurrent.ConcurrentHashMap].<init>(java.util.Map)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.classify.SubclassClassifier].add(java.lang.Class,java.lang.Object)"
    functionSourceFile: "org.springframework.classify.SubclassClassifier"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Class"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.classify.SubclassClassifier:95,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.annotation.RetryConfiguration$AnnotationClassOrMethodFilter].matches(java.lang.Class)"
    functionSourceFile: "org.springframework.retry.annotation.RetryConfiguration$AnnotationClassOrMethodFilter"
    linkageType: ""
    functionLinenumber: 237
    functionLinenumberEnd: 239
    functionDepth: 2
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.annotation.RetryConfiguration$AnnotationMethodsResolver].hasAnnotatedMethods(java.lang.Class)"
    - "[org.springframework.aop.support.annotation.AnnotationClassFilter].matches(java.lang.Class)"
    functionUses: 10
    ICount: 11
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "org.springframework.retry.annotation.RetryConfiguration$AnnotationClassOrMethodFilter:238"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.RetryConfiguration$AnnotationClassOrMethodFilter:237"
        BranchSideFuncs:
        - "hasAnnotatedMethods(java.lang.Class)"
        - "matches(java.lang.Class)"
    - Branch String: "org.springframework.retry.annotation.RetryConfiguration$AnnotationClassOrMethodFilter:238"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.RetryConfiguration$AnnotationClassOrMethodFilter:237"
        BranchSideFuncs:
        - "hasAnnotatedMethods(java.lang.Class)"
        - "matches(java.lang.Class)"
    Callsites:
    - Src: "org.springframework.retry.annotation.RetryConfiguration$AnnotationClassOrMethodFilter:238,1"
      Dst: "[org.springframework.aop.support.annotation.AnnotationClassFilter].matches(java.lang.Class)"
    - Src: "org.springframework.retry.annotation.RetryConfiguration$AnnotationClassOrMethodFilter:238,1"
      Dst: "[org.springframework.retry.annotation.RetryConfiguration$AnnotationMethodsResolver].hasAnnotatedMethods(java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[org.springframework.retry.annotation.RetryConfiguration$AnnotationMethodsResolver].hasAnnotatedMethods(java.lang.Class)"
    functionSourceFile: "org.springframework.retry.annotation.RetryConfiguration$AnnotationMethodsResolver"
    linkageType: ""
    functionLinenumber: 251
    functionLinenumberEnd: 267
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.atomic.AtomicBoolean].<init>(boolean)"
    - "[org.springframework.retry.annotation.RetryConfiguration$AnnotationMethodsResolver$1].<init>(org.springframework.retry.'annotation'.RetryConfiguration$AnnotationMethodsResolver,java.util.concurrent.atomic.AtomicBoolean)"
    - "[org.springframework.util.ReflectionUtils].doWithMethods(java.lang.Class,org.springframework.util.ReflectionUtils$MethodCallback)"
    - "[java.util.concurrent.atomic.AtomicBoolean].get()"
    functionUses: 1
    ICount: 9
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.annotation.RetryConfiguration$AnnotationMethodsResolver:252,1"
      Dst: "[java.util.concurrent.atomic.AtomicBoolean].<init>(boolean)"
    - Src: "org.springframework.retry.annotation.RetryConfiguration$AnnotationMethodsResolver:253,1"
      Dst: "[org.springframework.retry.annotation.RetryConfiguration$AnnotationMethodsResolver$1].<init>(org.springframework.retry.'annotation'.RetryConfiguration$AnnotationMethodsResolver,java.util.concurrent.atomic.AtomicBoolean)"
    - Src: "org.springframework.retry.annotation.RetryConfiguration$AnnotationMethodsResolver:253,1"
      Dst: "[org.springframework.util.ReflectionUtils].doWithMethods(java.lang.Class,org.springframework.util.ReflectionUtils$MethodCallback)"
    - Src: "org.springframework.retry.annotation.RetryConfiguration$AnnotationMethodsResolver:266,1"
      Dst: "[java.util.concurrent.atomic.AtomicBoolean].get()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.annotation.RetryConfiguration$AnnotationMethodsResolver$1].<init>(org.springframework.retry.'annotation'.RetryConfiguration$AnnotationMethodsResolver,java.util.concurrent.atomic.AtomicBoolean)"
    functionSourceFile: "org.springframework.retry.annotation.RetryConfiguration$AnnotationMethodsResolver$1"
    linkageType: ""
    functionLinenumber: 252
    functionLinenumberEnd: 254
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "org.springframework.retry.annotation.RetryConfiguration$AnnotationMethodsResolver"
    - "java.util.concurrent.atomic.AtomicBoolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.annotation.RetryConfiguration$AnnotationMethodsResolver$1:253,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.AlwaysRetryPolicy].<init>()"
    functionSourceFile: "org.springframework.retry.policy.AlwaysRetryPolicy"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.policy.NeverRetryPolicy].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.policy.AlwaysRetryPolicy:30,1"
      Dst: "[org.springframework.retry.policy.NeverRetryPolicy].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.AlwaysRetryPolicy].canRetry(org.springframework.retry.RetryContext)"
    functionSourceFile: "org.springframework.retry.policy.AlwaysRetryPolicy"
    linkageType: ""
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "org.springframework.retry.RetryContext"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 8
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.TerminatedRetryException].<init>(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "org.springframework.retry.TerminatedRetryException"
    linkageType: ""
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.RetryException].<init>(java.lang.String,java.lang.Throwable)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.TerminatedRetryException:23,1"
      Dst: "[org.springframework.retry.RetryException].<init>(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.TerminatedRetryException].<init>(java.lang.String)"
    functionSourceFile: "org.springframework.retry.TerminatedRetryException"
    linkageType: ""
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.RetryException].<init>(java.lang.String)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.TerminatedRetryException:27,1"
      Dst: "[org.springframework.retry.RetryException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[PatternMatcher_match_Fuzzer].<init>()"
    functionSourceFile: "PatternMatcher_match_Fuzzer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "PatternMatcher_match_Fuzzer:25,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[PatternMatcher_match_Fuzzer].fuzzerTestOneInput(com.code_intelligence.jazzer.api.FuzzedDataProvider)"
    functionSourceFile: "PatternMatcher_match_Fuzzer"
    linkageType: ""
    functionLinenumber: 26
    functionLinenumberEnd: 44
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.code_intelligence.jazzer.api.FuzzedDataProvider"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.HashMap].<init>()"
    - "[java.lang.Integer].valueOf(int)"
    - "[org.springframework.core.annotation.AnnotationAttributes].putIfAbsent(java.lang.Object,java.lang.Object)"
    - "[java.util.HashMap:java.util.Map].putIfAbsent(java.lang.Object,java.lang.Object)"
    - "[org.springframework.classify.PatternMatcher].<init>(java.util.Map)"
    - "[org.springframework.classify.PatternMatcher].match(java.lang.String,java.lang.String)"
    - "[com.code_intelligence.jazzer.api.FuzzedDataProvider].remainingBytes()"
    - "[com.code_intelligence.jazzer.api.FuzzedDataProvider].consumeInt(int,int)"
    - "[com.code_intelligence.jazzer.api.FuzzedDataProvider].consumeString(int)"
    - "[java.util.Map].putIfAbsent(java.lang.Object,java.lang.Object)"
    functionUses: 0
    ICount: 22
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "PatternMatcher_match_Fuzzer:27"
      Branch Sides:
      - BranchSide: "PatternMatcher_match_Fuzzer:30"
        BranchSideFuncs: []
      - BranchSide: "PatternMatcher_match_Fuzzer:29"
        BranchSideFuncs:
        - "<init>()"
    - Branch String: "PatternMatcher_match_Fuzzer:35"
      Branch Sides:
      - BranchSide: "PatternMatcher_match_Fuzzer:41"
        BranchSideFuncs:
        - "putIfAbsent(java.lang.Object,java.lang.Object)"
        - "valueOf(int)"
      - BranchSide: "PatternMatcher_match_Fuzzer:40"
        BranchSideFuncs:
        - "match(java.lang.String,java.lang.String)"
        - "<init>(java.util.Map)"
    Callsites:
    - Src: "PatternMatcher_match_Fuzzer:27,1"
      Dst: "[com.code_intelligence.jazzer.api.FuzzedDataProvider].remainingBytes()"
    - Src: "PatternMatcher_match_Fuzzer:30,1"
      Dst: "[com.code_intelligence.jazzer.api.FuzzedDataProvider].consumeInt(int,int)"
    - Src: "PatternMatcher_match_Fuzzer:30,1"
      Dst: "[com.code_intelligence.jazzer.api.FuzzedDataProvider].consumeString(int)"
    - Src: "PatternMatcher_match_Fuzzer:34,1"
      Dst: "[java.util.HashMap].<init>()"
    - Src: "PatternMatcher_match_Fuzzer:37,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "PatternMatcher_match_Fuzzer:38,1"
      Dst: "[java.util.Map].putIfAbsent(java.lang.Object,java.lang.Object)"
    - Src: "PatternMatcher_match_Fuzzer:41,1"
      Dst: "[org.springframework.classify.PatternMatcher].<init>(java.util.Map)"
    - Src: "PatternMatcher_match_Fuzzer:42,1"
      Dst: "[org.springframework.classify.PatternMatcher].match(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[org.springframework.retry.backoff.ThreadWaitSleeper].sleep(long)"
    functionSourceFile: "org.springframework.retry.backoff.ThreadWaitSleeper"
    linkageType: ""
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Thread].sleep(long)"
    functionUses: 3
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.backoff.ThreadWaitSleeper:31,1"
      Dst: "[java.lang.Thread].sleep(long)"
    JavaMethodInfo:
      exceptions:
      - "java.lang.InterruptedException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.classify.BackToBackPatternClassifier].<init>()"
    functionSourceFile: "org.springframework.classify.BackToBackPatternClassifier"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.classify.BackToBackPatternClassifier:39,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.classify.BackToBackPatternClassifier].<init>(org.springframework.classify.Classifier,org.springframework.classify.Classifier)"
    functionSourceFile: "org.springframework.classify.BackToBackPatternClassifier"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "org.springframework.classify.Classifier"
    - "org.springframework.classify.Classifier"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.classify.BackToBackPatternClassifier:48,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.classify.BackToBackPatternClassifier].setMatcherMap(java.util.Map<String,T>)"
    functionSourceFile: "org.springframework.classify.BackToBackPatternClassifier"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.util.Map<String,T>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.classify.PatternMatchingClassifier].<init>(java.util.Map)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.classify.BackToBackPatternClassifier:59,1"
      Dst: "[org.springframework.classify.PatternMatchingClassifier].<init>(java.util.Map)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.classify.BackToBackPatternClassifier].setRouterDelegate(java.lang.Object)"
    functionSourceFile: "org.springframework.classify.BackToBackPatternClassifier"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.classify.ClassifierAdapter].<init>(java.lang.Object)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.classify.BackToBackPatternClassifier:70,1"
      Dst: "[org.springframework.classify.ClassifierAdapter].<init>(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.classify.BackToBackPatternClassifier].classify(java.lang.Object)"
    functionSourceFile: "org.springframework.classify.BackToBackPatternClassifier"
    linkageType: ""
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.classify.PatternMatchingClassifier].classify(java.lang.Object)"
    - "[org.springframework.classify.BinaryExceptionClassifier].classify(java.lang.Object)"
    - "[org.springframework.classify.SubclassClassifier].classify(java.lang.Object)"
    - "[org.springframework.classify.BackToBackPatternClassifier].classify(java.lang.Object)"
    - "[org.springframework.classify.ClassifierAdapter].classify(java.lang.Object)"
    - "[org.springframework.classify.ClassifierSupport].classify(java.lang.Object)"
    - "[org.springframework.classify.Classifier].classify(java.lang.Object)"
    functionUses: 5
    ICount: 7
    EdgeCount: 11
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.classify.BackToBackPatternClassifier:79,1"
      Dst: "[org.springframework.classify.Classifier].classify(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler$1].doWith(java.lang.reflect.Method)"
    functionSourceFile: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler$1"
    linkageType: ""
    functionLinenumber: 208
    functionLinenumberEnd: 224
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.reflect.Method"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.core.annotation.AnnotationUtils].findAnnotation(java.lang.reflect.Method,java.lang.Class)"
    - "[org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler].access$100(org.springframework.retry.'annotation'.RecoverAnnotationRecoveryHandler,java.lang.Object,java.lang.reflect.Method)"
    - "[java.lang.reflect.Method].getGenericReturnType()"
    - "[org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler].access$200(org.springframework.retry.'annotation'.RecoverAnnotationRecoveryHandler,java.lang.reflect.ParameterizedType,java.lang.reflect.ParameterizedType)"
    - "[org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler].access$300(org.springframework.retry.'annotation'.RecoverAnnotationRecoveryHandler,java.lang.reflect.Method,java.util.Map)"
    - "[java.lang.reflect.Method].getReturnType()"
    - "[java.lang.Class].isAssignableFrom(java.lang.Class)"
    functionUses: 2
    ICount: 38
    EdgeCount: 12
    BranchProfiles:
    - Branch String: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler$1:210"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler$1:213"
        BranchSideFuncs:
        - "access$100(org.springframework.retry.'annotation'.RecoverAnnotationRecoveryHandler,java.lang.Object,java.lang.reflect.Method)"
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler$1:212"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler$1:213"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler$1:220"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler$1:219"
        BranchSideFuncs:
        - "isAssignableFrom(java.lang.Class)"
        - "getReturnType()"
    - Branch String: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler$1:213"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler$1:220"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler$1:219"
        BranchSideFuncs:
        - "isAssignableFrom(java.lang.Class)"
        - "getReturnType()"
    - Branch String: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler$1:214"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler$1:220"
        BranchSideFuncs:
        - "access$200(org.springframework.retry.'annotation'.RecoverAnnotationRecoveryHandler,java.lang.reflect.ParameterizedType,java.lang.reflect.ParameterizedType)"
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler$1:219"
        BranchSideFuncs:
        - "isAssignableFrom(java.lang.Class)"
        - "getReturnType()"
    - Branch String: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler$1:215"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler$1:222"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler$1:220"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler$1:223"
        BranchSideFuncs:
        - "access$300(org.springframework.retry.'annotation'.RecoverAnnotationRecoveryHandler,java.lang.reflect.Method,java.util.Map)"
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler$1:222"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler$1:220"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler$1:223"
        BranchSideFuncs:
        - "access$300(org.springframework.retry.'annotation'.RecoverAnnotationRecoveryHandler,java.lang.reflect.Method,java.util.Map)"
      - BranchSide: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler$1:222"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler$1:209,1"
      Dst: "[org.springframework.core.annotation.AnnotationUtils].findAnnotation(java.lang.reflect.Method,java.lang.Class)"
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler$1:211,1"
      Dst: "[org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler].access$100(org.springframework.retry.'annotation'.RecoverAnnotationRecoveryHandler,java.lang.Object,java.lang.reflect.Method)"
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler$1:213,1"
      Dst: "[java.lang.reflect.Method].getGenericReturnType()"
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler$1:215,1"
      Dst: "[org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler].access$200(org.springframework.retry.'annotation'.RecoverAnnotationRecoveryHandler,java.lang.reflect.ParameterizedType,java.lang.reflect.ParameterizedType)"
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler$1:217,1"
      Dst: "[org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler].access$300(org.springframework.retry.'annotation'.RecoverAnnotationRecoveryHandler,java.lang.reflect.Method,java.util.Map)"
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler$1:220,1"
      Dst: "[java.lang.reflect.Method].getReturnType()"
    - Src: "org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler$1:220,1"
      Dst: "[java.lang.Class].isAssignableFrom(java.lang.Class)"
    JavaMethodInfo:
      exceptions:
      - "java.lang.IllegalArgumentException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 11
    CyclomaticComplexity: 8
  - functionName: "[org.springframework.retry.stats.ExponentialAverageRetryStatistics].getRollingStartedCount()"
    functionSourceFile: "org.springframework.retry.stats.ExponentialAverageRetryStatistics"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.stats.ExponentialAverageRetryStatistics$ExponentialAverage].getValue()"
    - "[java.lang.Math].round(double)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.stats.ExponentialAverageRetryStatistics:61,1"
      Dst: "[org.springframework.retry.stats.ExponentialAverageRetryStatistics$ExponentialAverage].getValue()"
    - Src: "org.springframework.retry.stats.ExponentialAverageRetryStatistics:61,1"
      Dst: "[java.lang.Math].round(double)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.stats.ExponentialAverageRetryStatistics].getRollingErrorCount()"
    functionSourceFile: "org.springframework.retry.stats.ExponentialAverageRetryStatistics"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.stats.ExponentialAverageRetryStatistics$ExponentialAverage].getValue()"
    - "[java.lang.Math].round(double)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.stats.ExponentialAverageRetryStatistics:65,1"
      Dst: "[org.springframework.retry.stats.ExponentialAverageRetryStatistics$ExponentialAverage].getValue()"
    - Src: "org.springframework.retry.stats.ExponentialAverageRetryStatistics:65,1"
      Dst: "[java.lang.Math].round(double)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.stats.ExponentialAverageRetryStatistics].getRollingAbortCount()"
    functionSourceFile: "org.springframework.retry.stats.ExponentialAverageRetryStatistics"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.stats.ExponentialAverageRetryStatistics$ExponentialAverage].getValue()"
    - "[java.lang.Math].round(double)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.stats.ExponentialAverageRetryStatistics:69,1"
      Dst: "[org.springframework.retry.stats.ExponentialAverageRetryStatistics$ExponentialAverage].getValue()"
    - Src: "org.springframework.retry.stats.ExponentialAverageRetryStatistics:69,1"
      Dst: "[java.lang.Math].round(double)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.stats.ExponentialAverageRetryStatistics].getRollingRecoveryCount()"
    functionSourceFile: "org.springframework.retry.stats.ExponentialAverageRetryStatistics"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.stats.ExponentialAverageRetryStatistics$ExponentialAverage].getValue()"
    - "[java.lang.Math].round(double)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.stats.ExponentialAverageRetryStatistics:73,1"
      Dst: "[org.springframework.retry.stats.ExponentialAverageRetryStatistics$ExponentialAverage].getValue()"
    - Src: "org.springframework.retry.stats.ExponentialAverageRetryStatistics:73,1"
      Dst: "[java.lang.Math].round(double)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.stats.ExponentialAverageRetryStatistics].getRollingCompleteCount()"
    functionSourceFile: "org.springframework.retry.stats.ExponentialAverageRetryStatistics"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.stats.ExponentialAverageRetryStatistics$ExponentialAverage].getValue()"
    - "[java.lang.Math].round(double)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.stats.ExponentialAverageRetryStatistics:77,1"
      Dst: "[org.springframework.retry.stats.ExponentialAverageRetryStatistics$ExponentialAverage].getValue()"
    - Src: "org.springframework.retry.stats.ExponentialAverageRetryStatistics:77,1"
      Dst: "[java.lang.Math].round(double)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.stats.ExponentialAverageRetryStatistics].getRollingErrorRate()"
    functionSourceFile: "org.springframework.retry.stats.ExponentialAverageRetryStatistics"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "double"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.stats.ExponentialAverageRetryStatistics$ExponentialAverage].getValue()"
    - "[java.lang.Math].round(double)"
    functionUses: 0
    ICount: 16
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.springframework.retry.stats.ExponentialAverageRetryStatistics:81"
      Branch Sides:
      - BranchSide: "org.springframework.retry.stats.ExponentialAverageRetryStatistics:84"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.stats.ExponentialAverageRetryStatistics:83"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.springframework.retry.stats.ExponentialAverageRetryStatistics:81,1"
      Dst: "[org.springframework.retry.stats.ExponentialAverageRetryStatistics$ExponentialAverage].getValue()"
    - Src: "org.springframework.retry.stats.ExponentialAverageRetryStatistics:81,1"
      Dst: "[java.lang.Math].round(double)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.stats.ExponentialAverageRetryStatistics].incrementStartedCount()"
    functionSourceFile: "org.springframework.retry.stats.ExponentialAverageRetryStatistics"
    linkageType: ""
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.stats.DefaultRetryStatistics].incrementStartedCount()"
    - "[org.springframework.retry.stats.ExponentialAverageRetryStatistics$ExponentialAverage].increment()"
    functionUses: 1
    ICount: 5
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.stats.ExponentialAverageRetryStatistics:89,1"
      Dst: "[org.springframework.retry.stats.DefaultRetryStatistics].incrementStartedCount()"
    - Src: "org.springframework.retry.stats.ExponentialAverageRetryStatistics:90,1"
      Dst: "[org.springframework.retry.stats.ExponentialAverageRetryStatistics$ExponentialAverage].increment()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.stats.DefaultRetryStatistics].incrementStartedCount()"
    functionSourceFile: "org.springframework.retry.stats.DefaultRetryStatistics"
    linkageType: ""
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.atomic.AtomicInteger].incrementAndGet()"
    functionUses: 2
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.stats.DefaultRetryStatistics:87,1"
      Dst: "[java.util.concurrent.atomic.AtomicInteger].incrementAndGet()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.stats.ExponentialAverageRetryStatistics].incrementCompleteCount()"
    functionSourceFile: "org.springframework.retry.stats.ExponentialAverageRetryStatistics"
    linkageType: ""
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.stats.DefaultRetryStatistics].incrementCompleteCount()"
    - "[org.springframework.retry.stats.ExponentialAverageRetryStatistics$ExponentialAverage].increment()"
    functionUses: 1
    ICount: 5
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.stats.ExponentialAverageRetryStatistics:95,1"
      Dst: "[org.springframework.retry.stats.DefaultRetryStatistics].incrementCompleteCount()"
    - Src: "org.springframework.retry.stats.ExponentialAverageRetryStatistics:96,1"
      Dst: "[org.springframework.retry.stats.ExponentialAverageRetryStatistics$ExponentialAverage].increment()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.stats.DefaultRetryStatistics].incrementCompleteCount()"
    functionSourceFile: "org.springframework.retry.stats.DefaultRetryStatistics"
    linkageType: ""
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.atomic.AtomicInteger].incrementAndGet()"
    functionUses: 2
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.stats.DefaultRetryStatistics:92,1"
      Dst: "[java.util.concurrent.atomic.AtomicInteger].incrementAndGet()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.stats.ExponentialAverageRetryStatistics].incrementRecoveryCount()"
    functionSourceFile: "org.springframework.retry.stats.ExponentialAverageRetryStatistics"
    linkageType: ""
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.stats.DefaultRetryStatistics].incrementRecoveryCount()"
    - "[org.springframework.retry.stats.ExponentialAverageRetryStatistics$ExponentialAverage].increment()"
    functionUses: 1
    ICount: 5
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.stats.ExponentialAverageRetryStatistics:101,1"
      Dst: "[org.springframework.retry.stats.DefaultRetryStatistics].incrementRecoveryCount()"
    - Src: "org.springframework.retry.stats.ExponentialAverageRetryStatistics:102,1"
      Dst: "[org.springframework.retry.stats.ExponentialAverageRetryStatistics$ExponentialAverage].increment()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.stats.DefaultRetryStatistics].incrementRecoveryCount()"
    functionSourceFile: "org.springframework.retry.stats.DefaultRetryStatistics"
    linkageType: ""
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.atomic.AtomicInteger].incrementAndGet()"
    functionUses: 2
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.stats.DefaultRetryStatistics:97,1"
      Dst: "[java.util.concurrent.atomic.AtomicInteger].incrementAndGet()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.stats.ExponentialAverageRetryStatistics].incrementErrorCount()"
    functionSourceFile: "org.springframework.retry.stats.ExponentialAverageRetryStatistics"
    linkageType: ""
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.stats.DefaultRetryStatistics].incrementErrorCount()"
    - "[org.springframework.retry.stats.ExponentialAverageRetryStatistics$ExponentialAverage].increment()"
    functionUses: 1
    ICount: 5
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.stats.ExponentialAverageRetryStatistics:107,1"
      Dst: "[org.springframework.retry.stats.DefaultRetryStatistics].incrementErrorCount()"
    - Src: "org.springframework.retry.stats.ExponentialAverageRetryStatistics:108,1"
      Dst: "[org.springframework.retry.stats.ExponentialAverageRetryStatistics$ExponentialAverage].increment()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.stats.DefaultRetryStatistics].incrementErrorCount()"
    functionSourceFile: "org.springframework.retry.stats.DefaultRetryStatistics"
    linkageType: ""
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.atomic.AtomicInteger].incrementAndGet()"
    functionUses: 2
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.stats.DefaultRetryStatistics:102,1"
      Dst: "[java.util.concurrent.atomic.AtomicInteger].incrementAndGet()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.stats.ExponentialAverageRetryStatistics].incrementAbortCount()"
    functionSourceFile: "org.springframework.retry.stats.ExponentialAverageRetryStatistics"
    linkageType: ""
    functionLinenumber: 112
    functionLinenumberEnd: 116
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.stats.DefaultRetryStatistics].incrementAbortCount()"
    - "[org.springframework.retry.stats.ExponentialAverageRetryStatistics$ExponentialAverage].increment()"
    functionUses: 1
    ICount: 5
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.stats.ExponentialAverageRetryStatistics:113,1"
      Dst: "[org.springframework.retry.stats.DefaultRetryStatistics].incrementAbortCount()"
    - Src: "org.springframework.retry.stats.ExponentialAverageRetryStatistics:114,1"
      Dst: "[org.springframework.retry.stats.ExponentialAverageRetryStatistics$ExponentialAverage].increment()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.stats.DefaultRetryStatistics].incrementAbortCount()"
    functionSourceFile: "org.springframework.retry.stats.DefaultRetryStatistics"
    linkageType: ""
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.atomic.AtomicInteger].incrementAndGet()"
    functionUses: 2
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.stats.DefaultRetryStatistics:107,1"
      Dst: "[java.util.concurrent.atomic.AtomicInteger].incrementAndGet()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.interceptor.RetryInterceptorBuilder$CircuitBreakerInterceptorBuilder].maxAttempts(int)"
    functionSourceFile: "org.springframework.retry.interceptor.RetryInterceptorBuilder$CircuitBreakerInterceptorBuilder"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "org.springframework.retry.interceptor.RetryInterceptorBuilder$CircuitBreakerInterceptorBuilder"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.interceptor.RetryInterceptorBuilder].maxAttempts(int)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.interceptor.RetryInterceptorBuilder$CircuitBreakerInterceptorBuilder:326,1"
      Dst: "[org.springframework.retry.interceptor.RetryInterceptorBuilder].maxAttempts(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.interceptor.RetryInterceptorBuilder$CircuitBreakerInterceptorBuilder].retryPolicy(org.springframework.retry.RetryPolicy)"
    functionSourceFile: "org.springframework.retry.interceptor.RetryInterceptorBuilder$CircuitBreakerInterceptorBuilder"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "org.springframework.retry.interceptor.RetryInterceptorBuilder$CircuitBreakerInterceptorBuilder"
    argCount: 1
    argTypes:
    - "org.springframework.retry.RetryPolicy"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.interceptor.RetryInterceptorBuilder].retryPolicy(org.springframework.retry.RetryPolicy)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.interceptor.RetryInterceptorBuilder$CircuitBreakerInterceptorBuilder:332,1"
      Dst: "[org.springframework.retry.interceptor.RetryInterceptorBuilder].retryPolicy(org.springframework.retry.RetryPolicy)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.interceptor.RetryInterceptorBuilder$CircuitBreakerInterceptorBuilder].build()"
    functionSourceFile: "org.springframework.retry.interceptor.RetryInterceptorBuilder$CircuitBreakerInterceptorBuilder"
    linkageType: ""
    functionLinenumber: 348
    functionLinenumberEnd: 366
    functionDepth: 3
    returnType: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor].setRecoverer(org.springframework.retry.interceptor.MethodInvocationRecoverer)"
    - "[org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor].setRetryOperations(org.springframework.retry.RetryOperations)"
    - "[org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor].setKeyGenerator(org.springframework.retry.interceptor.MethodArgumentsKeyGenerator)"
    - "[org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor].setLabel(java.lang.String)"
    - "[org.springframework.classify.BinaryExceptionClassifier].<init>(boolean)"
    - "[org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor].setRollbackClassifier(org.springframework.classify.Classifier)"
    functionUses: 3
    ICount: 31
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "org.springframework.retry.interceptor.RetryInterceptorBuilder$CircuitBreakerInterceptorBuilder:349"
      Branch Sides:
      - BranchSide: "org.springframework.retry.interceptor.RetryInterceptorBuilder$CircuitBreakerInterceptorBuilder:352"
        BranchSideFuncs:
        - "setRecoverer(org.springframework.retry.interceptor.MethodInvocationRecoverer)"
      - BranchSide: "org.springframework.retry.interceptor.RetryInterceptorBuilder$CircuitBreakerInterceptorBuilder:351"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.interceptor.RetryInterceptorBuilder$CircuitBreakerInterceptorBuilder:352"
      Branch Sides:
      - BranchSide: "org.springframework.retry.interceptor.RetryInterceptorBuilder$CircuitBreakerInterceptorBuilder:356"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.interceptor.RetryInterceptorBuilder$CircuitBreakerInterceptorBuilder:355"
        BranchSideFuncs:
        - "setRetryOperations(org.springframework.retry.RetryOperations)"
    - Branch String: "org.springframework.retry.interceptor.RetryInterceptorBuilder$CircuitBreakerInterceptorBuilder:358"
      Branch Sides:
      - BranchSide: "org.springframework.retry.interceptor.RetryInterceptorBuilder$CircuitBreakerInterceptorBuilder:361"
        BranchSideFuncs:
        - "setKeyGenerator(org.springframework.retry.interceptor.MethodArgumentsKeyGenerator)"
      - BranchSide: "org.springframework.retry.interceptor.RetryInterceptorBuilder$CircuitBreakerInterceptorBuilder:360"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.interceptor.RetryInterceptorBuilder$CircuitBreakerInterceptorBuilder:361"
      Branch Sides:
      - BranchSide: "org.springframework.retry.interceptor.RetryInterceptorBuilder$CircuitBreakerInterceptorBuilder:364"
        BranchSideFuncs:
        - "setLabel(java.lang.String)"
      - BranchSide: "org.springframework.retry.interceptor.RetryInterceptorBuilder$CircuitBreakerInterceptorBuilder:363"
        BranchSideFuncs:
        - "setRollbackClassifier(org.springframework.classify.Classifier)"
        - "<init>(boolean)"
    Callsites:
    - Src: "org.springframework.retry.interceptor.RetryInterceptorBuilder$CircuitBreakerInterceptorBuilder:350,1"
      Dst: "[org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor].setRecoverer(org.springframework.retry.interceptor.MethodInvocationRecoverer)"
    - Src: "org.springframework.retry.interceptor.RetryInterceptorBuilder$CircuitBreakerInterceptorBuilder:353,1"
      Dst: "[org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor].setRetryOperations(org.springframework.retry.RetryOperations)"
    - Src: "org.springframework.retry.interceptor.RetryInterceptorBuilder$CircuitBreakerInterceptorBuilder:359,1"
      Dst: "[org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor].setKeyGenerator(org.springframework.retry.interceptor.MethodArgumentsKeyGenerator)"
    - Src: "org.springframework.retry.interceptor.RetryInterceptorBuilder$CircuitBreakerInterceptorBuilder:362,1"
      Dst: "[org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor].setLabel(java.lang.String)"
    - Src: "org.springframework.retry.interceptor.RetryInterceptorBuilder$CircuitBreakerInterceptorBuilder:364,1"
      Dst: "[org.springframework.classify.BinaryExceptionClassifier].<init>(boolean)"
    - Src: "org.springframework.retry.interceptor.RetryInterceptorBuilder$CircuitBreakerInterceptorBuilder:364,1"
      Dst: "[org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor].setRollbackClassifier(org.springframework.classify.Classifier)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 10
    CyclomaticComplexity: 5
  - functionName: "[org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor].setRetryOperations(org.springframework.retry.RetryOperations)"
    functionSourceFile: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor"
    linkageType: ""
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.springframework.retry.RetryOperations"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.util.Assert].notNull(java.lang.Object,java.lang.String)"
    functionUses: 4
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor:83,1"
      Dst: "[org.springframework.util.Assert].notNull(java.lang.Object,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor].setKeyGenerator(org.springframework.retry.interceptor.MethodArgumentsKeyGenerator)"
    functionSourceFile: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor"
    linkageType: ""
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.springframework.retry.interceptor.MethodArgumentsKeyGenerator"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor].setLabel(java.lang.String)"
    functionSourceFile: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor"
    linkageType: ""
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.interceptor.RetryInterceptorBuilder$CircuitBreakerInterceptorBuilder].<init>()"
    functionSourceFile: "org.springframework.retry.interceptor.RetryInterceptorBuilder$CircuitBreakerInterceptorBuilder"
    linkageType: ""
    functionLinenumber: 367
    functionLinenumberEnd: 370
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor].<init>()"
    - "[org.springframework.retry.interceptor.RetryInterceptorBuilder].<init>(org.springframework.retry.interceptor.RetryInterceptorBuilder$1)"
    functionUses: 1
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.interceptor.RetryInterceptorBuilder$CircuitBreakerInterceptorBuilder:368,1"
      Dst: "[org.springframework.retry.interceptor.RetryInterceptorBuilder].<init>(org.springframework.retry.interceptor.RetryInterceptorBuilder$1)"
    - Src: "org.springframework.retry.interceptor.RetryInterceptorBuilder$CircuitBreakerInterceptorBuilder:314,1"
      Dst: "[org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.interceptor.RetryInterceptorBuilder$CircuitBreakerInterceptorBuilder].<init>(org.springframework.retry.interceptor.RetryInterceptorBuilder$1)"
    functionSourceFile: "org.springframework.retry.interceptor.RetryInterceptorBuilder$CircuitBreakerInterceptorBuilder"
    linkageType: ""
    functionLinenumber: 310
    functionLinenumberEnd: 312
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.springframework.retry.interceptor.RetryInterceptorBuilder$1"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.interceptor.RetryInterceptorBuilder$CircuitBreakerInterceptorBuilder].<init>()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.interceptor.RetryInterceptorBuilder$CircuitBreakerInterceptorBuilder:311,1"
      Dst: "[org.springframework.retry.interceptor.RetryInterceptorBuilder$CircuitBreakerInterceptorBuilder].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.annotation.RetryConfiguration$AnnotationClassOrMethodPointcut].matches(java.lang.reflect.Method,java.lang.Class)"
    functionSourceFile: "org.springframework.retry.annotation.RetryConfiguration$AnnotationClassOrMethodPointcut"
    linkageType: ""
    functionLinenumber: 209
    functionLinenumberEnd: 211
    functionDepth: 0
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "java.lang.reflect.Method"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.aop.support.StaticMethodMatcherPointcut].getClassFilter()"
    - "[org.springframework.aop.support.Pointcuts$GetterPointcut].matches(java.lang.reflect.Method,java.lang.Class)"
    - "[org.springframework.aop.support.AbstractRegexpMethodPointcut].matches(java.lang.reflect.Method,java.lang.Class)"
    - "[org.springframework.aop.support.NameMatchMethodPointcut].matches(java.lang.reflect.Method,java.lang.Class)"
    - "[org.springframework.aop.support.Pointcuts$SetterPointcut].matches(java.lang.reflect.Method,java.lang.Class)"
    - "[org.springframework.aop.aspectj.annotation.InstantiationModelAwarePointcutAdvisorImpl$PerTargetInstantiationModelPointcut].matches(java.lang.reflect.Method,java.lang.Class)"
    - "[org.springframework.aop.support.MethodMatchers$IntersectionMethodMatcher].matches(java.lang.reflect.Method,java.lang.Class)"
    - "[org.springframework.retry.annotation.RetryConfiguration$AnnotationClassOrMethodPointcut].matches(java.lang.reflect.Method,java.lang.Class)"
    - "[org.springframework.aop.TrueMethodMatcher].matches(java.lang.reflect.Method,java.lang.Class)"
    - "[org.springframework.aop.support.annotation.AnnotationMethodMatcher].matches(java.lang.reflect.Method,java.lang.Class)"
    - "[org.springframework.aop.support.ControlFlowPointcut].matches(java.lang.reflect.Method,java.lang.Class)"
    - "[org.springframework.cache.interceptor.CacheOperationSourcePointcut].matches(java.lang.reflect.Method,java.lang.Class)"
    - "[org.springframework.aop.aspectj.AspectJExpressionPointcut].matches(java.lang.reflect.Method,java.lang.Class)"
    - "[org.springframework.aop.aspectj.AbstractAspectJAdvice$AdviceExcludingMethodMatcher].matches(java.lang.reflect.Method,java.lang.Class)"
    - "[org.springframework.aop.support.MethodMatchers$UnionMethodMatcher].matches(java.lang.reflect.Method,java.lang.Class)"
    - "[org.springframework.aop.support.DynamicMethodMatcher].matches(java.lang.reflect.Method,java.lang.Class)"
    - "[org.springframework.aop.support.ControlFlowPointcut].matches(java.lang.Class)"
    - "[org.springframework.aop.aspectj.DeclareParentsAdvisor$1].matches(java.lang.Class)"
    - "[org.springframework.aop.support.RootClassFilter].matches(java.lang.Class)"
    - "[org.springframework.aop.TrueClassFilter].matches(java.lang.Class)"
    - "[org.springframework.aop.aspectj.TypePatternClassFilter].matches(java.lang.Class)"
    - "[org.springframework.aop.aspectj.AspectJExpressionPointcut].matches(java.lang.Class)"
    - "[org.springframework.aop.support.ClassFilters$UnionClassFilter].matches(java.lang.Class)"
    - "[org.springframework.retry.annotation.RetryConfiguration$AnnotationClassOrMethodFilter].matches(java.lang.Class)"
    - "[org.springframework.aop.support.ClassFilters$IntersectionClassFilter].matches(java.lang.Class)"
    - "[org.springframework.aop.support.annotation.AnnotationClassFilter].matches(java.lang.Class)"
    - "[org.springframework.aop.support.DefaultIntroductionAdvisor].matches(java.lang.Class)"
    - "[org.springframework.aop.ClassFilter].matches(java.lang.Class)"
    - "[org.springframework.aop.MethodMatcher].matches(java.lang.reflect.Method,java.lang.Class)"
    functionUses: 10
    ICount: 13
    EdgeCount: 27
    BranchProfiles:
    - Branch String: "org.springframework.retry.annotation.RetryConfiguration$AnnotationClassOrMethodPointcut:210"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.RetryConfiguration$AnnotationClassOrMethodPointcut:209"
        BranchSideFuncs:
        - "getClassFilter()"
        - "matches(java.lang.reflect.Method,java.lang.Class)"
        - "matches(java.lang.Class)"
    - Branch String: "org.springframework.retry.annotation.RetryConfiguration$AnnotationClassOrMethodPointcut:210"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.RetryConfiguration$AnnotationClassOrMethodPointcut:209"
        BranchSideFuncs:
        - "getClassFilter()"
        - "matches(java.lang.reflect.Method,java.lang.Class)"
        - "matches(java.lang.Class)"
    Callsites:
    - Src: "org.springframework.retry.annotation.RetryConfiguration$AnnotationClassOrMethodPointcut:210,1"
      Dst: "[org.springframework.aop.support.StaticMethodMatcherPointcut].getClassFilter()"
    - Src: "org.springframework.retry.annotation.RetryConfiguration$AnnotationClassOrMethodPointcut:210,1"
      Dst: "[org.springframework.aop.ClassFilter].matches(java.lang.Class)"
    - Src: "org.springframework.retry.annotation.RetryConfiguration$AnnotationClassOrMethodPointcut:210,1"
      Dst: "[org.springframework.aop.MethodMatcher].matches(java.lang.reflect.Method,java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[org.springframework.retry.annotation.RetryConfiguration$AnnotationClassOrMethodPointcut].equals(java.lang.Object)"
    functionSourceFile: "org.springframework.retry.annotation.RetryConfiguration$AnnotationClassOrMethodPointcut"
    linkageType: ""
    functionLinenumber: 214
    functionLinenumberEnd: 223
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.util.ObjectUtils].nullSafeEquals(java.lang.Object,java.lang.Object)"
    functionUses: 32
    ICount: 12
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.springframework.retry.annotation.RetryConfiguration$AnnotationClassOrMethodPointcut:215"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.RetryConfiguration$AnnotationClassOrMethodPointcut:218"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.annotation.RetryConfiguration$AnnotationClassOrMethodPointcut:217"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.annotation.RetryConfiguration$AnnotationClassOrMethodPointcut:218"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.RetryConfiguration$AnnotationClassOrMethodPointcut:221"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.annotation.RetryConfiguration$AnnotationClassOrMethodPointcut:220"
        BranchSideFuncs:
        - "nullSafeEquals(java.lang.Object,java.lang.Object)"
    Callsites:
    - Src: "org.springframework.retry.annotation.RetryConfiguration$AnnotationClassOrMethodPointcut:222,1"
      Dst: "[org.springframework.util.ObjectUtils].nullSafeEquals(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.support.RetryTemplateBuilder].<init>()"
    functionSourceFile: "org.springframework.retry.support.RetryTemplateBuilder"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.support.RetryTemplateBuilder:88,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.support.RetryTemplateBuilder].maxAttempts(int)"
    functionSourceFile: "org.springframework.retry.support.RetryTemplateBuilder"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "org.springframework.retry.support.RetryTemplateBuilder"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.util.Assert].isTrue(boolean,java.lang.String)"
    - "[org.springframework.util.Assert].isNull(java.lang.Object,java.lang.String)"
    - "[org.springframework.retry.policy.MaxAttemptsRetryPolicy].<init>(int)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.springframework.retry.support.RetryTemplateBuilder:111"
      Branch Sides:
      - BranchSide: "org.springframework.retry.support.RetryTemplateBuilder:111"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.support.RetryTemplateBuilder:110"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.springframework.retry.support.RetryTemplateBuilder:111,1"
      Dst: "[org.springframework.util.Assert].isTrue(boolean,java.lang.String)"
    - Src: "org.springframework.retry.support.RetryTemplateBuilder:112,1"
      Dst: "[org.springframework.util.Assert].isNull(java.lang.Object,java.lang.String)"
    - Src: "org.springframework.retry.support.RetryTemplateBuilder:113,1"
      Dst: "[org.springframework.retry.policy.MaxAttemptsRetryPolicy].<init>(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[org.springframework.retry.support.RetryTemplateBuilder].withinMillis(long)"
    functionSourceFile: "org.springframework.retry.support.RetryTemplateBuilder"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "org.springframework.retry.support.RetryTemplateBuilder"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.util.Assert].isTrue(boolean,java.lang.String)"
    - "[org.springframework.util.Assert].isNull(java.lang.Object,java.lang.String)"
    - "[org.springframework.retry.policy.TimeoutRetryPolicy].<init>()"
    - "[org.springframework.retry.policy.TimeoutRetryPolicy].setTimeout(long)"
    functionUses: 0
    ICount: 16
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.springframework.retry.support.RetryTemplateBuilder:127"
      Branch Sides:
      - BranchSide: "org.springframework.retry.support.RetryTemplateBuilder:127"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.support.RetryTemplateBuilder:126"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.springframework.retry.support.RetryTemplateBuilder:127,1"
      Dst: "[org.springframework.util.Assert].isTrue(boolean,java.lang.String)"
    - Src: "org.springframework.retry.support.RetryTemplateBuilder:128,1"
      Dst: "[org.springframework.util.Assert].isNull(java.lang.Object,java.lang.String)"
    - Src: "org.springframework.retry.support.RetryTemplateBuilder:129,1"
      Dst: "[org.springframework.retry.policy.TimeoutRetryPolicy].<init>()"
    - Src: "org.springframework.retry.support.RetryTemplateBuilder:130,1"
      Dst: "[org.springframework.retry.policy.TimeoutRetryPolicy].setTimeout(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[org.springframework.retry.policy.TimeoutRetryPolicy].<init>()"
    functionSourceFile: "org.springframework.retry.policy.TimeoutRetryPolicy"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.policy.TimeoutRetryPolicy:31,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.TimeoutRetryPolicy].setTimeout(long)"
    functionSourceFile: "org.springframework.retry.policy.TimeoutRetryPolicy"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.support.RetryTemplateBuilder].infiniteRetry()"
    functionSourceFile: "org.springframework.retry.support.RetryTemplateBuilder"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "org.springframework.retry.support.RetryTemplateBuilder"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.util.Assert].isNull(java.lang.Object,java.lang.String)"
    - "[org.springframework.retry.policy.AlwaysRetryPolicy].<init>()"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.support.RetryTemplateBuilder:144,1"
      Dst: "[org.springframework.util.Assert].isNull(java.lang.Object,java.lang.String)"
    - Src: "org.springframework.retry.support.RetryTemplateBuilder:145,1"
      Dst: "[org.springframework.retry.policy.AlwaysRetryPolicy].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.support.RetryTemplateBuilder].customPolicy(org.springframework.retry.RetryPolicy)"
    functionSourceFile: "org.springframework.retry.support.RetryTemplateBuilder"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "org.springframework.retry.support.RetryTemplateBuilder"
    argCount: 1
    argTypes:
    - "org.springframework.retry.RetryPolicy"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.util.Assert].notNull(java.lang.Object,java.lang.String)"
    - "[org.springframework.util.Assert].isNull(java.lang.Object,java.lang.String)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.support.RetryTemplateBuilder:159,1"
      Dst: "[org.springframework.util.Assert].notNull(java.lang.Object,java.lang.String)"
    - Src: "org.springframework.retry.support.RetryTemplateBuilder:160,1"
      Dst: "[org.springframework.util.Assert].isNull(java.lang.Object,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.support.RetryTemplateBuilder].exponentialBackoff(long,double,long)"
    functionSourceFile: "org.springframework.retry.support.RetryTemplateBuilder"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "org.springframework.retry.support.RetryTemplateBuilder"
    argCount: 3
    argTypes:
    - "long"
    - "double"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.support.RetryTemplateBuilder].exponentialBackoff(long,double,long,boolean)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.support.RetryTemplateBuilder:180,1"
      Dst: "[org.springframework.retry.support.RetryTemplateBuilder].exponentialBackoff(long,double,long,boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.support.RetryTemplateBuilder].exponentialBackoff(long,double,long,boolean)"
    functionSourceFile: "org.springframework.retry.support.RetryTemplateBuilder"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "org.springframework.retry.support.RetryTemplateBuilder"
    argCount: 4
    argTypes:
    - "long"
    - "double"
    - "long"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.util.Assert].isNull(java.lang.Object,java.lang.String)"
    - "[org.springframework.util.Assert].isTrue(boolean,java.lang.String)"
    - "[org.springframework.retry.backoff.ExponentialRandomBackOffPolicy].<init>()"
    - "[org.springframework.retry.backoff.ExponentialBackOffPolicy].<init>()"
    - "[org.springframework.retry.backoff.ExponentialBackOffPolicy].setInitialInterval(long)"
    - "[org.springframework.retry.backoff.ExponentialBackOffPolicy].setMultiplier(double)"
    - "[org.springframework.retry.backoff.ExponentialBackOffPolicy].setMaxInterval(long)"
    functionUses: 0
    ICount: 41
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.springframework.retry.support.RetryTemplateBuilder:201"
      Branch Sides:
      - BranchSide: "org.springframework.retry.support.RetryTemplateBuilder:200"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.support.RetryTemplateBuilder:199"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.support.RetryTemplateBuilder:202"
      Branch Sides:
      - BranchSide: "org.springframework.retry.support.RetryTemplateBuilder:201"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.support.RetryTemplateBuilder:200"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.support.RetryTemplateBuilder:203"
      Branch Sides:
      - BranchSide: "org.springframework.retry.support.RetryTemplateBuilder:202"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.support.RetryTemplateBuilder:201"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.support.RetryTemplateBuilder:204"
      Branch Sides:
      - BranchSide: "org.springframework.retry.support.RetryTemplateBuilder:205"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.support.RetryTemplateBuilder:204"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.springframework.retry.support.RetryTemplateBuilder:200,1"
      Dst: "[org.springframework.util.Assert].isNull(java.lang.Object,java.lang.String)"
    - Src: "org.springframework.retry.support.RetryTemplateBuilder:201,1"
      Dst: "[org.springframework.util.Assert].isTrue(boolean,java.lang.String)"
    - Src: "org.springframework.retry.support.RetryTemplateBuilder:204,1"
      Dst: "[org.springframework.retry.backoff.ExponentialRandomBackOffPolicy].<init>()"
    - Src: "org.springframework.retry.support.RetryTemplateBuilder:205,1"
      Dst: "[org.springframework.retry.backoff.ExponentialBackOffPolicy].<init>()"
    - Src: "org.springframework.retry.support.RetryTemplateBuilder:206,1"
      Dst: "[org.springframework.retry.backoff.ExponentialBackOffPolicy].setInitialInterval(long)"
    - Src: "org.springframework.retry.support.RetryTemplateBuilder:207,1"
      Dst: "[org.springframework.retry.backoff.ExponentialBackOffPolicy].setMultiplier(double)"
    - Src: "org.springframework.retry.support.RetryTemplateBuilder:208,1"
      Dst: "[org.springframework.retry.backoff.ExponentialBackOffPolicy].setMaxInterval(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 13
    CyclomaticComplexity: 5
  - functionName: "[org.springframework.retry.support.RetryTemplateBuilder].fixedBackoff(long)"
    functionSourceFile: "org.springframework.retry.support.RetryTemplateBuilder"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "org.springframework.retry.support.RetryTemplateBuilder"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.util.Assert].isNull(java.lang.Object,java.lang.String)"
    - "[org.springframework.util.Assert].isTrue(boolean,java.lang.String)"
    - "[org.springframework.retry.backoff.FixedBackOffPolicy].<init>()"
    - "[org.springframework.retry.backoff.FixedBackOffPolicy].setBackOffPeriod(long)"
    functionUses: 0
    ICount: 16
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.springframework.retry.support.RetryTemplateBuilder:221"
      Branch Sides:
      - BranchSide: "org.springframework.retry.support.RetryTemplateBuilder:220"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.support.RetryTemplateBuilder:219"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.springframework.retry.support.RetryTemplateBuilder:220,1"
      Dst: "[org.springframework.util.Assert].isNull(java.lang.Object,java.lang.String)"
    - Src: "org.springframework.retry.support.RetryTemplateBuilder:221,1"
      Dst: "[org.springframework.util.Assert].isTrue(boolean,java.lang.String)"
    - Src: "org.springframework.retry.support.RetryTemplateBuilder:222,1"
      Dst: "[org.springframework.retry.backoff.FixedBackOffPolicy].<init>()"
    - Src: "org.springframework.retry.support.RetryTemplateBuilder:223,1"
      Dst: "[org.springframework.retry.backoff.FixedBackOffPolicy].setBackOffPeriod(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[org.springframework.retry.support.RetryTemplateBuilder].uniformRandomBackoff(long,long)"
    functionSourceFile: "org.springframework.retry.support.RetryTemplateBuilder"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "org.springframework.retry.support.RetryTemplateBuilder"
    argCount: 2
    argTypes:
    - "long"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.util.Assert].isNull(java.lang.Object,java.lang.String)"
    - "[org.springframework.util.Assert].isTrue(boolean,java.lang.String)"
    - "[org.springframework.retry.backoff.UniformRandomBackOffPolicy].<init>()"
    - "[org.springframework.retry.backoff.UniformRandomBackOffPolicy].setMinBackOffPeriod(long)"
    - "[org.springframework.retry.backoff.UniformRandomBackOffPolicy].setMaxBackOffPeriod(long)"
    functionUses: 0
    ICount: 32
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.springframework.retry.support.RetryTemplateBuilder:237"
      Branch Sides:
      - BranchSide: "org.springframework.retry.support.RetryTemplateBuilder:236"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.support.RetryTemplateBuilder:235"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.support.RetryTemplateBuilder:238"
      Branch Sides:
      - BranchSide: "org.springframework.retry.support.RetryTemplateBuilder:237"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.support.RetryTemplateBuilder:236"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.support.RetryTemplateBuilder:239"
      Branch Sides:
      - BranchSide: "org.springframework.retry.support.RetryTemplateBuilder:238"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.support.RetryTemplateBuilder:237"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.springframework.retry.support.RetryTemplateBuilder:236,1"
      Dst: "[org.springframework.util.Assert].isNull(java.lang.Object,java.lang.String)"
    - Src: "org.springframework.retry.support.RetryTemplateBuilder:237,1"
      Dst: "[org.springframework.util.Assert].isTrue(boolean,java.lang.String)"
    - Src: "org.springframework.retry.support.RetryTemplateBuilder:240,1"
      Dst: "[org.springframework.retry.backoff.UniformRandomBackOffPolicy].<init>()"
    - Src: "org.springframework.retry.support.RetryTemplateBuilder:241,1"
      Dst: "[org.springframework.retry.backoff.UniformRandomBackOffPolicy].setMinBackOffPeriod(long)"
    - Src: "org.springframework.retry.support.RetryTemplateBuilder:242,1"
      Dst: "[org.springframework.retry.backoff.UniformRandomBackOffPolicy].setMaxBackOffPeriod(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 10
    CyclomaticComplexity: 4
  - functionName: "[org.springframework.retry.support.RetryTemplateBuilder].noBackoff()"
    functionSourceFile: "org.springframework.retry.support.RetryTemplateBuilder"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "org.springframework.retry.support.RetryTemplateBuilder"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.util.Assert].isNull(java.lang.Object,java.lang.String)"
    - "[org.springframework.retry.backoff.NoBackOffPolicy].<init>()"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.support.RetryTemplateBuilder:253,1"
      Dst: "[org.springframework.util.Assert].isNull(java.lang.Object,java.lang.String)"
    - Src: "org.springframework.retry.support.RetryTemplateBuilder:254,1"
      Dst: "[org.springframework.retry.backoff.NoBackOffPolicy].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.support.RetryTemplateBuilder].customBackoff(org.springframework.retry.backoff.BackOffPolicy)"
    functionSourceFile: "org.springframework.retry.support.RetryTemplateBuilder"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "org.springframework.retry.support.RetryTemplateBuilder"
    argCount: 1
    argTypes:
    - "org.springframework.retry.backoff.BackOffPolicy"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.util.Assert].isNull(java.lang.Object,java.lang.String)"
    - "[org.springframework.util.Assert].notNull(java.lang.Object,java.lang.String)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.support.RetryTemplateBuilder:264,1"
      Dst: "[org.springframework.util.Assert].isNull(java.lang.Object,java.lang.String)"
    - Src: "org.springframework.retry.support.RetryTemplateBuilder:265,1"
      Dst: "[org.springframework.util.Assert].notNull(java.lang.Object,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.support.RetryTemplateBuilder].retryOn(java.lang.Class<?\
      \ extends Throwable>)"
    functionSourceFile: "org.springframework.retry.support.RetryTemplateBuilder"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "org.springframework.retry.support.RetryTemplateBuilder"
    argCount: 1
    argTypes:
    - "java.lang.Class<? extends Throwable>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.support.RetryTemplateBuilder].classifierBuilder()"
    - "[org.springframework.classify.BinaryExceptionClassifierBuilder].retryOn(java.lang.Class)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.support.RetryTemplateBuilder:287,1"
      Dst: "[org.springframework.retry.support.RetryTemplateBuilder].classifierBuilder()"
    - Src: "org.springframework.retry.support.RetryTemplateBuilder:287,1"
      Dst: "[org.springframework.classify.BinaryExceptionClassifierBuilder].retryOn(java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.support.RetryTemplateBuilder].classifierBuilder()"
    functionSourceFile: "org.springframework.retry.support.RetryTemplateBuilder"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "org.springframework.classify.BinaryExceptionClassifierBuilder"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.classify.BinaryExceptionClassifierBuilder].<init>()"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.springframework.retry.support.RetryTemplateBuilder:453"
      Branch Sides:
      - BranchSide: "org.springframework.retry.support.RetryTemplateBuilder:456"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.support.RetryTemplateBuilder:455"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.springframework.retry.support.RetryTemplateBuilder:454,1"
      Dst: "[org.springframework.classify.BinaryExceptionClassifierBuilder].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[org.springframework.retry.support.RetryTemplateBuilder].notRetryOn(java.lang.Class<?\
      \ extends Throwable>)"
    functionSourceFile: "org.springframework.retry.support.RetryTemplateBuilder"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "org.springframework.retry.support.RetryTemplateBuilder"
    argCount: 1
    argTypes:
    - "java.lang.Class<? extends Throwable>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.support.RetryTemplateBuilder].classifierBuilder()"
    - "[org.springframework.classify.BinaryExceptionClassifierBuilder].notRetryOn(java.lang.Class)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.support.RetryTemplateBuilder:306,1"
      Dst: "[org.springframework.retry.support.RetryTemplateBuilder].classifierBuilder()"
    - Src: "org.springframework.retry.support.RetryTemplateBuilder:306,1"
      Dst: "[org.springframework.classify.BinaryExceptionClassifierBuilder].notRetryOn(java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.support.RetryTemplateBuilder].retryOn(java.util.List<Class<?\
      \ extends Throwable>>)"
    functionSourceFile: "org.springframework.retry.support.RetryTemplateBuilder"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "org.springframework.retry.support.RetryTemplateBuilder"
    argCount: 1
    argTypes:
    - "java.util.List<Class<? extends Throwable>>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[org.springframework.retry.support.RetryTemplateBuilder].classifierBuilder()"
    - "[org.springframework.classify.BinaryExceptionClassifierBuilder].retryOn(java.lang.Class)"
    functionUses: 0
    ICount: 11
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.springframework.retry.support.RetryTemplateBuilder:326"
      Branch Sides:
      - BranchSide: "org.springframework.retry.support.RetryTemplateBuilder:329"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.support.RetryTemplateBuilder:328"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.springframework.retry.support.RetryTemplateBuilder:326,1"
      Dst: "[java.util.List].iterator()"
    - Src: "org.springframework.retry.support.RetryTemplateBuilder:326,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "org.springframework.retry.support.RetryTemplateBuilder:326,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "org.springframework.retry.support.RetryTemplateBuilder:327,1"
      Dst: "[org.springframework.retry.support.RetryTemplateBuilder].classifierBuilder()"
    - Src: "org.springframework.retry.support.RetryTemplateBuilder:327,1"
      Dst: "[org.springframework.classify.BinaryExceptionClassifierBuilder].retryOn(java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[org.springframework.retry.support.RetryTemplateBuilder].notRetryOn(java.util.List<Class<?\
      \ extends Throwable>>)"
    functionSourceFile: "org.springframework.retry.support.RetryTemplateBuilder"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "org.springframework.retry.support.RetryTemplateBuilder"
    argCount: 1
    argTypes:
    - "java.util.List<Class<? extends Throwable>>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[org.springframework.retry.support.RetryTemplateBuilder].classifierBuilder()"
    - "[org.springframework.classify.BinaryExceptionClassifierBuilder].notRetryOn(java.lang.Class)"
    functionUses: 0
    ICount: 11
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.springframework.retry.support.RetryTemplateBuilder:348"
      Branch Sides:
      - BranchSide: "org.springframework.retry.support.RetryTemplateBuilder:351"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.support.RetryTemplateBuilder:350"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.springframework.retry.support.RetryTemplateBuilder:348,1"
      Dst: "[java.util.List].iterator()"
    - Src: "org.springframework.retry.support.RetryTemplateBuilder:348,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "org.springframework.retry.support.RetryTemplateBuilder:348,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "org.springframework.retry.support.RetryTemplateBuilder:349,1"
      Dst: "[org.springframework.retry.support.RetryTemplateBuilder].classifierBuilder()"
    - Src: "org.springframework.retry.support.RetryTemplateBuilder:349,1"
      Dst: "[org.springframework.classify.BinaryExceptionClassifierBuilder].notRetryOn(java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[org.springframework.retry.support.RetryTemplateBuilder].traversingCauses()"
    functionSourceFile: "org.springframework.retry.support.RetryTemplateBuilder"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "org.springframework.retry.support.RetryTemplateBuilder"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.support.RetryTemplateBuilder].classifierBuilder()"
    - "[org.springframework.classify.BinaryExceptionClassifierBuilder].traversingCauses()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.support.RetryTemplateBuilder:370,1"
      Dst: "[org.springframework.retry.support.RetryTemplateBuilder].classifierBuilder()"
    - Src: "org.springframework.retry.support.RetryTemplateBuilder:370,1"
      Dst: "[org.springframework.classify.BinaryExceptionClassifierBuilder].traversingCauses()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.support.RetryTemplateBuilder].withListener(org.springframework.retry.RetryListener)"
    functionSourceFile: "org.springframework.retry.support.RetryTemplateBuilder"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "org.springframework.retry.support.RetryTemplateBuilder"
    argCount: 1
    argTypes:
    - "org.springframework.retry.RetryListener"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.util.Assert].notNull(java.lang.Object,java.lang.String)"
    - "[org.springframework.retry.support.RetryTemplateBuilder].listenersList()"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.support.RetryTemplateBuilder:384,1"
      Dst: "[org.springframework.util.Assert].notNull(java.lang.Object,java.lang.String)"
    - Src: "org.springframework.retry.support.RetryTemplateBuilder:385,1"
      Dst: "[org.springframework.retry.support.RetryTemplateBuilder].listenersList()"
    - Src: "org.springframework.retry.support.RetryTemplateBuilder:385,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.support.RetryTemplateBuilder].listenersList()"
    functionSourceFile: "org.springframework.retry.support.RetryTemplateBuilder"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].<init>()"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.springframework.retry.support.RetryTemplateBuilder:460"
      Branch Sides:
      - BranchSide: "org.springframework.retry.support.RetryTemplateBuilder:463"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.support.RetryTemplateBuilder:462"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.springframework.retry.support.RetryTemplateBuilder:461,1"
      Dst: "[java.util.ArrayList].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[org.springframework.retry.support.RetryTemplateBuilder].withListeners(java.util.List<RetryListener>)"
    functionSourceFile: "org.springframework.retry.support.RetryTemplateBuilder"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "org.springframework.retry.support.RetryTemplateBuilder"
    argCount: 1
    argTypes:
    - "java.util.List<RetryListener>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[org.springframework.util.Assert].notNull(java.lang.Object,java.lang.String)"
    - "[org.springframework.retry.support.RetryTemplateBuilder].listenersList()"
    - "[java.util.List].addAll(java.util.Collection)"
    functionUses: 0
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.springframework.retry.support.RetryTemplateBuilder:397"
      Branch Sides:
      - BranchSide: "org.springframework.retry.support.RetryTemplateBuilder:400"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.support.RetryTemplateBuilder:399"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.springframework.retry.support.RetryTemplateBuilder:397,1"
      Dst: "[java.util.List].iterator()"
    - Src: "org.springframework.retry.support.RetryTemplateBuilder:397,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "org.springframework.retry.support.RetryTemplateBuilder:397,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "org.springframework.retry.support.RetryTemplateBuilder:398,1"
      Dst: "[org.springframework.util.Assert].notNull(java.lang.Object,java.lang.String)"
    - Src: "org.springframework.retry.support.RetryTemplateBuilder:400,1"
      Dst: "[org.springframework.retry.support.RetryTemplateBuilder].listenersList()"
    - Src: "org.springframework.retry.support.RetryTemplateBuilder:400,1"
      Dst: "[java.util.List].addAll(java.util.Collection)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[org.springframework.retry.support.RetryTemplateBuilder].build()"
    functionSourceFile: "org.springframework.retry.support.RetryTemplateBuilder"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "org.springframework.retry.support.RetryTemplate"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.support.RetryTemplate].<init>()"
    - "[org.springframework.classify.BinaryExceptionClassifierBuilder].build()"
    - "[org.springframework.classify.BinaryExceptionClassifier].defaultClassifier()"
    - "[org.springframework.retry.policy.MaxAttemptsRetryPolicy].<init>()"
    - "[org.springframework.retry.policy.CompositeRetryPolicy].<init>()"
    - "[org.springframework.retry.policy.BinaryExceptionClassifierRetryPolicy].<init>(org.springframework.classify.BinaryExceptionClassifier)"
    - "[org.springframework.retry.policy.CompositeRetryPolicy].setPolicies(org.springframework.retry.RetryPolicy[])"
    - "[org.springframework.retry.support.RetryTemplate].setRetryPolicy(org.springframework.retry.RetryPolicy)"
    - "[org.springframework.retry.backoff.NoBackOffPolicy].<init>()"
    - "[org.springframework.retry.support.RetryTemplate].setBackOffPolicy(org.springframework.retry.backoff.BackOffPolicy)"
    - "[java.util.List].toArray(java.lang.Object[])"
    - "[org.springframework.retry.support.RetryTemplate].setListeners(org.springframework.retry.RetryListener[])"
    functionUses: 0
    ICount: 40
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.springframework.retry.support.RetryTemplateBuilder:420"
      Branch Sides:
      - BranchSide: "org.springframework.retry.support.RetryTemplateBuilder:421"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.support.RetryTemplateBuilder:420"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.support.RetryTemplateBuilder:425"
      Branch Sides:
      - BranchSide: "org.springframework.retry.support.RetryTemplateBuilder:429"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.support.RetryTemplateBuilder:428"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.support.RetryTemplateBuilder:436"
      Branch Sides:
      - BranchSide: "org.springframework.retry.support.RetryTemplateBuilder:439"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.support.RetryTemplateBuilder:438"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.support.RetryTemplateBuilder:443"
      Branch Sides:
      - BranchSide: "org.springframework.retry.support.RetryTemplateBuilder:447"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.support.RetryTemplateBuilder:446"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.springframework.retry.support.RetryTemplateBuilder:416,1"
      Dst: "[org.springframework.retry.support.RetryTemplate].<init>()"
    - Src: "org.springframework.retry.support.RetryTemplateBuilder:420,1"
      Dst: "[org.springframework.classify.BinaryExceptionClassifierBuilder].build()"
    - Src: "org.springframework.retry.support.RetryTemplateBuilder:421,1"
      Dst: "[org.springframework.classify.BinaryExceptionClassifier].defaultClassifier()"
    - Src: "org.springframework.retry.support.RetryTemplateBuilder:426,1"
      Dst: "[org.springframework.retry.policy.MaxAttemptsRetryPolicy].<init>()"
    - Src: "org.springframework.retry.support.RetryTemplateBuilder:429,1"
      Dst: "[org.springframework.retry.policy.CompositeRetryPolicy].<init>()"
    - Src: "org.springframework.retry.support.RetryTemplateBuilder:430,1"
      Dst: "[org.springframework.retry.policy.BinaryExceptionClassifierRetryPolicy].<init>(org.springframework.classify.BinaryExceptionClassifier)"
    - Src: "org.springframework.retry.support.RetryTemplateBuilder:430,1"
      Dst: "[org.springframework.retry.policy.CompositeRetryPolicy].setPolicies(org.springframework.retry.RetryPolicy[])"
    - Src: "org.springframework.retry.support.RetryTemplateBuilder:432,1"
      Dst: "[org.springframework.retry.support.RetryTemplate].setRetryPolicy(org.springframework.retry.RetryPolicy)"
    - Src: "org.springframework.retry.support.RetryTemplateBuilder:437,1"
      Dst: "[org.springframework.retry.backoff.NoBackOffPolicy].<init>()"
    - Src: "org.springframework.retry.support.RetryTemplateBuilder:439,1"
      Dst: "[org.springframework.retry.support.RetryTemplate].setBackOffPolicy(org.springframework.retry.backoff.BackOffPolicy)"
    - Src: "org.springframework.retry.support.RetryTemplateBuilder:444,1"
      Dst: "[java.util.List].toArray(java.lang.Object[])"
    - Src: "org.springframework.retry.support.RetryTemplateBuilder:444,1"
      Dst: "[org.springframework.retry.support.RetryTemplate].setListeners(org.springframework.retry.RetryListener[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 10
    CyclomaticComplexity: 5
  - functionName: "[org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor].<init>()"
    functionSourceFile: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor"
    linkageType: ""
    functionLinenumber: 75
    functionLinenumberEnd: 81
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].getClass()"
    - "[org.apache.commons.logging.LogFactory].getLog(java.lang.Class)"
    - "[java.lang.Object].<init>()"
    - "[org.springframework.retry.support.RetryTemplate].<init>()"
    - "[org.springframework.retry.policy.NeverRetryPolicy].<init>()"
    - "[org.springframework.retry.support.RetryTemplate].setRetryPolicy(org.springframework.retry.RetryPolicy)"
    functionUses: 2
    ICount: 12
    EdgeCount: 6
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor:76,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor:60,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor:60,1"
      Dst: "[org.apache.commons.logging.LogFactory].getLog(java.lang.Class)"
    - Src: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor:77,1"
      Dst: "[org.springframework.retry.support.RetryTemplate].<init>()"
    - Src: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor:78,1"
      Dst: "[org.springframework.retry.policy.NeverRetryPolicy].<init>()"
    - Src: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor:78,1"
      Dst: "[org.springframework.retry.support.RetryTemplate].setRetryPolicy(org.springframework.retry.RetryPolicy)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor].setRecoverer(org.springframework.retry.interceptor.MethodInvocationRecoverer<?>)"
    functionSourceFile: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor"
    linkageType: ""
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.springframework.retry.interceptor.MethodInvocationRecoverer<?>"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor].setRollbackClassifier(org.springframework.classify.Classifier<?\
      \ super Throwable,Boolean>)"
    functionSourceFile: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor"
    linkageType: ""
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.springframework.classify.Classifier<? super Throwable,Boolean>"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor].setNewItemIdentifier(org.springframework.retry.interceptor.NewMethodArgumentsIdentifier)"
    functionSourceFile: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor"
    linkageType: ""
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.springframework.retry.interceptor.NewMethodArgumentsIdentifier"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor].setUseRawKey(boolean)"
    functionSourceFile: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor].invoke(org.aopalliance.intercept.MethodInvocation)"
    functionSourceFile: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor"
    linkageType: ""
    functionLinenumber: 149
    functionLinenumberEnd: 174
    functionDepth: 2
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "org.aopalliance.intercept.MethodInvocation"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.apache.commons.logging.impl.AvalonLogger].isDebugEnabled()"
    - "[org.apache.commons.logging.impl.LogKitLogger].isDebugEnabled()"
    - "[org.apache.commons.logging.impl.SimpleLog].isDebugEnabled()"
    - "[org.apache.commons.logging.impl.Jdk13LumberjackLogger].isDebugEnabled()"
    - "[org.apache.commons.logging.impl.Log4JLogger].isDebugEnabled()"
    - "[org.apache.commons.logging.impl.Jdk14Logger].isDebugEnabled()"
    - "[org.apache.commons.logging.impl.NoOpLog].isDebugEnabled()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[org.apache.commons.logging.impl.AvalonLogger].debug(java.lang.Object)"
    - "[org.apache.commons.logging.impl.Jdk13LumberjackLogger].debug(java.lang.Object)"
    - "[org.apache.commons.logging.impl.Jdk14Logger].debug(java.lang.Object)"
    - "[org.apache.commons.logging.impl.Log4JLogger].debug(java.lang.Object)"
    - "[org.apache.commons.logging.impl.SimpleLog].debug(java.lang.Object)"
    - "[org.apache.commons.logging.impl.LogKitLogger].debug(java.lang.Object)"
    - "[org.apache.commons.logging.impl.NoOpLog].debug(java.lang.Object)"
    - "[org.springframework.aop.framework.ReflectiveMethodInvocation].getStaticPart()"
    - "[org.springframework.util.ObjectUtils].getIdentityHexString(java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    - "[org.springframework.aop.framework.ReflectiveMethodInvocation].getArguments()"
    - "[java.util.Arrays].asList(java.lang.Object[])"
    - "[org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor].createKey(org.aopalliance.intercept.MethodInvocation,java.lang.Object)"
    - "[org.springframework.retry.support.DefaultRetryState].<init>(java.lang.Object,boolean,org.springframework.classify.Classifier)"
    - "[org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor$StatefulMethodInvocationRetryCallback].<init>(org.aopalliance.intercept.MethodInvocation,java.lang.String,org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor$1)"
    - "[org.springframework.retry.support.RetryTemplate].execute(org.springframework.retry.RetryCallback,org.springframework.retry.RecoveryCallback,org.springframework.retry.RetryState)"
    - "[org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor$ItemRecovererCallback].<init>(java.lang.Object[],org.springframework.retry.interceptor.MethodInvocationRecoverer,org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor$1)"
    - "[org.apache.commons.logging.Log].isDebugEnabled()"
    - "[org.aopalliance.intercept.Joinpoint].getStaticPart()"
    - "[org.apache.commons.logging.Log].debug(java.lang.Object)"
    - "[org.aopalliance.intercept.Invocation].getArguments()"
    - "[org.springframework.retry.interceptor.NewMethodArgumentsIdentifier].isNew(java.lang.Object[])"
    - "[org.springframework.retry.RetryOperations].execute(org.springframework.retry.RetryCallback,org.springframework.retry.RecoveryCallback,org.springframework.retry.RetryState)"
    functionUses: 3
    ICount: 58
    EdgeCount: 49
    BranchProfiles:
    - Branch String: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor:150"
      Branch Sides:
      - BranchSide: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor:155"
        BranchSideFuncs:
        - "getStaticPart()"
      - BranchSide: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor:154"
        BranchSideFuncs:
        - "getArguments()"
        - "asList(java.lang.Object[])"
    - Branch String: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor:157"
      Branch Sides:
      - BranchSide: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor:161"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor:160"
        BranchSideFuncs:
        - "createKey(org.aopalliance.intercept.MethodInvocation,java.lang.Object)"
        - "<init>(java.lang.Object,boolean,org.springframework.classify.Classifier)"
    - Branch String: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor:162"
      Branch Sides:
      - BranchSide: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor:163"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor:162"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor:163"
      Branch Sides:
      - BranchSide: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor:163"
        BranchSideFuncs:
        - "execute(org.springframework.retry.RetryCallback,org.springframework.retry.RecoveryCallback,org.springframework.retry.RetryState)"
        - "<init>(java.lang.Object,boolean,org.springframework.classify.Classifier)"
        - "<init>(org.aopalliance.intercept.MethodInvocation,java.lang.String,org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor$1)"
        - "<init>(java.lang.Object[],org.springframework.retry.interceptor.MethodInvocationRecoverer,org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor$1)"
      - BranchSide: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor:162"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor:167"
      Branch Sides:
      - BranchSide: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor:162"
        BranchSideFuncs:
        - "isDebugEnabled()"
        - "execute(org.springframework.retry.RetryCallback,org.springframework.retry.RecoveryCallback,org.springframework.retry.RetryState)"
        - "<init>(org.aopalliance.intercept.MethodInvocation,java.lang.String,org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor$1)"
        - "<init>(java.lang.Object[],org.springframework.retry.interceptor.MethodInvocationRecoverer,org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor$1)"
      - BranchSide: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor:161"
        BranchSideFuncs:
        - "execute(org.springframework.retry.RetryCallback,org.springframework.retry.RecoveryCallback,org.springframework.retry.RetryState)"
        - "<init>(java.lang.Object,boolean,org.springframework.classify.Classifier)"
        - "<init>(org.aopalliance.intercept.MethodInvocation,java.lang.String,org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor$1)"
        - "<init>(java.lang.Object[],org.springframework.retry.interceptor.MethodInvocationRecoverer,org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor$1)"
    - Branch String: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor:169"
      Branch Sides:
      - BranchSide: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor:173"
        BranchSideFuncs:
        - "debug(java.lang.Object)"
        - "append(java.lang.String)"
        - "append(java.lang.Object)"
        - "toString()"
        - "<init>()"
      - BranchSide: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor:172"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor:150,1"
      Dst: "[org.apache.commons.logging.Log].isDebugEnabled()"
    - Src: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor:151,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor:151,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor:151,1"
      Dst: "[org.aopalliance.intercept.Joinpoint].getStaticPart()"
    - Src: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor:151,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor:152,1"
      Dst: "[org.springframework.util.ObjectUtils].getIdentityHexString(java.lang.Object)"
    - Src: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor:152,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor:151,1"
      Dst: "[org.apache.commons.logging.Log].debug(java.lang.Object)"
    - Src: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor:155,1"
      Dst: "[org.aopalliance.intercept.Invocation].getArguments()"
    - Src: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor:156,1"
      Dst: "[java.util.Arrays].asList(java.lang.Object[])"
    - Src: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor:161,1"
      Dst: "[org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor].createKey(org.aopalliance.intercept.MethodInvocation,java.lang.Object)"
    - Src: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor:163,1"
      Dst: "[org.springframework.retry.interceptor.NewMethodArgumentsIdentifier].isNew(java.lang.Object[])"
    - Src: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor:162,1"
      Dst: "[org.springframework.retry.support.DefaultRetryState].<init>(java.lang.Object,boolean,org.springframework.classify.Classifier)"
    - Src: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor:166,1"
      Dst: "[org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor$StatefulMethodInvocationRetryCallback].<init>(org.aopalliance.intercept.MethodInvocation,java.lang.String,org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor$1)"
    - Src: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor:167,1"
      Dst: "[org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor$ItemRecovererCallback].<init>(java.lang.Object[],org.springframework.retry.interceptor.MethodInvocationRecoverer,org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor$1)"
    - Src: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor:166,1"
      Dst: "[org.springframework.retry.RetryOperations].execute(org.springframework.retry.RetryCallback,org.springframework.retry.RecoveryCallback,org.springframework.retry.RetryState)"
    JavaMethodInfo:
      exceptions:
      - "java.lang.Throwable"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 14
    CyclomaticComplexity: 7
  - functionName: "[org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor].createKey(org.aopalliance.intercept.MethodInvocation,java.lang.Object)"
    functionSourceFile: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor"
    linkageType: ""
    functionLinenumber: 177
    functionLinenumberEnd: 192
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "org.aopalliance.intercept.MethodInvocation"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.aop.framework.ReflectiveMethodInvocation].getArguments()"
    - "[org.springframework.retry.interceptor.FixedKeyGenerator].getKey(java.lang.Object[])"
    - "[org.springframework.aop.framework.ReflectiveMethodInvocation].getMethod()"
    - "[org.springframework.util.StringUtils].hasText(java.lang.String)"
    - "[java.lang.reflect.Method].toGenericString()"
    - "[java.util.Arrays].asList(java.lang.Object[])"
    - "[org.aopalliance.intercept.Invocation].getArguments()"
    - "[org.springframework.retry.interceptor.MethodArgumentsKeyGenerator].getKey(java.lang.Object[])"
    - "[org.aopalliance.intercept.MethodInvocation].getMethod()"
    functionUses: 1
    ICount: 26
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor:179"
      Branch Sides:
      - BranchSide: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor:182"
        BranchSideFuncs:
        - "getArguments()"
        - "getKey(java.lang.Object[])"
      - BranchSide: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor:181"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor:182"
      Branch Sides:
      - BranchSide: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor:186"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor:187"
      Branch Sides:
      - BranchSide: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor:190"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor:189"
        BranchSideFuncs:
        - "toGenericString()"
        - "getMethod()"
        - "hasText(java.lang.String)"
    - Branch String: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor:190"
      Branch Sides:
      - BranchSide: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor:190"
        BranchSideFuncs:
        - "asList(java.lang.Object[])"
      - BranchSide: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor:189"
        BranchSideFuncs:
        - "toGenericString()"
        - "getMethod()"
        - "hasText(java.lang.String)"
    Callsites:
    - Src: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor:180,1"
      Dst: "[org.aopalliance.intercept.Invocation].getArguments()"
    - Src: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor:180,1"
      Dst: "[org.springframework.retry.interceptor.MethodArgumentsKeyGenerator].getKey(java.lang.Object[])"
    - Src: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor:190,1"
      Dst: "[org.springframework.util.StringUtils].hasText(java.lang.String)"
    - Src: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor:190,1"
      Dst: "[org.aopalliance.intercept.MethodInvocation].getMethod()"
    - Src: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor:190,1"
      Dst: "[java.lang.reflect.Method].toGenericString()"
    - Src: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor:191,1"
      Dst: "[java.util.Arrays].asList(java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 10
    CyclomaticComplexity: 3
  - functionName: "[org.springframework.retry.support.DefaultRetryState].<init>(java.lang.Object,boolean,org.springframework.classify.Classifier)"
    functionSourceFile: "org.springframework.retry.support.DefaultRetryState"
    linkageType: ""
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "boolean"
    - "org.springframework.classify.Classifier"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 9
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.support.DefaultRetryState:48,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor$StatefulMethodInvocationRetryCallback].<init>(org.aopalliance.intercept.MethodInvocation,java.lang.String,org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor$1)"
    functionSourceFile: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor$StatefulMethodInvocationRetryCallback"
    linkageType: ""
    functionLinenumber: 197
    functionLinenumberEnd: 199
    functionDepth: 1
    returnType: "void"
    argCount: 3
    argTypes:
    - "org.aopalliance.intercept.MethodInvocation"
    - "java.lang.String"
    - "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor$1"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor$StatefulMethodInvocationRetryCallback].<init>(org.aopalliance.intercept.MethodInvocation,java.lang.String)"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor$StatefulMethodInvocationRetryCallback:198,1"
      Dst: "[org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor$StatefulMethodInvocationRetryCallback].<init>(org.aopalliance.intercept.MethodInvocation,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor$StatefulMethodInvocationRetryCallback].<init>(org.aopalliance.intercept.MethodInvocation,java.lang.String)"
    functionSourceFile: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor$StatefulMethodInvocationRetryCallback"
    linkageType: ""
    functionLinenumber: 201
    functionLinenumberEnd: 204
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "org.aopalliance.intercept.MethodInvocation"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.interceptor.MethodInvocationRetryCallback].<init>(org.aopalliance.intercept.MethodInvocation,java.lang.String)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor$StatefulMethodInvocationRetryCallback:202,1"
      Dst: "[org.springframework.retry.interceptor.MethodInvocationRetryCallback].<init>(org.aopalliance.intercept.MethodInvocation,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.RetryCacheCapacityExceededException].<init>(java.lang.String)"
    functionSourceFile: "org.springframework.retry.policy.RetryCacheCapacityExceededException"
    linkageType: ""
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.RetryException].<init>(java.lang.String)"
    functionUses: 2
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.policy.RetryCacheCapacityExceededException:38,1"
      Dst: "[org.springframework.retry.RetryException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.RetryCacheCapacityExceededException].<init>(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "org.springframework.retry.policy.RetryCacheCapacityExceededException"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.RetryException].<init>(java.lang.String,java.lang.Throwable)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.policy.RetryCacheCapacityExceededException:47,1"
      Dst: "[org.springframework.retry.RetryException].<init>(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor$StatefulMethodInvocationRetryCallback].doWithRetry(org.springframework.retry.RetryContext)"
    functionSourceFile: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor$StatefulMethodInvocationRetryCallback"
    linkageType: ""
    functionLinenumber: 206
    functionLinenumberEnd: 219
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "org.springframework.retry.RetryContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.core.AttributeAccessorSupport].setAttribute(java.lang.String,java.lang.Object)"
    - "[org.springframework.aop.framework.ReflectiveMethodInvocation].proceed()"
    - "[java.lang.IllegalStateException].<init>(java.lang.Throwable)"
    - "[org.springframework.core.AttributeAccessor].setAttribute(java.lang.String,java.lang.Object)"
    - "[org.aopalliance.intercept.Joinpoint].proceed()"
    functionUses: 1
    ICount: 15
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor$StatefulMethodInvocationRetryCallback:207,1"
      Dst: "[org.springframework.core.AttributeAccessor].setAttribute(java.lang.String,java.lang.Object)"
    - Src: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor$StatefulMethodInvocationRetryCallback:209,1"
      Dst: "[org.aopalliance.intercept.Joinpoint].proceed()"
    - Src: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor$StatefulMethodInvocationRetryCallback:218,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.Throwable)"
    JavaMethodInfo:
      exceptions:
      - "java.lang.Exception"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.annotation.RetryConfiguration$AnnotationMethodsResolver$1].doWith(java.lang.reflect.Method)"
    functionSourceFile: "org.springframework.retry.annotation.RetryConfiguration$AnnotationMethodsResolver$1"
    linkageType: ""
    functionLinenumber: 255
    functionLinenumberEnd: 265
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.reflect.Method"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.atomic.AtomicBoolean].get()"
    - "[org.springframework.core.annotation.AnnotationUtils].findAnnotation(java.lang.reflect.Method,java.lang.Class)"
    - "[org.springframework.retry.annotation.RetryConfiguration$AnnotationMethodsResolver].access$000(org.springframework.retry.'annotation'.RetryConfiguration$AnnotationMethodsResolver)"
    - "[java.util.concurrent.atomic.AtomicBoolean].set(boolean)"
    functionUses: 2
    ICount: 13
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "org.springframework.retry.annotation.RetryConfiguration$AnnotationMethodsResolver$1:256"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.RetryConfiguration$AnnotationMethodsResolver$1:260"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.annotation.RetryConfiguration$AnnotationMethodsResolver$1:259"
        BranchSideFuncs:
        - "access$000(org.springframework.retry.'annotation'.RetryConfiguration$AnnotationMethodsResolver)"
    - Branch String: "org.springframework.retry.annotation.RetryConfiguration$AnnotationMethodsResolver$1:261"
      Branch Sides:
      - BranchSide: "org.springframework.retry.annotation.RetryConfiguration$AnnotationMethodsResolver$1:264"
        BranchSideFuncs:
        - "set(boolean)"
      - BranchSide: "org.springframework.retry.annotation.RetryConfiguration$AnnotationMethodsResolver$1:263"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.springframework.retry.annotation.RetryConfiguration$AnnotationMethodsResolver$1:256,1"
      Dst: "[java.util.concurrent.atomic.AtomicBoolean].get()"
    - Src: "org.springframework.retry.annotation.RetryConfiguration$AnnotationMethodsResolver$1:260,1"
      Dst: "[org.springframework.retry.annotation.RetryConfiguration$AnnotationMethodsResolver].access$000(org.springframework.retry.'annotation'.RetryConfiguration$AnnotationMethodsResolver)"
    - Src: "org.springframework.retry.annotation.RetryConfiguration$AnnotationMethodsResolver$1:259,1"
      Dst: "[org.springframework.core.annotation.AnnotationUtils].findAnnotation(java.lang.reflect.Method,java.lang.Class)"
    - Src: "org.springframework.retry.annotation.RetryConfiguration$AnnotationMethodsResolver$1:262,1"
      Dst: "[java.util.concurrent.atomic.AtomicBoolean].set(boolean)"
    JavaMethodInfo:
      exceptions:
      - "java.lang.IllegalArgumentException"
      - "java.lang.IllegalAccessException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[org.springframework.retry.annotation.RetryConfiguration$AnnotationMethodsResolver].access$000(org.springframework.retry.'annotation'.RetryConfiguration$AnnotationMethodsResolver)"
    functionSourceFile: "org.springframework.retry.annotation.RetryConfiguration$AnnotationMethodsResolver"
    linkageType: ""
    functionLinenumber: 242
    functionLinenumberEnd: 244
    functionDepth: 0
    returnType: "java.lang.Class"
    argCount: 1
    argTypes:
    - "org.springframework.retry.annotation.RetryConfiguration$AnnotationMethodsResolver"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.classify.PatternMatcher$1].compare(java.lang.String,java.lang.String)"
    functionSourceFile: "org.springframework.classify.PatternMatcher$1"
    linkageType: ""
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionDepth: 0
    returnType: "int"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].compareTo(java.lang.String)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.classify.PatternMatcher$1:52,1"
      Dst: "[java.lang.String].compareTo(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.classify.PatternMatcher$1].compare(java.lang.Object,java.lang.Object)"
    functionSourceFile: "org.springframework.classify.PatternMatcher$1"
    linkageType: ""
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionDepth: 1
    returnType: "int"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.classify.PatternMatcher$1].compare(java.lang.String,java.lang.String)"
    functionUses: 7
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.classify.PatternMatcher$1:47,1"
      Dst: "[org.springframework.classify.PatternMatcher$1].compare(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.support.RetryTemplate].builder()"
    functionSourceFile: "org.springframework.retry.support.RetryTemplate"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "org.springframework.retry.support.RetryTemplateBuilder"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.support.RetryTemplateBuilder].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.support.RetryTemplate:107,1"
      Dst: "[org.springframework.retry.support.RetryTemplateBuilder].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.support.RetryTemplate].defaultInstance()"
    functionSourceFile: "org.springframework.retry.support.RetryTemplate"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 7
    returnType: "org.springframework.retry.support.RetryTemplate"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.support.RetryTemplateBuilder].<init>()"
    - "[org.springframework.retry.support.RetryTemplateBuilder].build()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.support.RetryTemplate:117,1"
      Dst: "[org.springframework.retry.support.RetryTemplateBuilder].<init>()"
    - Src: "org.springframework.retry.support.RetryTemplate:117,1"
      Dst: "[org.springframework.retry.support.RetryTemplateBuilder].build()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.support.RetryTemplate].setThrowLastExceptionOnExhausted(boolean)"
    functionSourceFile: "org.springframework.retry.support.RetryTemplate"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.support.RetryTemplate].registerListener(org.springframework.retry.RetryListener)"
    functionSourceFile: "org.springframework.retry.support.RetryTemplate"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.springframework.retry.RetryListener"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.support.RetryTemplate].registerListener(org.springframework.retry.RetryListener,int)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.support.RetryTemplate:151,1"
      Dst: "[org.springframework.retry.support.RetryTemplate].registerListener(org.springframework.retry.RetryListener,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.support.RetryTemplate].registerListener(org.springframework.retry.RetryListener,int)"
    functionSourceFile: "org.springframework.retry.support.RetryTemplate"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "org.springframework.retry.RetryListener"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Arrays].asList(java.lang.Object[])"
    - "[java.util.ArrayList].<init>(java.util.Collection)"
    - "[java.util.List].size()"
    - "[java.util.List].add(java.lang.Object)"
    - "[java.util.List].add(int,java.lang.Object)"
    - "[java.util.List].toArray(java.lang.Object[])"
    functionUses: 0
    ICount: 18
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.springframework.retry.support.RetryTemplate:163"
      Branch Sides:
      - BranchSide: "org.springframework.retry.support.RetryTemplate:167"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.support.RetryTemplate:166"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.springframework.retry.support.RetryTemplate:162,1"
      Dst: "[java.util.Arrays].asList(java.lang.Object[])"
    - Src: "org.springframework.retry.support.RetryTemplate:162,1"
      Dst: "[java.util.ArrayList].<init>(java.util.Collection)"
    - Src: "org.springframework.retry.support.RetryTemplate:163,1"
      Dst: "[java.util.List].size()"
    - Src: "org.springframework.retry.support.RetryTemplate:164,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    - Src: "org.springframework.retry.support.RetryTemplate:167,1"
      Dst: "[java.util.List].add(int,java.lang.Object)"
    - Src: "org.springframework.retry.support.RetryTemplate:169,1"
      Dst: "[java.util.List].toArray(java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[org.springframework.retry.support.RetryTemplate].hasListeners()"
    functionSourceFile: "org.springframework.retry.support.RetryTemplate"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.springframework.retry.support.RetryTemplate:178"
      Branch Sides:
      - BranchSide: "org.springframework.retry.support.RetryTemplate:177"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[org.springframework.retry.support.RetryTemplate].execute(org.springframework.retry.RetryCallback<T,E>)"
    functionSourceFile: "org.springframework.retry.support.RetryTemplate"
    linkageType: ""
    functionLinenumber: 208
    functionLinenumberEnd: 210
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "org.springframework.retry.RetryCallback<T,E>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.support.RetryTemplate].doExecute(org.springframework.retry.RetryCallback,org.springframework.retry.RecoveryCallback,org.springframework.retry.RetryState)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.support.RetryTemplate:209,1"
      Dst: "[org.springframework.retry.support.RetryTemplate].doExecute(org.springframework.retry.RetryCallback,org.springframework.retry.RecoveryCallback,org.springframework.retry.RetryState)"
    JavaMethodInfo:
      exceptions:
      - "java.lang.Throwable"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.support.RetryTemplate].execute(org.springframework.retry.RetryCallback<T,E>,org.springframework.retry.RecoveryCallback<T>)"
    functionSourceFile: "org.springframework.retry.support.RetryTemplate"
    linkageType: ""
    functionLinenumber: 224
    functionLinenumberEnd: 226
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "org.springframework.retry.RetryCallback<T,E>"
    - "org.springframework.retry.RecoveryCallback<T>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.support.RetryTemplate].doExecute(org.springframework.retry.RetryCallback,org.springframework.retry.RecoveryCallback,org.springframework.retry.RetryState)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.support.RetryTemplate:225,1"
      Dst: "[org.springframework.retry.support.RetryTemplate].doExecute(org.springframework.retry.RetryCallback,org.springframework.retry.RecoveryCallback,org.springframework.retry.RetryState)"
    JavaMethodInfo:
      exceptions:
      - "java.lang.Throwable"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.support.RetryTemplate].execute(org.springframework.retry.RetryCallback<T,E>,org.springframework.retry.RetryState)"
    functionSourceFile: "org.springframework.retry.support.RetryTemplate"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "org.springframework.retry.RetryCallback<T,E>"
    - "org.springframework.retry.RetryState"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.support.RetryTemplate].doExecute(org.springframework.retry.RetryCallback,org.springframework.retry.RecoveryCallback,org.springframework.retry.RetryState)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.support.RetryTemplate:240,1"
      Dst: "[org.springframework.retry.support.RetryTemplate].doExecute(org.springframework.retry.RetryCallback,org.springframework.retry.RecoveryCallback,org.springframework.retry.RetryState)"
    JavaMethodInfo:
      exceptions:
      - "java.lang.Throwable"
      - "org.springframework.retry.ExhaustedRetryException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.support.RetryTemplate].execute(org.springframework.retry.RetryCallback<T,E>,org.springframework.retry.RecoveryCallback<T>,org.springframework.retry.RetryState)"
    functionSourceFile: "org.springframework.retry.support.RetryTemplate"
    linkageType: ""
    functionLinenumber: 254
    functionLinenumberEnd: 256
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 3
    argTypes:
    - "org.springframework.retry.RetryCallback<T,E>"
    - "org.springframework.retry.RecoveryCallback<T>"
    - "org.springframework.retry.RetryState"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.support.RetryTemplate].doExecute(org.springframework.retry.RetryCallback,org.springframework.retry.RecoveryCallback,org.springframework.retry.RetryState)"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.support.RetryTemplate:255,1"
      Dst: "[org.springframework.retry.support.RetryTemplate].doExecute(org.springframework.retry.RetryCallback,org.springframework.retry.RecoveryCallback,org.springframework.retry.RetryState)"
    JavaMethodInfo:
      exceptions:
      - "java.lang.Throwable"
      - "org.springframework.retry.ExhaustedRetryException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.support.RetryTemplate].doExecute(org.springframework.retry.RetryCallback<T,E>,org.springframework.retry.RecoveryCallback<T>,org.springframework.retry.RetryState)"
    functionSourceFile: "org.springframework.retry.support.RetryTemplate"
    linkageType: ""
    functionLinenumber: 273
    functionLinenumberEnd: 398
    functionDepth: 5
    returnType: "java.lang.Object"
    argCount: 3
    argTypes:
    - "org.springframework.retry.RetryCallback<T,E>"
    - "org.springframework.retry.RecoveryCallback<T>"
    - "org.springframework.retry.RetryState"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.support.RetryTemplate].open(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryState)"
    - "[org.apache.commons.logging.impl.SimpleLog].isTraceEnabled()"
    - "[org.apache.commons.logging.impl.Jdk13LumberjackLogger].isTraceEnabled()"
    - "[org.apache.commons.logging.impl.Jdk14Logger].isTraceEnabled()"
    - "[org.apache.commons.logging.impl.AvalonLogger].isTraceEnabled()"
    - "[org.apache.commons.logging.impl.LogKitLogger].isTraceEnabled()"
    - "[org.apache.commons.logging.impl.Log4JLogger].isTraceEnabled()"
    - "[org.apache.commons.logging.impl.NoOpLog].isTraceEnabled()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    - "[org.apache.commons.logging.impl.Log4JLogger].trace(java.lang.Object)"
    - "[org.apache.commons.logging.impl.Jdk13LumberjackLogger].trace(java.lang.Object)"
    - "[org.apache.commons.logging.impl.Jdk14Logger].trace(java.lang.Object)"
    - "[org.apache.commons.logging.impl.LogKitLogger].trace(java.lang.Object)"
    - "[org.apache.commons.logging.impl.SimpleLog].trace(java.lang.Object)"
    - "[org.apache.commons.logging.impl.AvalonLogger].trace(java.lang.Object)"
    - "[org.apache.commons.logging.impl.NoOpLog].trace(java.lang.Object)"
    - "[org.springframework.retry.support.RetrySynchronizationManager].register(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.support.RetryTemplate].doOpenInterceptors(org.springframework.retry.RetryCallback,org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.TerminatedRetryException].<init>(java.lang.String)"
    - "[org.springframework.core.AttributeAccessorSupport].getAttribute(java.lang.String)"
    - "[org.springframework.retry.backoff.ExponentialRandomBackOffPolicy].start(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.backoff.ExponentialBackOffPolicy].start(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.backoff.StatelessBackOffPolicy].start(org.springframework.retry.RetryContext)"
    - "[org.springframework.core.AttributeAccessorSupport].setAttribute(java.lang.String,java.lang.Object)"
    - "[org.springframework.retry.support.RetryTemplate].canRetry(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.context.RetryContextSupport].isExhaustedOnly()"
    - "[org.apache.commons.logging.impl.AvalonLogger].isDebugEnabled()"
    - "[org.apache.commons.logging.impl.LogKitLogger].isDebugEnabled()"
    - "[org.apache.commons.logging.impl.SimpleLog].isDebugEnabled()"
    - "[org.apache.commons.logging.impl.Jdk13LumberjackLogger].isDebugEnabled()"
    - "[org.apache.commons.logging.impl.Log4JLogger].isDebugEnabled()"
    - "[org.apache.commons.logging.impl.Jdk14Logger].isDebugEnabled()"
    - "[org.apache.commons.logging.impl.NoOpLog].isDebugEnabled()"
    - "[java.lang.StringBuilder].append(int)"
    - "[org.apache.commons.logging.impl.AvalonLogger].debug(java.lang.Object)"
    - "[org.apache.commons.logging.impl.Jdk13LumberjackLogger].debug(java.lang.Object)"
    - "[org.apache.commons.logging.impl.Jdk14Logger].debug(java.lang.Object)"
    - "[org.apache.commons.logging.impl.Log4JLogger].debug(java.lang.Object)"
    - "[org.apache.commons.logging.impl.SimpleLog].debug(java.lang.Object)"
    - "[org.apache.commons.logging.impl.LogKitLogger].debug(java.lang.Object)"
    - "[org.apache.commons.logging.impl.NoOpLog].debug(java.lang.Object)"
    - "[org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext].getRetryCount()"
    - "[org.springframework.retry.context.RetryContextSupport].getRetryCount()"
    - "[org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor$StatefulMethodInvocationRetryCallback].doWithRetry(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.support.RetrySimulator$FailingRetryCallback].doWithRetry(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.interceptor.RetryOperationsInterceptor$1].doWithRetry(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.support.RetryTemplate].registerThrowable(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryState,org.springframework.retry.RetryContext,java.lang.Throwable)"
    - "[org.springframework.retry.TerminatedRetryException].<init>(java.lang.String,java.lang.Throwable)"
    - "[org.springframework.retry.support.RetryTemplate].doOnErrorInterceptors(org.springframework.retry.RetryCallback,org.springframework.retry.RetryContext,java.lang.Throwable)"
    - "[org.springframework.retry.backoff.StatelessBackOffPolicy].backOff(org.springframework.retry.backoff.BackOffContext)"
    - "[org.springframework.retry.backoff.ExponentialBackOffPolicy].backOff(org.springframework.retry.backoff.BackOffContext)"
    - "[org.springframework.retry.support.RetryTemplate].shouldRethrow(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext,org.springframework.retry.RetryState)"
    - "[org.springframework.retry.support.RetryTemplate].wrapIfNecessary(java.lang.Throwable)"
    - "[org.springframework.core.AttributeAccessorSupport].hasAttribute(java.lang.String)"
    - "[org.springframework.retry.support.RetryTemplate].handleRetryExhausted(org.springframework.retry.RecoveryCallback,org.springframework.retry.RetryContext,org.springframework.retry.RetryState)"
    - "[org.springframework.retry.support.RetryTemplate].close(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext,org.springframework.retry.RetryState,boolean)"
    - "[org.springframework.retry.support.RetryTemplate].doCloseInterceptors(org.springframework.retry.RetryCallback,org.springframework.retry.RetryContext,java.lang.Throwable)"
    - "[org.springframework.retry.support.RetrySynchronizationManager].clear()"
    - "[org.apache.commons.logging.Log].isTraceEnabled()"
    - "[org.apache.commons.logging.Log].trace(java.lang.Object)"
    - "[org.springframework.core.AttributeAccessor].getAttribute(java.lang.String)"
    - "[org.springframework.retry.backoff.BackOffPolicy].start(org.springframework.retry.RetryContext)"
    - "[org.springframework.core.AttributeAccessor].setAttribute(java.lang.String,java.lang.Object)"
    - "[org.springframework.retry.RetryContext].isExhaustedOnly()"
    - "[org.apache.commons.logging.Log].isDebugEnabled()"
    - "[org.springframework.retry.RetryContext].getRetryCount()"
    - "[org.apache.commons.logging.Log].debug(java.lang.Object)"
    - "[org.springframework.retry.RetryCallback].doWithRetry(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.backoff.BackOffPolicy].backOff(org.springframework.retry.backoff.BackOffContext)"
    - "[org.springframework.core.AttributeAccessor].hasAttribute(java.lang.String)"
    functionUses: 3
    ICount: 159
    EdgeCount: 154
    BranchProfiles:
    - Branch String: "org.springframework.retry.support.RetryTemplate:279"
      Branch Sides:
      - BranchSide: "org.springframework.retry.support.RetryTemplate:285"
        BranchSideFuncs:
        - "trace(java.lang.Object)"
        - "append(java.lang.Object)"
      - BranchSide: "org.springframework.retry.support.RetryTemplate:284"
        BranchSideFuncs:
        - "doOpenInterceptors(org.springframework.retry.RetryCallback,org.springframework.retry.RetryContext)"
        - "register(org.springframework.retry.RetryContext)"
    - Branch String: "org.springframework.retry.support.RetryTemplate:295"
      Branch Sides:
      - BranchSide: "org.springframework.retry.support.RetryTemplate:300"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "org.springframework.retry.support.RetryTemplate:299"
        BranchSideFuncs:
        - "getAttribute(java.lang.String)"
    - Branch String: "org.springframework.retry.support.RetryTemplate:303"
      Branch Sides:
      - BranchSide: "org.springframework.retry.support.RetryTemplate:307"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.support.RetryTemplate:306"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.support.RetryTemplate:307"
      Branch Sides:
      - BranchSide: "org.springframework.retry.support.RetryTemplate:320"
        BranchSideFuncs:
        - "start(org.springframework.retry.RetryContext)"
      - BranchSide: "org.springframework.retry.support.RetryTemplate:319"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.support.RetryTemplate:309"
      Branch Sides:
      - BranchSide: "org.springframework.retry.support.RetryTemplate:320"
        BranchSideFuncs:
        - "setAttribute(java.lang.String,java.lang.Object)"
      - BranchSide: "org.springframework.retry.support.RetryTemplate:319"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.support.RetryTemplate:320"
      Branch Sides:
      - BranchSide: "org.springframework.retry.support.RetryTemplate:328"
        BranchSideFuncs:
        - "close(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext,org.springframework.retry.RetryState,boolean)"
        - "append(java.lang.String)"
        - "wrapIfNecessary(java.lang.Throwable)"
        - "shouldRethrow(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext,org.springframework.retry.RetryState)"
        - "getAttribute(java.lang.String)"
        - "canRetry(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext)"
        - "start(org.springframework.retry.RetryContext)"
        - "doOnErrorInterceptors(org.springframework.retry.RetryCallback,org.springframework.retry.RetryContext,java.lang.Throwable)"
        - "setAttribute(java.lang.String,java.lang.Object)"
        - "<init>()"
        - "hasAttribute(java.lang.String)"
        - "doWithRetry(org.springframework.retry.RetryContext)"
        - "handleRetryExhausted(org.springframework.retry.RecoveryCallback,org.springframework.retry.RetryContext,org.springframework.retry.RetryState)"
        - "debug(java.lang.Object)"
        - "registerThrowable(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryState,org.springframework.retry.RetryContext,java.lang.Throwable)"
        - "toString()"
        - "isDebugEnabled()"
        - "backOff(org.springframework.retry.backoff.BackOffContext)"
        - "<init>(java.lang.String,java.lang.Throwable)"
        - "append(int)"
        - "getRetryCount()"
        - "<init>(java.lang.String)"
        - "isExhaustedOnly()"
      - BranchSide: "org.springframework.retry.support.RetryTemplate:327"
        BranchSideFuncs:
        - "close(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext,org.springframework.retry.RetryState,boolean)"
        - "append(java.lang.String)"
        - "wrapIfNecessary(java.lang.Throwable)"
        - "shouldRethrow(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext,org.springframework.retry.RetryState)"
        - "canRetry(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext)"
        - "doOnErrorInterceptors(org.springframework.retry.RetryCallback,org.springframework.retry.RetryContext,java.lang.Throwable)"
        - "<init>()"
        - "hasAttribute(java.lang.String)"
        - "doWithRetry(org.springframework.retry.RetryContext)"
        - "handleRetryExhausted(org.springframework.retry.RecoveryCallback,org.springframework.retry.RetryContext,org.springframework.retry.RetryState)"
        - "debug(java.lang.Object)"
        - "registerThrowable(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryState,org.springframework.retry.RetryContext,java.lang.Throwable)"
        - "toString()"
        - "isDebugEnabled()"
        - "backOff(org.springframework.retry.backoff.BackOffContext)"
        - "<init>(java.lang.String,java.lang.Throwable)"
        - "append(int)"
        - "getRetryCount()"
        - "isExhaustedOnly()"
    - Branch String: "org.springframework.retry.support.RetryTemplate:320"
      Branch Sides:
      - BranchSide: "org.springframework.retry.support.RetryTemplate:328"
        BranchSideFuncs:
        - "close(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext,org.springframework.retry.RetryState,boolean)"
        - "append(java.lang.String)"
        - "wrapIfNecessary(java.lang.Throwable)"
        - "shouldRethrow(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext,org.springframework.retry.RetryState)"
        - "getAttribute(java.lang.String)"
        - "canRetry(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext)"
        - "start(org.springframework.retry.RetryContext)"
        - "doOnErrorInterceptors(org.springframework.retry.RetryCallback,org.springframework.retry.RetryContext,java.lang.Throwable)"
        - "setAttribute(java.lang.String,java.lang.Object)"
        - "<init>()"
        - "hasAttribute(java.lang.String)"
        - "doWithRetry(org.springframework.retry.RetryContext)"
        - "handleRetryExhausted(org.springframework.retry.RecoveryCallback,org.springframework.retry.RetryContext,org.springframework.retry.RetryState)"
        - "debug(java.lang.Object)"
        - "registerThrowable(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryState,org.springframework.retry.RetryContext,java.lang.Throwable)"
        - "toString()"
        - "isDebugEnabled()"
        - "backOff(org.springframework.retry.backoff.BackOffContext)"
        - "<init>(java.lang.String,java.lang.Throwable)"
        - "append(int)"
        - "getRetryCount()"
        - "<init>(java.lang.String)"
        - "isExhaustedOnly()"
      - BranchSide: "org.springframework.retry.support.RetryTemplate:327"
        BranchSideFuncs:
        - "close(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext,org.springframework.retry.RetryState,boolean)"
        - "append(java.lang.String)"
        - "wrapIfNecessary(java.lang.Throwable)"
        - "shouldRethrow(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext,org.springframework.retry.RetryState)"
        - "canRetry(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext)"
        - "doOnErrorInterceptors(org.springframework.retry.RetryCallback,org.springframework.retry.RetryContext,java.lang.Throwable)"
        - "<init>()"
        - "hasAttribute(java.lang.String)"
        - "doWithRetry(org.springframework.retry.RetryContext)"
        - "handleRetryExhausted(org.springframework.retry.RecoveryCallback,org.springframework.retry.RetryContext,org.springframework.retry.RetryState)"
        - "debug(java.lang.Object)"
        - "registerThrowable(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryState,org.springframework.retry.RetryContext,java.lang.Throwable)"
        - "toString()"
        - "isDebugEnabled()"
        - "backOff(org.springframework.retry.backoff.BackOffContext)"
        - "<init>(java.lang.String,java.lang.Throwable)"
        - "append(int)"
        - "getRetryCount()"
        - "isExhaustedOnly()"
    - Branch String: "org.springframework.retry.support.RetryTemplate:323"
      Branch Sides:
      - BranchSide: "org.springframework.retry.support.RetryTemplate:328"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.support.RetryTemplate:327"
        BranchSideFuncs:
        - "close(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext,org.springframework.retry.RetryState,boolean)"
        - "append(java.lang.String)"
        - "wrapIfNecessary(java.lang.Throwable)"
        - "shouldRethrow(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext,org.springframework.retry.RetryState)"
        - "canRetry(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext)"
        - "doOnErrorInterceptors(org.springframework.retry.RetryCallback,org.springframework.retry.RetryContext,java.lang.Throwable)"
        - "<init>()"
        - "hasAttribute(java.lang.String)"
        - "doWithRetry(org.springframework.retry.RetryContext)"
        - "handleRetryExhausted(org.springframework.retry.RecoveryCallback,org.springframework.retry.RetryContext,org.springframework.retry.RetryState)"
        - "debug(java.lang.Object)"
        - "registerThrowable(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryState,org.springframework.retry.RetryContext,java.lang.Throwable)"
        - "toString()"
        - "isDebugEnabled()"
        - "backOff(org.springframework.retry.backoff.BackOffContext)"
        - "<init>(java.lang.String,java.lang.Throwable)"
        - "append(int)"
        - "getRetryCount()"
        - "isExhaustedOnly()"
    - Branch String: "org.springframework.retry.support.RetryTemplate:394"
      Branch Sides:
      - BranchSide: "org.springframework.retry.support.RetryTemplate:328"
        BranchSideFuncs:
        - "close(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext,org.springframework.retry.RetryState,boolean)"
        - "clear()"
        - "doCloseInterceptors(org.springframework.retry.RetryCallback,org.springframework.retry.RetryContext,java.lang.Throwable)"
      - BranchSide: "org.springframework.retry.support.RetryTemplate:327"
        BranchSideFuncs:
        - "close(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext,org.springframework.retry.RetryState,boolean)"
        - "append(java.lang.String)"
        - "wrapIfNecessary(java.lang.Throwable)"
        - "shouldRethrow(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext,org.springframework.retry.RetryState)"
        - "canRetry(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext)"
        - "doOnErrorInterceptors(org.springframework.retry.RetryCallback,org.springframework.retry.RetryContext,java.lang.Throwable)"
        - "<init>()"
        - "hasAttribute(java.lang.String)"
        - "doWithRetry(org.springframework.retry.RetryContext)"
        - "handleRetryExhausted(org.springframework.retry.RecoveryCallback,org.springframework.retry.RetryContext,org.springframework.retry.RetryState)"
        - "debug(java.lang.Object)"
        - "registerThrowable(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryState,org.springframework.retry.RetryContext,java.lang.Throwable)"
        - "toString()"
        - "isDebugEnabled()"
        - "backOff(org.springframework.retry.backoff.BackOffContext)"
        - "<init>(java.lang.String,java.lang.Throwable)"
        - "append(int)"
        - "getRetryCount()"
        - "isExhaustedOnly()"
    - Branch String: "org.springframework.retry.support.RetryTemplate:394"
      Branch Sides:
      - BranchSide: "org.springframework.retry.support.RetryTemplate:328"
        BranchSideFuncs:
        - "close(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext,org.springframework.retry.RetryState,boolean)"
        - "clear()"
        - "doCloseInterceptors(org.springframework.retry.RetryCallback,org.springframework.retry.RetryContext,java.lang.Throwable)"
      - BranchSide: "org.springframework.retry.support.RetryTemplate:327"
        BranchSideFuncs:
        - "close(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext,org.springframework.retry.RetryState,boolean)"
        - "append(java.lang.String)"
        - "wrapIfNecessary(java.lang.Throwable)"
        - "shouldRethrow(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext,org.springframework.retry.RetryState)"
        - "canRetry(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext)"
        - "doOnErrorInterceptors(org.springframework.retry.RetryCallback,org.springframework.retry.RetryContext,java.lang.Throwable)"
        - "<init>()"
        - "hasAttribute(java.lang.String)"
        - "doWithRetry(org.springframework.retry.RetryContext)"
        - "handleRetryExhausted(org.springframework.retry.RecoveryCallback,org.springframework.retry.RetryContext,org.springframework.retry.RetryState)"
        - "debug(java.lang.Object)"
        - "registerThrowable(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryState,org.springframework.retry.RetryContext,java.lang.Throwable)"
        - "toString()"
        - "isDebugEnabled()"
        - "backOff(org.springframework.retry.backoff.BackOffContext)"
        - "<init>(java.lang.String,java.lang.Throwable)"
        - "append(int)"
        - "getRetryCount()"
        - "isExhaustedOnly()"
    - Branch String: "org.springframework.retry.support.RetryTemplate:345"
      Branch Sides:
      - BranchSide: "org.springframework.retry.support.RetryTemplate:328"
        BranchSideFuncs:
        - "close(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext,org.springframework.retry.RetryState,boolean)"
        - "append(java.lang.String)"
        - "wrapIfNecessary(java.lang.Throwable)"
        - "shouldRethrow(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext,org.springframework.retry.RetryState)"
        - "canRetry(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext)"
        - "doOnErrorInterceptors(org.springframework.retry.RetryCallback,org.springframework.retry.RetryContext,java.lang.Throwable)"
        - "<init>()"
        - "hasAttribute(java.lang.String)"
        - "doWithRetry(org.springframework.retry.RetryContext)"
        - "handleRetryExhausted(org.springframework.retry.RecoveryCallback,org.springframework.retry.RetryContext,org.springframework.retry.RetryState)"
        - "debug(java.lang.Object)"
        - "registerThrowable(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryState,org.springframework.retry.RetryContext,java.lang.Throwable)"
        - "toString()"
        - "isDebugEnabled()"
        - "backOff(org.springframework.retry.backoff.BackOffContext)"
        - "<init>(java.lang.String,java.lang.Throwable)"
        - "append(int)"
        - "getRetryCount()"
        - "isExhaustedOnly()"
      - BranchSide: "org.springframework.retry.support.RetryTemplate:327"
        BranchSideFuncs:
        - "close(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext,org.springframework.retry.RetryState,boolean)"
        - "append(java.lang.String)"
        - "wrapIfNecessary(java.lang.Throwable)"
        - "shouldRethrow(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext,org.springframework.retry.RetryState)"
        - "canRetry(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext)"
        - "doOnErrorInterceptors(org.springframework.retry.RetryCallback,org.springframework.retry.RetryContext,java.lang.Throwable)"
        - "<init>()"
        - "hasAttribute(java.lang.String)"
        - "doWithRetry(org.springframework.retry.RetryContext)"
        - "handleRetryExhausted(org.springframework.retry.RecoveryCallback,org.springframework.retry.RetryContext,org.springframework.retry.RetryState)"
        - "debug(java.lang.Object)"
        - "registerThrowable(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryState,org.springframework.retry.RetryContext,java.lang.Throwable)"
        - "toString()"
        - "isDebugEnabled()"
        - "backOff(org.springframework.retry.backoff.BackOffContext)"
        - "<init>(java.lang.String,java.lang.Throwable)"
        - "append(int)"
        - "getRetryCount()"
        - "isExhaustedOnly()"
    - Branch String: "org.springframework.retry.support.RetryTemplate:345"
      Branch Sides:
      - BranchSide: "org.springframework.retry.support.RetryTemplate:328"
        BranchSideFuncs:
        - "close(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext,org.springframework.retry.RetryState,boolean)"
        - "append(java.lang.String)"
        - "wrapIfNecessary(java.lang.Throwable)"
        - "shouldRethrow(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext,org.springframework.retry.RetryState)"
        - "canRetry(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext)"
        - "doOnErrorInterceptors(org.springframework.retry.RetryCallback,org.springframework.retry.RetryContext,java.lang.Throwable)"
        - "<init>()"
        - "hasAttribute(java.lang.String)"
        - "doWithRetry(org.springframework.retry.RetryContext)"
        - "handleRetryExhausted(org.springframework.retry.RecoveryCallback,org.springframework.retry.RetryContext,org.springframework.retry.RetryState)"
        - "debug(java.lang.Object)"
        - "registerThrowable(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryState,org.springframework.retry.RetryContext,java.lang.Throwable)"
        - "toString()"
        - "isDebugEnabled()"
        - "backOff(org.springframework.retry.backoff.BackOffContext)"
        - "<init>(java.lang.String,java.lang.Throwable)"
        - "append(int)"
        - "getRetryCount()"
        - "isExhaustedOnly()"
      - BranchSide: "org.springframework.retry.support.RetryTemplate:327"
        BranchSideFuncs:
        - "close(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext,org.springframework.retry.RetryState,boolean)"
        - "append(java.lang.String)"
        - "wrapIfNecessary(java.lang.Throwable)"
        - "shouldRethrow(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext,org.springframework.retry.RetryState)"
        - "canRetry(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext)"
        - "doOnErrorInterceptors(org.springframework.retry.RetryCallback,org.springframework.retry.RetryContext,java.lang.Throwable)"
        - "<init>()"
        - "hasAttribute(java.lang.String)"
        - "doWithRetry(org.springframework.retry.RetryContext)"
        - "handleRetryExhausted(org.springframework.retry.RecoveryCallback,org.springframework.retry.RetryContext,org.springframework.retry.RetryState)"
        - "debug(java.lang.Object)"
        - "registerThrowable(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryState,org.springframework.retry.RetryContext,java.lang.Throwable)"
        - "toString()"
        - "isDebugEnabled()"
        - "backOff(org.springframework.retry.backoff.BackOffContext)"
        - "<init>(java.lang.String,java.lang.Throwable)"
        - "append(int)"
        - "getRetryCount()"
        - "isExhaustedOnly()"
    - Branch String: "org.springframework.retry.support.RetryTemplate:352"
      Branch Sides:
      - BranchSide: "org.springframework.retry.support.RetryTemplate:328"
        BranchSideFuncs:
        - "close(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext,org.springframework.retry.RetryState,boolean)"
        - "append(java.lang.String)"
        - "wrapIfNecessary(java.lang.Throwable)"
        - "shouldRethrow(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext,org.springframework.retry.RetryState)"
        - "canRetry(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext)"
        - "doOnErrorInterceptors(org.springframework.retry.RetryCallback,org.springframework.retry.RetryContext,java.lang.Throwable)"
        - "<init>()"
        - "hasAttribute(java.lang.String)"
        - "doWithRetry(org.springframework.retry.RetryContext)"
        - "handleRetryExhausted(org.springframework.retry.RecoveryCallback,org.springframework.retry.RetryContext,org.springframework.retry.RetryState)"
        - "debug(java.lang.Object)"
        - "registerThrowable(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryState,org.springframework.retry.RetryContext,java.lang.Throwable)"
        - "toString()"
        - "isDebugEnabled()"
        - "backOff(org.springframework.retry.backoff.BackOffContext)"
        - "<init>(java.lang.String,java.lang.Throwable)"
        - "append(int)"
        - "getRetryCount()"
        - "isExhaustedOnly()"
      - BranchSide: "org.springframework.retry.support.RetryTemplate:327"
        BranchSideFuncs:
        - "close(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext,org.springframework.retry.RetryState,boolean)"
        - "append(java.lang.String)"
        - "wrapIfNecessary(java.lang.Throwable)"
        - "shouldRethrow(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext,org.springframework.retry.RetryState)"
        - "canRetry(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext)"
        - "doOnErrorInterceptors(org.springframework.retry.RetryCallback,org.springframework.retry.RetryContext,java.lang.Throwable)"
        - "<init>()"
        - "hasAttribute(java.lang.String)"
        - "doWithRetry(org.springframework.retry.RetryContext)"
        - "handleRetryExhausted(org.springframework.retry.RecoveryCallback,org.springframework.retry.RetryContext,org.springframework.retry.RetryState)"
        - "debug(java.lang.Object)"
        - "registerThrowable(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryState,org.springframework.retry.RetryContext,java.lang.Throwable)"
        - "toString()"
        - "isDebugEnabled()"
        - "backOff(org.springframework.retry.backoff.BackOffContext)"
        - "<init>(java.lang.String,java.lang.Throwable)"
        - "append(int)"
        - "getRetryCount()"
        - "isExhaustedOnly()"
    - Branch String: "org.springframework.retry.support.RetryTemplate:359"
      Branch Sides:
      - BranchSide: "org.springframework.retry.support.RetryTemplate:328"
        BranchSideFuncs:
        - "close(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext,org.springframework.retry.RetryState,boolean)"
        - "append(java.lang.String)"
        - "wrapIfNecessary(java.lang.Throwable)"
        - "shouldRethrow(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext,org.springframework.retry.RetryState)"
        - "canRetry(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext)"
        - "doOnErrorInterceptors(org.springframework.retry.RetryCallback,org.springframework.retry.RetryContext,java.lang.Throwable)"
        - "<init>()"
        - "hasAttribute(java.lang.String)"
        - "doWithRetry(org.springframework.retry.RetryContext)"
        - "handleRetryExhausted(org.springframework.retry.RecoveryCallback,org.springframework.retry.RetryContext,org.springframework.retry.RetryState)"
        - "debug(java.lang.Object)"
        - "registerThrowable(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryState,org.springframework.retry.RetryContext,java.lang.Throwable)"
        - "toString()"
        - "isDebugEnabled()"
        - "backOff(org.springframework.retry.backoff.BackOffContext)"
        - "<init>(java.lang.String,java.lang.Throwable)"
        - "append(int)"
        - "getRetryCount()"
        - "isExhaustedOnly()"
      - BranchSide: "org.springframework.retry.support.RetryTemplate:327"
        BranchSideFuncs:
        - "close(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext,org.springframework.retry.RetryState,boolean)"
        - "append(java.lang.String)"
        - "wrapIfNecessary(java.lang.Throwable)"
        - "shouldRethrow(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext,org.springframework.retry.RetryState)"
        - "canRetry(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext)"
        - "doOnErrorInterceptors(org.springframework.retry.RetryCallback,org.springframework.retry.RetryContext,java.lang.Throwable)"
        - "<init>()"
        - "hasAttribute(java.lang.String)"
        - "doWithRetry(org.springframework.retry.RetryContext)"
        - "handleRetryExhausted(org.springframework.retry.RecoveryCallback,org.springframework.retry.RetryContext,org.springframework.retry.RetryState)"
        - "debug(java.lang.Object)"
        - "registerThrowable(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryState,org.springframework.retry.RetryContext,java.lang.Throwable)"
        - "toString()"
        - "isDebugEnabled()"
        - "backOff(org.springframework.retry.backoff.BackOffContext)"
        - "<init>(java.lang.String,java.lang.Throwable)"
        - "append(int)"
        - "getRetryCount()"
        - "isExhaustedOnly()"
    - Branch String: "org.springframework.retry.support.RetryTemplate:363"
      Branch Sides:
      - BranchSide: "org.springframework.retry.support.RetryTemplate:328"
        BranchSideFuncs:
        - "close(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext,org.springframework.retry.RetryState,boolean)"
        - "append(java.lang.String)"
        - "wrapIfNecessary(java.lang.Throwable)"
        - "shouldRethrow(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext,org.springframework.retry.RetryState)"
        - "canRetry(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext)"
        - "doOnErrorInterceptors(org.springframework.retry.RetryCallback,org.springframework.retry.RetryContext,java.lang.Throwable)"
        - "<init>()"
        - "hasAttribute(java.lang.String)"
        - "doWithRetry(org.springframework.retry.RetryContext)"
        - "handleRetryExhausted(org.springframework.retry.RecoveryCallback,org.springframework.retry.RetryContext,org.springframework.retry.RetryState)"
        - "debug(java.lang.Object)"
        - "registerThrowable(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryState,org.springframework.retry.RetryContext,java.lang.Throwable)"
        - "toString()"
        - "isDebugEnabled()"
        - "backOff(org.springframework.retry.backoff.BackOffContext)"
        - "<init>(java.lang.String,java.lang.Throwable)"
        - "append(int)"
        - "getRetryCount()"
        - "isExhaustedOnly()"
      - BranchSide: "org.springframework.retry.support.RetryTemplate:327"
        BranchSideFuncs:
        - "close(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext,org.springframework.retry.RetryState,boolean)"
        - "append(java.lang.String)"
        - "wrapIfNecessary(java.lang.Throwable)"
        - "shouldRethrow(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext,org.springframework.retry.RetryState)"
        - "canRetry(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext)"
        - "doOnErrorInterceptors(org.springframework.retry.RetryCallback,org.springframework.retry.RetryContext,java.lang.Throwable)"
        - "<init>()"
        - "hasAttribute(java.lang.String)"
        - "doWithRetry(org.springframework.retry.RetryContext)"
        - "handleRetryExhausted(org.springframework.retry.RecoveryCallback,org.springframework.retry.RetryContext,org.springframework.retry.RetryState)"
        - "debug(java.lang.Object)"
        - "registerThrowable(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryState,org.springframework.retry.RetryContext,java.lang.Throwable)"
        - "toString()"
        - "isDebugEnabled()"
        - "backOff(org.springframework.retry.backoff.BackOffContext)"
        - "<init>(java.lang.String,java.lang.Throwable)"
        - "append(int)"
        - "getRetryCount()"
        - "isExhaustedOnly()"
    - Branch String: "org.springframework.retry.support.RetryTemplate:364"
      Branch Sides:
      - BranchSide: "org.springframework.retry.support.RetryTemplate:328"
        BranchSideFuncs:
        - "close(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext,org.springframework.retry.RetryState,boolean)"
        - "append(java.lang.String)"
        - "wrapIfNecessary(java.lang.Throwable)"
        - "shouldRethrow(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext,org.springframework.retry.RetryState)"
        - "canRetry(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext)"
        - "doOnErrorInterceptors(org.springframework.retry.RetryCallback,org.springframework.retry.RetryContext,java.lang.Throwable)"
        - "<init>()"
        - "hasAttribute(java.lang.String)"
        - "doWithRetry(org.springframework.retry.RetryContext)"
        - "handleRetryExhausted(org.springframework.retry.RecoveryCallback,org.springframework.retry.RetryContext,org.springframework.retry.RetryState)"
        - "debug(java.lang.Object)"
        - "registerThrowable(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryState,org.springframework.retry.RetryContext,java.lang.Throwable)"
        - "toString()"
        - "isDebugEnabled()"
        - "backOff(org.springframework.retry.backoff.BackOffContext)"
        - "<init>(java.lang.String,java.lang.Throwable)"
        - "append(int)"
        - "getRetryCount()"
        - "isExhaustedOnly()"
      - BranchSide: "org.springframework.retry.support.RetryTemplate:327"
        BranchSideFuncs:
        - "close(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext,org.springframework.retry.RetryState,boolean)"
        - "append(java.lang.String)"
        - "wrapIfNecessary(java.lang.Throwable)"
        - "shouldRethrow(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext,org.springframework.retry.RetryState)"
        - "canRetry(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext)"
        - "doOnErrorInterceptors(org.springframework.retry.RetryCallback,org.springframework.retry.RetryContext,java.lang.Throwable)"
        - "<init>()"
        - "hasAttribute(java.lang.String)"
        - "doWithRetry(org.springframework.retry.RetryContext)"
        - "handleRetryExhausted(org.springframework.retry.RecoveryCallback,org.springframework.retry.RetryContext,org.springframework.retry.RetryState)"
        - "debug(java.lang.Object)"
        - "registerThrowable(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryState,org.springframework.retry.RetryContext,java.lang.Throwable)"
        - "toString()"
        - "isDebugEnabled()"
        - "backOff(org.springframework.retry.backoff.BackOffContext)"
        - "<init>(java.lang.String,java.lang.Throwable)"
        - "append(int)"
        - "getRetryCount()"
        - "isExhaustedOnly()"
    - Branch String: "org.springframework.retry.support.RetryTemplate:377"
      Branch Sides:
      - BranchSide: "org.springframework.retry.support.RetryTemplate:320"
        BranchSideFuncs:
        - "close(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext,org.springframework.retry.RetryState,boolean)"
        - "append(java.lang.String)"
        - "wrapIfNecessary(java.lang.Throwable)"
        - "shouldRethrow(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext,org.springframework.retry.RetryState)"
        - "canRetry(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext)"
        - "doOnErrorInterceptors(org.springframework.retry.RetryCallback,org.springframework.retry.RetryContext,java.lang.Throwable)"
        - "<init>()"
        - "hasAttribute(java.lang.String)"
        - "doWithRetry(org.springframework.retry.RetryContext)"
        - "handleRetryExhausted(org.springframework.retry.RecoveryCallback,org.springframework.retry.RetryContext,org.springframework.retry.RetryState)"
        - "debug(java.lang.Object)"
        - "registerThrowable(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryState,org.springframework.retry.RetryContext,java.lang.Throwable)"
        - "toString()"
        - "isDebugEnabled()"
        - "backOff(org.springframework.retry.backoff.BackOffContext)"
        - "<init>(java.lang.String,java.lang.Throwable)"
        - "append(int)"
        - "getRetryCount()"
        - "isExhaustedOnly()"
      - BranchSide: "org.springframework.retry.support.RetryTemplate:319"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.support.RetryTemplate:377"
      Branch Sides:
      - BranchSide: "org.springframework.retry.support.RetryTemplate:320"
        BranchSideFuncs:
        - "close(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext,org.springframework.retry.RetryState,boolean)"
        - "append(java.lang.String)"
        - "wrapIfNecessary(java.lang.Throwable)"
        - "shouldRethrow(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext,org.springframework.retry.RetryState)"
        - "canRetry(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext)"
        - "doOnErrorInterceptors(org.springframework.retry.RetryCallback,org.springframework.retry.RetryContext,java.lang.Throwable)"
        - "<init>()"
        - "hasAttribute(java.lang.String)"
        - "doWithRetry(org.springframework.retry.RetryContext)"
        - "handleRetryExhausted(org.springframework.retry.RecoveryCallback,org.springframework.retry.RetryContext,org.springframework.retry.RetryState)"
        - "debug(java.lang.Object)"
        - "registerThrowable(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryState,org.springframework.retry.RetryContext,java.lang.Throwable)"
        - "toString()"
        - "isDebugEnabled()"
        - "backOff(org.springframework.retry.backoff.BackOffContext)"
        - "<init>(java.lang.String,java.lang.Throwable)"
        - "append(int)"
        - "getRetryCount()"
        - "isExhaustedOnly()"
      - BranchSide: "org.springframework.retry.support.RetryTemplate:319"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.support.RetryTemplate:382"
      Branch Sides:
      - BranchSide: "org.springframework.retry.support.RetryTemplate:328"
        BranchSideFuncs:
        - "close(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext,org.springframework.retry.RetryState,boolean)"
        - "append(java.lang.String)"
        - "wrapIfNecessary(java.lang.Throwable)"
        - "shouldRethrow(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext,org.springframework.retry.RetryState)"
        - "canRetry(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext)"
        - "doOnErrorInterceptors(org.springframework.retry.RetryCallback,org.springframework.retry.RetryContext,java.lang.Throwable)"
        - "<init>()"
        - "hasAttribute(java.lang.String)"
        - "doWithRetry(org.springframework.retry.RetryContext)"
        - "handleRetryExhausted(org.springframework.retry.RecoveryCallback,org.springframework.retry.RetryContext,org.springframework.retry.RetryState)"
        - "debug(java.lang.Object)"
        - "registerThrowable(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryState,org.springframework.retry.RetryContext,java.lang.Throwable)"
        - "toString()"
        - "isDebugEnabled()"
        - "backOff(org.springframework.retry.backoff.BackOffContext)"
        - "<init>(java.lang.String,java.lang.Throwable)"
        - "append(int)"
        - "getRetryCount()"
        - "isExhaustedOnly()"
      - BranchSide: "org.springframework.retry.support.RetryTemplate:327"
        BranchSideFuncs:
        - "close(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext,org.springframework.retry.RetryState,boolean)"
        - "append(java.lang.String)"
        - "wrapIfNecessary(java.lang.Throwable)"
        - "shouldRethrow(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext,org.springframework.retry.RetryState)"
        - "canRetry(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext)"
        - "doOnErrorInterceptors(org.springframework.retry.RetryCallback,org.springframework.retry.RetryContext,java.lang.Throwable)"
        - "<init>()"
        - "hasAttribute(java.lang.String)"
        - "doWithRetry(org.springframework.retry.RetryContext)"
        - "handleRetryExhausted(org.springframework.retry.RecoveryCallback,org.springframework.retry.RetryContext,org.springframework.retry.RetryState)"
        - "debug(java.lang.Object)"
        - "registerThrowable(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryState,org.springframework.retry.RetryContext,java.lang.Throwable)"
        - "toString()"
        - "isDebugEnabled()"
        - "backOff(org.springframework.retry.backoff.BackOffContext)"
        - "<init>(java.lang.String,java.lang.Throwable)"
        - "append(int)"
        - "getRetryCount()"
        - "isExhaustedOnly()"
    - Branch String: "org.springframework.retry.support.RetryTemplate:382"
      Branch Sides:
      - BranchSide: "org.springframework.retry.support.RetryTemplate:328"
        BranchSideFuncs:
        - "close(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext,org.springframework.retry.RetryState,boolean)"
        - "append(java.lang.String)"
        - "wrapIfNecessary(java.lang.Throwable)"
        - "shouldRethrow(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext,org.springframework.retry.RetryState)"
        - "canRetry(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext)"
        - "doOnErrorInterceptors(org.springframework.retry.RetryCallback,org.springframework.retry.RetryContext,java.lang.Throwable)"
        - "<init>()"
        - "hasAttribute(java.lang.String)"
        - "doWithRetry(org.springframework.retry.RetryContext)"
        - "handleRetryExhausted(org.springframework.retry.RecoveryCallback,org.springframework.retry.RetryContext,org.springframework.retry.RetryState)"
        - "debug(java.lang.Object)"
        - "registerThrowable(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryState,org.springframework.retry.RetryContext,java.lang.Throwable)"
        - "toString()"
        - "isDebugEnabled()"
        - "backOff(org.springframework.retry.backoff.BackOffContext)"
        - "<init>(java.lang.String,java.lang.Throwable)"
        - "append(int)"
        - "getRetryCount()"
        - "isExhaustedOnly()"
      - BranchSide: "org.springframework.retry.support.RetryTemplate:327"
        BranchSideFuncs:
        - "close(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext,org.springframework.retry.RetryState,boolean)"
        - "append(java.lang.String)"
        - "wrapIfNecessary(java.lang.Throwable)"
        - "shouldRethrow(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext,org.springframework.retry.RetryState)"
        - "canRetry(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext)"
        - "doOnErrorInterceptors(org.springframework.retry.RetryCallback,org.springframework.retry.RetryContext,java.lang.Throwable)"
        - "<init>()"
        - "hasAttribute(java.lang.String)"
        - "doWithRetry(org.springframework.retry.RetryContext)"
        - "handleRetryExhausted(org.springframework.retry.RecoveryCallback,org.springframework.retry.RetryContext,org.springframework.retry.RetryState)"
        - "debug(java.lang.Object)"
        - "registerThrowable(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryState,org.springframework.retry.RetryContext,java.lang.Throwable)"
        - "toString()"
        - "isDebugEnabled()"
        - "backOff(org.springframework.retry.backoff.BackOffContext)"
        - "<init>(java.lang.String,java.lang.Throwable)"
        - "append(int)"
        - "getRetryCount()"
        - "isExhaustedOnly()"
    - Branch String: "org.springframework.retry.support.RetryTemplate:394"
      Branch Sides:
      - BranchSide: "org.springframework.retry.support.RetryTemplate:328"
        BranchSideFuncs:
        - "close(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext,org.springframework.retry.RetryState,boolean)"
        - "clear()"
        - "doCloseInterceptors(org.springframework.retry.RetryCallback,org.springframework.retry.RetryContext,java.lang.Throwable)"
      - BranchSide: "org.springframework.retry.support.RetryTemplate:327"
        BranchSideFuncs:
        - "close(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext,org.springframework.retry.RetryState,boolean)"
        - "append(java.lang.String)"
        - "wrapIfNecessary(java.lang.Throwable)"
        - "shouldRethrow(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext,org.springframework.retry.RetryState)"
        - "canRetry(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext)"
        - "doOnErrorInterceptors(org.springframework.retry.RetryCallback,org.springframework.retry.RetryContext,java.lang.Throwable)"
        - "<init>()"
        - "hasAttribute(java.lang.String)"
        - "doWithRetry(org.springframework.retry.RetryContext)"
        - "handleRetryExhausted(org.springframework.retry.RecoveryCallback,org.springframework.retry.RetryContext,org.springframework.retry.RetryState)"
        - "debug(java.lang.Object)"
        - "registerThrowable(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryState,org.springframework.retry.RetryContext,java.lang.Throwable)"
        - "toString()"
        - "isDebugEnabled()"
        - "backOff(org.springframework.retry.backoff.BackOffContext)"
        - "<init>(java.lang.String,java.lang.Throwable)"
        - "append(int)"
        - "getRetryCount()"
        - "isExhaustedOnly()"
    - Branch String: "org.springframework.retry.support.RetryTemplate:394"
      Branch Sides:
      - BranchSide: "org.springframework.retry.support.RetryTemplate:328"
        BranchSideFuncs:
        - "close(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext,org.springframework.retry.RetryState,boolean)"
        - "clear()"
        - "doCloseInterceptors(org.springframework.retry.RetryCallback,org.springframework.retry.RetryContext,java.lang.Throwable)"
      - BranchSide: "org.springframework.retry.support.RetryTemplate:327"
        BranchSideFuncs:
        - "close(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext,org.springframework.retry.RetryState,boolean)"
        - "append(java.lang.String)"
        - "wrapIfNecessary(java.lang.Throwable)"
        - "shouldRethrow(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext,org.springframework.retry.RetryState)"
        - "canRetry(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext)"
        - "doOnErrorInterceptors(org.springframework.retry.RetryCallback,org.springframework.retry.RetryContext,java.lang.Throwable)"
        - "<init>()"
        - "hasAttribute(java.lang.String)"
        - "doWithRetry(org.springframework.retry.RetryContext)"
        - "handleRetryExhausted(org.springframework.retry.RecoveryCallback,org.springframework.retry.RetryContext,org.springframework.retry.RetryState)"
        - "debug(java.lang.Object)"
        - "registerThrowable(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryState,org.springframework.retry.RetryContext,java.lang.Throwable)"
        - "toString()"
        - "isDebugEnabled()"
        - "backOff(org.springframework.retry.backoff.BackOffContext)"
        - "<init>(java.lang.String,java.lang.Throwable)"
        - "append(int)"
        - "getRetryCount()"
        - "isExhaustedOnly()"
    - Branch String: "org.springframework.retry.support.RetryTemplate:394"
      Branch Sides:
      - BranchSide: "org.springframework.retry.support.RetryTemplate:328"
        BranchSideFuncs:
        - "close(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext,org.springframework.retry.RetryState,boolean)"
        - "clear()"
        - "doCloseInterceptors(org.springframework.retry.RetryCallback,org.springframework.retry.RetryContext,java.lang.Throwable)"
      - BranchSide: "org.springframework.retry.support.RetryTemplate:327"
        BranchSideFuncs:
        - "close(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext,org.springframework.retry.RetryState,boolean)"
        - "append(java.lang.String)"
        - "wrapIfNecessary(java.lang.Throwable)"
        - "shouldRethrow(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext,org.springframework.retry.RetryState)"
        - "canRetry(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext)"
        - "doOnErrorInterceptors(org.springframework.retry.RetryCallback,org.springframework.retry.RetryContext,java.lang.Throwable)"
        - "<init>()"
        - "hasAttribute(java.lang.String)"
        - "doWithRetry(org.springframework.retry.RetryContext)"
        - "handleRetryExhausted(org.springframework.retry.RecoveryCallback,org.springframework.retry.RetryContext,org.springframework.retry.RetryState)"
        - "debug(java.lang.Object)"
        - "registerThrowable(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryState,org.springframework.retry.RetryContext,java.lang.Throwable)"
        - "toString()"
        - "isDebugEnabled()"
        - "backOff(org.springframework.retry.backoff.BackOffContext)"
        - "<init>(java.lang.String,java.lang.Throwable)"
        - "append(int)"
        - "getRetryCount()"
        - "isExhaustedOnly()"
    - Branch String: "org.springframework.retry.support.RetryTemplate:394"
      Branch Sides:
      - BranchSide: "org.springframework.retry.support.RetryTemplate:328"
        BranchSideFuncs:
        - "close(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext,org.springframework.retry.RetryState,boolean)"
        - "clear()"
        - "doCloseInterceptors(org.springframework.retry.RetryCallback,org.springframework.retry.RetryContext,java.lang.Throwable)"
      - BranchSide: "org.springframework.retry.support.RetryTemplate:327"
        BranchSideFuncs:
        - "close(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext,org.springframework.retry.RetryState,boolean)"
        - "append(java.lang.String)"
        - "wrapIfNecessary(java.lang.Throwable)"
        - "shouldRethrow(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext,org.springframework.retry.RetryState)"
        - "canRetry(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext)"
        - "doOnErrorInterceptors(org.springframework.retry.RetryCallback,org.springframework.retry.RetryContext,java.lang.Throwable)"
        - "<init>()"
        - "hasAttribute(java.lang.String)"
        - "doWithRetry(org.springframework.retry.RetryContext)"
        - "handleRetryExhausted(org.springframework.retry.RecoveryCallback,org.springframework.retry.RetryContext,org.springframework.retry.RetryState)"
        - "debug(java.lang.Object)"
        - "registerThrowable(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryState,org.springframework.retry.RetryContext,java.lang.Throwable)"
        - "toString()"
        - "isDebugEnabled()"
        - "backOff(org.springframework.retry.backoff.BackOffContext)"
        - "<init>(java.lang.String,java.lang.Throwable)"
        - "append(int)"
        - "getRetryCount()"
        - "isExhaustedOnly()"
    Callsites:
    - Src: "org.springframework.retry.support.RetryTemplate:278,1"
      Dst: "[org.springframework.retry.support.RetryTemplate].open(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryState)"
    - Src: "org.springframework.retry.support.RetryTemplate:279,1"
      Dst: "[org.apache.commons.logging.Log].isTraceEnabled()"
    - Src: "org.springframework.retry.support.RetryTemplate:280,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "org.springframework.retry.support.RetryTemplate:280,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "org.springframework.retry.support.RetryTemplate:280,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "org.springframework.retry.support.RetryTemplate:280,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "org.springframework.retry.support.RetryTemplate:280,1"
      Dst: "[org.apache.commons.logging.Log].trace(java.lang.Object)"
    - Src: "org.springframework.retry.support.RetryTemplate:285,1"
      Dst: "[org.springframework.retry.support.RetrySynchronizationManager].register(org.springframework.retry.RetryContext)"
    - Src: "org.springframework.retry.support.RetryTemplate:293,1"
      Dst: "[org.springframework.retry.support.RetryTemplate].doOpenInterceptors(org.springframework.retry.RetryCallback,org.springframework.retry.RetryContext)"
    - Src: "org.springframework.retry.support.RetryTemplate:296,1"
      Dst: "[org.springframework.retry.TerminatedRetryException].<init>(java.lang.String)"
    - Src: "org.springframework.retry.support.RetryTemplate:301,1"
      Dst: "[org.springframework.core.AttributeAccessor].getAttribute(java.lang.String)"
    - Src: "org.springframework.retry.support.RetryTemplate:308,1"
      Dst: "[org.springframework.retry.backoff.BackOffPolicy].start(org.springframework.retry.RetryContext)"
    - Src: "org.springframework.retry.support.RetryTemplate:310,1"
      Dst: "[org.springframework.core.AttributeAccessor].setAttribute(java.lang.String,java.lang.Object)"
    - Src: "org.springframework.retry.support.RetryTemplate:320,1"
      Dst: "[org.springframework.retry.support.RetryTemplate].canRetry(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext)"
    - Src: "org.springframework.retry.support.RetryTemplate:320,1"
      Dst: "[org.springframework.retry.RetryContext].isExhaustedOnly()"
    - Src: "org.springframework.retry.support.RetryTemplate:323,1"
      Dst: "[org.apache.commons.logging.Log].isDebugEnabled()"
    - Src: "org.springframework.retry.support.RetryTemplate:324,1"
      Dst: "[org.springframework.retry.RetryContext].getRetryCount()"
    - Src: "org.springframework.retry.support.RetryTemplate:324,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    - Src: "org.springframework.retry.support.RetryTemplate:324,1"
      Dst: "[org.apache.commons.logging.Log].debug(java.lang.Object)"
    - Src: "org.springframework.retry.support.RetryTemplate:329,1"
      Dst: "[org.springframework.retry.RetryCallback].doWithRetry(org.springframework.retry.RetryContext)"
    - Src: "org.springframework.retry.support.RetryTemplate:394,1"
      Dst: "[org.springframework.retry.support.RetryTemplate].close(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext,org.springframework.retry.RetryState,boolean)"
    - Src: "org.springframework.retry.support.RetryTemplate:395,1"
      Dst: "[org.springframework.retry.support.RetryTemplate].doCloseInterceptors(org.springframework.retry.RetryCallback,org.springframework.retry.RetryContext,java.lang.Throwable)"
    - Src: "org.springframework.retry.support.RetryTemplate:396,1"
      Dst: "[org.springframework.retry.support.RetrySynchronizationManager].clear()"
    - Src: "org.springframework.retry.support.RetryTemplate:336,1"
      Dst: "[org.springframework.retry.support.RetryTemplate].registerThrowable(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryState,org.springframework.retry.RetryContext,java.lang.Throwable)"
    - Src: "org.springframework.retry.support.RetryTemplate:342,1"
      Dst: "[org.springframework.retry.support.RetryTemplate].doOnErrorInterceptors(org.springframework.retry.RetryCallback,org.springframework.retry.RetryContext,java.lang.Throwable)"
    - Src: "org.springframework.retry.support.RetryTemplate:339,1"
      Dst: "[org.springframework.retry.TerminatedRetryException].<init>(java.lang.String,java.lang.Throwable)"
    - Src: "org.springframework.retry.support.RetryTemplate:347,1"
      Dst: "[org.springframework.retry.backoff.BackOffPolicy].backOff(org.springframework.retry.backoff.BackOffContext)"
    - Src: "org.springframework.retry.support.RetryTemplate:363,1"
      Dst: "[org.springframework.retry.support.RetryTemplate].shouldRethrow(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext,org.springframework.retry.RetryState)"
    - Src: "org.springframework.retry.support.RetryTemplate:367,1"
      Dst: "[org.springframework.retry.support.RetryTemplate].wrapIfNecessary(java.lang.Throwable)"
    - Src: "org.springframework.retry.support.RetryTemplate:377,1"
      Dst: "[org.springframework.core.AttributeAccessor].hasAttribute(java.lang.String)"
    - Src: "org.springframework.retry.support.RetryTemplate:387,1"
      Dst: "[org.springframework.retry.support.RetryTemplate].handleRetryExhausted(org.springframework.retry.RecoveryCallback,org.springframework.retry.RetryContext,org.springframework.retry.RetryState)"
    JavaMethodInfo:
      exceptions:
      - "java.lang.Throwable"
      - "org.springframework.retry.ExhaustedRetryException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 50
    CyclomaticComplexity: 17
  - functionName: "[org.springframework.retry.support.RetryTemplate].open(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryState)"
    functionSourceFile: "org.springframework.retry.support.RetryTemplate"
    linkageType: ""
    functionLinenumber: 465
    functionLinenumberEnd: 499
    functionDepth: 4
    returnType: "org.springframework.retry.RetryContext"
    argCount: 2
    argTypes:
    - "org.springframework.retry.RetryPolicy"
    - "org.springframework.retry.RetryState"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.support.RetryTemplate].doOpenInternal(org.springframework.retry.RetryPolicy)"
    - "[org.springframework.retry.support.DefaultRetryState].getKey()"
    - "[org.springframework.retry.support.DefaultRetryState].isForceRefresh()"
    - "[org.springframework.retry.support.RetryTemplate].doOpenInternal(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryState)"
    - "[org.springframework.retry.policy.MapRetryContextCache].containsKey(java.lang.Object)"
    - "[org.springframework.retry.policy.SoftReferenceMapRetryContextCache].containsKey(java.lang.Object)"
    - "[org.springframework.retry.policy.SoftReferenceMapRetryContextCache].get(java.lang.Object)"
    - "[org.springframework.retry.policy.MapRetryContextCache].get(java.lang.Object)"
    - "[org.springframework.retry.RetryException].<init>(java.lang.String)"
    - "[org.springframework.core.AttributeAccessorSupport].removeAttribute(java.lang.String)"
    - "[org.springframework.retry.RetryState].getKey()"
    - "[org.springframework.retry.RetryState].isForceRefresh()"
    - "[org.springframework.retry.policy.RetryContextCache].containsKey(java.lang.Object)"
    - "[org.springframework.retry.policy.RetryContextCache].get(java.lang.Object)"
    - "[org.springframework.core.AttributeAccessor].removeAttribute(java.lang.String)"
    functionUses: 1
    ICount: 31
    EdgeCount: 16
    BranchProfiles:
    - Branch String: "org.springframework.retry.support.RetryTemplate:466"
      Branch Sides:
      - BranchSide: "org.springframework.retry.support.RetryTemplate:470"
        BranchSideFuncs:
        - "doOpenInternal(org.springframework.retry.RetryPolicy)"
      - BranchSide: "org.springframework.retry.support.RetryTemplate:469"
        BranchSideFuncs:
        - "isForceRefresh()"
        - "getKey()"
    - Branch String: "org.springframework.retry.support.RetryTemplate:471"
      Branch Sides:
      - BranchSide: "org.springframework.retry.support.RetryTemplate:477"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.support.RetryTemplate:476"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.support.RetryTemplate:477"
      Branch Sides:
      - BranchSide: "org.springframework.retry.support.RetryTemplate:481"
        BranchSideFuncs:
        - "get(java.lang.Object)"
    - Branch String: "org.springframework.retry.support.RetryTemplate:483"
      Branch Sides:
      - BranchSide: "org.springframework.retry.support.RetryTemplate:495"
        BranchSideFuncs:
        - "containsKey(java.lang.Object)"
      - BranchSide: "org.springframework.retry.support.RetryTemplate:494"
        BranchSideFuncs:
        - "removeAttribute(java.lang.String)"
    - Branch String: "org.springframework.retry.support.RetryTemplate:484"
      Branch Sides:
      - BranchSide: "org.springframework.retry.support.RetryTemplate:491"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "org.springframework.retry.support.RetryTemplate:490"
        BranchSideFuncs:
        - "doOpenInternal(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryState)"
    Callsites:
    - Src: "org.springframework.retry.support.RetryTemplate:467,1"
      Dst: "[org.springframework.retry.support.RetryTemplate].doOpenInternal(org.springframework.retry.RetryPolicy)"
    - Src: "org.springframework.retry.support.RetryTemplate:470,1"
      Dst: "[org.springframework.retry.RetryState].getKey()"
    - Src: "org.springframework.retry.support.RetryTemplate:471,1"
      Dst: "[org.springframework.retry.RetryState].isForceRefresh()"
    - Src: "org.springframework.retry.support.RetryTemplate:472,1"
      Dst: "[org.springframework.retry.support.RetryTemplate].doOpenInternal(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryState)"
    - Src: "org.springframework.retry.support.RetryTemplate:477,1"
      Dst: "[org.springframework.retry.policy.RetryContextCache].containsKey(java.lang.Object)"
    - Src: "org.springframework.retry.support.RetryTemplate:482,1"
      Dst: "[org.springframework.retry.policy.RetryContextCache].get(java.lang.Object)"
    - Src: "org.springframework.retry.support.RetryTemplate:485,1"
      Dst: "[org.springframework.retry.RetryException].<init>(java.lang.String)"
    - Src: "org.springframework.retry.support.RetryTemplate:495,1"
      Dst: "[org.springframework.core.AttributeAccessor].removeAttribute(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 11
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.support.RetryTemplate].doOpenInternal(org.springframework.retry.RetryPolicy)"
    functionSourceFile: "org.springframework.retry.support.RetryTemplate"
    linkageType: ""
    functionLinenumber: 513
    functionLinenumberEnd: 515
    functionDepth: 3
    returnType: "org.springframework.retry.RetryContext"
    argCount: 1
    argTypes:
    - "org.springframework.retry.RetryPolicy"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.support.RetryTemplate].doOpenInternal(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryState)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.support.RetryTemplate:514,1"
      Dst: "[org.springframework.retry.support.RetryTemplate].doOpenInternal(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryState)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.support.RetryTemplate].doOpenInternal(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryState)"
    functionSourceFile: "org.springframework.retry.support.RetryTemplate"
    linkageType: ""
    functionLinenumber: 502
    functionLinenumberEnd: 511
    functionDepth: 2
    returnType: "org.springframework.retry.RetryContext"
    argCount: 2
    argTypes:
    - "org.springframework.retry.RetryPolicy"
    - "org.springframework.retry.RetryState"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.support.RetrySynchronizationManager].getContext()"
    - "[org.springframework.retry.policy.TimeoutRetryPolicy].open(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.SimpleRetryPolicy].open(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.CompositeRetryPolicy].open(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.CircuitBreakerRetryPolicy].open(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.ExceptionClassifierRetryPolicy].open(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.MaxAttemptsRetryPolicy].open(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.NeverRetryPolicy].open(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.BinaryExceptionClassifierRetryPolicy].open(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.ExceptionClassifierRetryPolicy$ExceptionClassifierRetryContext].open(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.support.DefaultRetryState].getKey()"
    - "[org.springframework.core.AttributeAccessorSupport].setAttribute(java.lang.String,java.lang.Object)"
    - "[org.springframework.core.AttributeAccessorSupport].hasAttribute(java.lang.String)"
    - "[org.springframework.retry.support.RetryTemplate].registerContext(org.springframework.retry.RetryContext,org.springframework.retry.RetryState)"
    - "[org.springframework.retry.RetryPolicy].open(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.RetryState].getKey()"
    - "[org.springframework.core.AttributeAccessor].setAttribute(java.lang.String,java.lang.Object)"
    - "[org.springframework.core.AttributeAccessor].hasAttribute(java.lang.String)"
    functionUses: 4
    ICount: 12
    EdgeCount: 14
    BranchProfiles:
    - Branch String: "org.springframework.retry.support.RetryTemplate:504"
      Branch Sides:
      - BranchSide: "org.springframework.retry.support.RetryTemplate:507"
        BranchSideFuncs:
        - "setAttribute(java.lang.String,java.lang.Object)"
        - "getKey()"
      - BranchSide: "org.springframework.retry.support.RetryTemplate:506"
        BranchSideFuncs:
        - "hasAttribute(java.lang.String)"
    - Branch String: "org.springframework.retry.support.RetryTemplate:507"
      Branch Sides:
      - BranchSide: "org.springframework.retry.support.RetryTemplate:510"
        BranchSideFuncs:
        - "registerContext(org.springframework.retry.RetryContext,org.springframework.retry.RetryState)"
      - BranchSide: "org.springframework.retry.support.RetryTemplate:509"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.springframework.retry.support.RetryTemplate:503,1"
      Dst: "[org.springframework.retry.support.RetrySynchronizationManager].getContext()"
    - Src: "org.springframework.retry.support.RetryTemplate:503,1"
      Dst: "[org.springframework.retry.RetryPolicy].open(org.springframework.retry.RetryContext)"
    - Src: "org.springframework.retry.support.RetryTemplate:505,1"
      Dst: "[org.springframework.retry.RetryState].getKey()"
    - Src: "org.springframework.retry.support.RetryTemplate:505,1"
      Dst: "[org.springframework.core.AttributeAccessor].setAttribute(java.lang.String,java.lang.Object)"
    - Src: "org.springframework.retry.support.RetryTemplate:507,1"
      Dst: "[org.springframework.core.AttributeAccessor].hasAttribute(java.lang.String)"
    - Src: "org.springframework.retry.support.RetryTemplate:508,1"
      Dst: "[org.springframework.retry.support.RetryTemplate].registerContext(org.springframework.retry.RetryContext,org.springframework.retry.RetryState)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[org.springframework.retry.support.RetryTemplate].registerContext(org.springframework.retry.RetryContext,org.springframework.retry.RetryState)"
    functionSourceFile: "org.springframework.retry.support.RetryTemplate"
    linkageType: ""
    functionLinenumber: 442
    functionLinenumberEnd: 455
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "org.springframework.retry.RetryContext"
    - "org.springframework.retry.RetryState"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.support.DefaultRetryState].getKey()"
    - "[org.springframework.retry.policy.MapRetryContextCache].containsKey(java.lang.Object)"
    - "[org.springframework.retry.policy.SoftReferenceMapRetryContextCache].containsKey(java.lang.Object)"
    - "[org.springframework.retry.policy.CircuitBreakerRetryPolicy$CircuitBreakerRetryContext].getRetryCount()"
    - "[org.springframework.retry.context.RetryContextSupport].getRetryCount()"
    - "[org.springframework.retry.RetryException].<init>(java.lang.String)"
    - "[org.springframework.retry.policy.SoftReferenceMapRetryContextCache].put(java.lang.Object,org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.MapRetryContextCache].put(java.lang.Object,org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.RetryState].getKey()"
    - "[org.springframework.retry.RetryContext].getRetryCount()"
    - "[org.springframework.retry.policy.RetryContextCache].containsKey(java.lang.Object)"
    - "[org.springframework.retry.policy.RetryContextCache].put(java.lang.Object,org.springframework.retry.RetryContext)"
    functionUses: 2
    ICount: 17
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "org.springframework.retry.support.RetryTemplate:443"
      Branch Sides:
      - BranchSide: "org.springframework.retry.support.RetryTemplate:454"
        BranchSideFuncs:
        - "getKey()"
      - BranchSide: "org.springframework.retry.support.RetryTemplate:453"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.support.RetryTemplate:445"
      Branch Sides:
      - BranchSide: "org.springframework.retry.support.RetryTemplate:454"
        BranchSideFuncs:
        - "containsKey(java.lang.Object)"
        - "getRetryCount()"
      - BranchSide: "org.springframework.retry.support.RetryTemplate:453"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.support.RetryTemplate:446"
      Branch Sides:
      - BranchSide: "org.springframework.retry.support.RetryTemplate:451"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "org.springframework.retry.support.RetryTemplate:450"
        BranchSideFuncs:
        - "put(java.lang.Object,org.springframework.retry.RetryContext)"
    - Branch String: "org.springframework.retry.support.RetryTemplate:446"
      Branch Sides:
      - BranchSide: "org.springframework.retry.support.RetryTemplate:451"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "org.springframework.retry.support.RetryTemplate:450"
        BranchSideFuncs:
        - "put(java.lang.Object,org.springframework.retry.RetryContext)"
    Callsites:
    - Src: "org.springframework.retry.support.RetryTemplate:444,1"
      Dst: "[org.springframework.retry.RetryState].getKey()"
    - Src: "org.springframework.retry.support.RetryTemplate:446,1"
      Dst: "[org.springframework.retry.RetryContext].getRetryCount()"
    - Src: "org.springframework.retry.support.RetryTemplate:446,1"
      Dst: "[org.springframework.retry.policy.RetryContextCache].containsKey(java.lang.Object)"
    - Src: "org.springframework.retry.support.RetryTemplate:447,1"
      Dst: "[org.springframework.retry.RetryException].<init>(java.lang.String)"
    - Src: "org.springframework.retry.support.RetryTemplate:451,1"
      Dst: "[org.springframework.retry.policy.RetryContextCache].put(java.lang.Object,org.springframework.retry.RetryContext)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 7
    CyclomaticComplexity: 4
  - functionName: "[org.springframework.retry.support.RetryTemplate].canRetry(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext)"
    functionSourceFile: "org.springframework.retry.support.RetryTemplate"
    linkageType: ""
    functionLinenumber: 409
    functionLinenumberEnd: 411
    functionDepth: 0
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "org.springframework.retry.RetryPolicy"
    - "org.springframework.retry.RetryContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.policy.ExceptionClassifierRetryPolicy].canRetry(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.BinaryExceptionClassifierRetryPolicy].canRetry(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.TimeoutRetryPolicy].canRetry(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.SimpleRetryPolicy].canRetry(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.ExceptionClassifierRetryPolicy$ExceptionClassifierRetryContext].canRetry(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.ExpressionRetryPolicy].canRetry(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.CircuitBreakerRetryPolicy].canRetry(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.CompositeRetryPolicy].canRetry(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.MaxAttemptsRetryPolicy].canRetry(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.NeverRetryPolicy].canRetry(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.AlwaysRetryPolicy].canRetry(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.RetryPolicy].canRetry(org.springframework.retry.RetryContext)"
    functionUses: 2
    ICount: 5
    EdgeCount: 11
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.support.RetryTemplate:410,1"
      Dst: "[org.springframework.retry.RetryPolicy].canRetry(org.springframework.retry.RetryContext)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.support.RetryTemplate].close(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext,org.springframework.retry.RetryState,boolean)"
    functionSourceFile: "org.springframework.retry.support.RetryTemplate"
    linkageType: ""
    functionLinenumber: 421
    functionLinenumberEnd: 436
    functionDepth: 0
    returnType: "void"
    argCount: 4
    argTypes:
    - "org.springframework.retry.RetryPolicy"
    - "org.springframework.retry.RetryContext"
    - "org.springframework.retry.RetryState"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.core.AttributeAccessorSupport].hasAttribute(java.lang.String)"
    - "[org.springframework.retry.support.DefaultRetryState].getKey()"
    - "[org.springframework.retry.policy.MapRetryContextCache].remove(java.lang.Object)"
    - "[org.springframework.retry.policy.SoftReferenceMapRetryContextCache].remove(java.lang.Object)"
    - "[org.springframework.retry.policy.CircuitBreakerRetryPolicy].close(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.ExceptionClassifierRetryPolicy].close(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.MaxAttemptsRetryPolicy].close(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.BinaryExceptionClassifierRetryPolicy].close(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.ExceptionClassifierRetryPolicy$ExceptionClassifierRetryContext].close(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.CompositeRetryPolicy].close(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.TimeoutRetryPolicy].close(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.NeverRetryPolicy].close(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.SimpleRetryPolicy].close(org.springframework.retry.RetryContext)"
    - "[org.springframework.core.AttributeAccessorSupport].setAttribute(java.lang.String,java.lang.Object)"
    - "[java.lang.Boolean].valueOf(boolean)"
    - "[org.springframework.core.AttributeAccessor].hasAttribute(java.lang.String)"
    - "[org.springframework.retry.RetryState].getKey()"
    - "[org.springframework.retry.policy.RetryContextCache].remove(java.lang.Object)"
    - "[org.springframework.retry.RetryPolicy].close(org.springframework.retry.RetryContext)"
    - "[org.springframework.core.AttributeAccessor].setAttribute(java.lang.String,java.lang.Object)"
    functionUses: 3
    ICount: 20
    EdgeCount: 26
    BranchProfiles:
    - Branch String: "org.springframework.retry.support.RetryTemplate:422"
      Branch Sides:
      - BranchSide: "org.springframework.retry.support.RetryTemplate:432"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.support.RetryTemplate:431"
        BranchSideFuncs:
        - "setAttribute(java.lang.String,java.lang.Object)"
        - "close(org.springframework.retry.RetryContext)"
        - "valueOf(boolean)"
    - Branch String: "org.springframework.retry.support.RetryTemplate:423"
      Branch Sides:
      - BranchSide: "org.springframework.retry.support.RetryTemplate:435"
        BranchSideFuncs:
        - "hasAttribute(java.lang.String)"
      - BranchSide: "org.springframework.retry.support.RetryTemplate:434"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.support.RetryTemplate:424"
      Branch Sides:
      - BranchSide: "org.springframework.retry.support.RetryTemplate:427"
        BranchSideFuncs:
        - "remove(java.lang.Object)"
        - "getKey()"
      - BranchSide: "org.springframework.retry.support.RetryTemplate:426"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.springframework.retry.support.RetryTemplate:424,1"
      Dst: "[org.springframework.core.AttributeAccessor].hasAttribute(java.lang.String)"
    - Src: "org.springframework.retry.support.RetryTemplate:425,1"
      Dst: "[org.springframework.retry.RetryState].getKey()"
    - Src: "org.springframework.retry.support.RetryTemplate:425,1"
      Dst: "[org.springframework.retry.policy.RetryContextCache].remove(java.lang.Object)"
    - Src: "org.springframework.retry.support.RetryTemplate:427,1"
      Dst: "[org.springframework.retry.RetryPolicy].close(org.springframework.retry.RetryContext)"
    - Src: "org.springframework.retry.support.RetryTemplate:428,1"
      Dst: "[java.lang.Boolean].valueOf(boolean)"
    - Src: "org.springframework.retry.support.RetryTemplate:428,1"
      Dst: "[org.springframework.core.AttributeAccessor].setAttribute(java.lang.String,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 7
    CyclomaticComplexity: 4
  - functionName: "[org.springframework.retry.support.RetryTemplate].registerThrowable(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryState,org.springframework.retry.RetryContext,java.lang.Throwable)"
    functionSourceFile: "org.springframework.retry.support.RetryTemplate"
    linkageType: ""
    functionLinenumber: 437
    functionLinenumberEnd: 441
    functionDepth: 2
    returnType: "void"
    argCount: 4
    argTypes:
    - "org.springframework.retry.RetryPolicy"
    - "org.springframework.retry.RetryState"
    - "org.springframework.retry.RetryContext"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.policy.NeverRetryPolicy].registerThrowable(org.springframework.retry.RetryContext,java.lang.Throwable)"
    - "[org.springframework.retry.policy.CircuitBreakerRetryPolicy].registerThrowable(org.springframework.retry.RetryContext,java.lang.Throwable)"
    - "[org.springframework.retry.policy.ExceptionClassifierRetryPolicy].registerThrowable(org.springframework.retry.RetryContext,java.lang.Throwable)"
    - "[org.springframework.retry.policy.ExceptionClassifierRetryPolicy$ExceptionClassifierRetryContext].registerThrowable(org.springframework.retry.RetryContext,java.lang.Throwable)"
    - "[org.springframework.retry.policy.MaxAttemptsRetryPolicy].registerThrowable(org.springframework.retry.RetryContext,java.lang.Throwable)"
    - "[org.springframework.retry.policy.BinaryExceptionClassifierRetryPolicy].registerThrowable(org.springframework.retry.RetryContext,java.lang.Throwable)"
    - "[org.springframework.retry.policy.TimeoutRetryPolicy].registerThrowable(org.springframework.retry.RetryContext,java.lang.Throwable)"
    - "[org.springframework.retry.policy.SimpleRetryPolicy].registerThrowable(org.springframework.retry.RetryContext,java.lang.Throwable)"
    - "[org.springframework.retry.policy.CompositeRetryPolicy].registerThrowable(org.springframework.retry.RetryContext,java.lang.Throwable)"
    - "[org.springframework.retry.support.RetryTemplate].registerContext(org.springframework.retry.RetryContext,org.springframework.retry.RetryState)"
    - "[org.springframework.retry.RetryPolicy].registerThrowable(org.springframework.retry.RetryContext,java.lang.Throwable)"
    functionUses: 1
    ICount: 8
    EdgeCount: 10
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.support.RetryTemplate:438,1"
      Dst: "[org.springframework.retry.RetryPolicy].registerThrowable(org.springframework.retry.RetryContext,java.lang.Throwable)"
    - Src: "org.springframework.retry.support.RetryTemplate:439,1"
      Dst: "[org.springframework.retry.support.RetryTemplate].registerContext(org.springframework.retry.RetryContext,org.springframework.retry.RetryState)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.support.RetryTemplate].shouldRethrow(org.springframework.retry.RetryPolicy,org.springframework.retry.RetryContext,org.springframework.retry.RetryState)"
    functionSourceFile: "org.springframework.retry.support.RetryTemplate"
    linkageType: ""
    functionLinenumber: 570
    functionLinenumberEnd: 572
    functionDepth: 0
    returnType: "boolean"
    argCount: 3
    argTypes:
    - "org.springframework.retry.RetryPolicy"
    - "org.springframework.retry.RetryContext"
    - "org.springframework.retry.RetryState"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.context.RetryContextSupport].getLastThrowable()"
    - "[org.springframework.retry.support.DefaultRetryState].rollbackFor(java.lang.Throwable)"
    - "[org.springframework.retry.RetryContext].getLastThrowable()"
    - "[org.springframework.retry.RetryState].rollbackFor(java.lang.Throwable)"
    functionUses: 1
    ICount: 12
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "org.springframework.retry.support.RetryTemplate:571"
      Branch Sides:
      - BranchSide: "org.springframework.retry.support.RetryTemplate:570"
        BranchSideFuncs:
        - "rollbackFor(java.lang.Throwable)"
        - "getLastThrowable()"
    - Branch String: "org.springframework.retry.support.RetryTemplate:571"
      Branch Sides:
      - BranchSide: "org.springframework.retry.support.RetryTemplate:570"
        BranchSideFuncs:
        - "rollbackFor(java.lang.Throwable)"
        - "getLastThrowable()"
    Callsites:
    - Src: "org.springframework.retry.support.RetryTemplate:571,1"
      Dst: "[org.springframework.retry.RetryContext].getLastThrowable()"
    - Src: "org.springframework.retry.support.RetryTemplate:571,1"
      Dst: "[org.springframework.retry.RetryState].rollbackFor(java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[org.springframework.retry.support.RetryTemplate].wrapIfNecessary(java.lang.Throwable)"
    functionSourceFile: "org.springframework.retry.support.RetryTemplate"
    linkageType: ""
    functionLinenumber: 604
    functionLinenumberEnd: 615
    functionDepth: 1
    returnType: "java.lang.Throwable"
    argCount: 1
    argTypes:
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.RetryException].<init>(java.lang.String,java.lang.Throwable)"
    functionUses: 3
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.springframework.retry.support.RetryTemplate:605"
      Branch Sides:
      - BranchSide: "org.springframework.retry.support.RetryTemplate:608"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.support.RetryTemplate:607"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.support.RetryTemplate:608"
      Branch Sides:
      - BranchSide: "org.springframework.retry.support.RetryTemplate:613"
        BranchSideFuncs:
        - "<init>(java.lang.String,java.lang.Throwable)"
    Callsites:
    - Src: "org.springframework.retry.support.RetryTemplate:614,1"
      Dst: "[org.springframework.retry.RetryException].<init>(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions:
      - "org.springframework.retry.RetryException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.support.RetryTemplate].handleRetryExhausted(org.springframework.retry.RecoveryCallback<T>,org.springframework.retry.RetryContext,org.springframework.retry.RetryState)"
    functionSourceFile: "org.springframework.retry.support.RetryTemplate"
    linkageType: ""
    functionLinenumber: 533
    functionLinenumberEnd: 548
    functionDepth: 3
    returnType: "java.lang.Object"
    argCount: 3
    argTypes:
    - "org.springframework.retry.RecoveryCallback<T>"
    - "org.springframework.retry.RetryContext"
    - "org.springframework.retry.RetryState"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.core.AttributeAccessorSupport].setAttribute(java.lang.String,java.lang.Object)"
    - "[java.lang.Boolean].valueOf(boolean)"
    - "[org.springframework.core.AttributeAccessorSupport].hasAttribute(java.lang.String)"
    - "[org.springframework.retry.support.DefaultRetryState].getKey()"
    - "[org.springframework.retry.policy.MapRetryContextCache].remove(java.lang.Object)"
    - "[org.springframework.retry.policy.SoftReferenceMapRetryContextCache].remove(java.lang.Object)"
    - "[org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor$ItemRecovererCallback].recover(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.interceptor.RetryOperationsInterceptor$ItemRecovererCallback].recover(org.springframework.retry.RetryContext)"
    - "[org.apache.commons.logging.impl.AvalonLogger].debug(java.lang.Object)"
    - "[org.apache.commons.logging.impl.Jdk13LumberjackLogger].debug(java.lang.Object)"
    - "[org.apache.commons.logging.impl.Jdk14Logger].debug(java.lang.Object)"
    - "[org.apache.commons.logging.impl.Log4JLogger].debug(java.lang.Object)"
    - "[org.apache.commons.logging.impl.SimpleLog].debug(java.lang.Object)"
    - "[org.apache.commons.logging.impl.LogKitLogger].debug(java.lang.Object)"
    - "[org.apache.commons.logging.impl.NoOpLog].debug(java.lang.Object)"
    - "[org.springframework.retry.support.RetryTemplate].rethrow(org.springframework.retry.RetryContext,java.lang.String)"
    - "[org.springframework.retry.context.RetryContextSupport].getLastThrowable()"
    - "[org.springframework.retry.support.RetryTemplate].wrapIfNecessary(java.lang.Throwable)"
    - "[org.springframework.core.AttributeAccessor].setAttribute(java.lang.String,java.lang.Object)"
    - "[org.springframework.core.AttributeAccessor].hasAttribute(java.lang.String)"
    - "[org.springframework.retry.RetryState].getKey()"
    - "[org.springframework.retry.policy.RetryContextCache].remove(java.lang.Object)"
    - "[org.springframework.retry.RecoveryCallback].recover(org.springframework.retry.RetryContext)"
    - "[org.apache.commons.logging.Log].debug(java.lang.Object)"
    - "[org.springframework.retry.RetryContext].getLastThrowable()"
    functionUses: 1
    ICount: 24
    EdgeCount: 20
    BranchProfiles:
    - Branch String: "org.springframework.retry.support.RetryTemplate:535"
      Branch Sides:
      - BranchSide: "org.springframework.retry.support.RetryTemplate:538"
        BranchSideFuncs:
        - "remove(java.lang.Object)"
        - "getKey()"
      - BranchSide: "org.springframework.retry.support.RetryTemplate:537"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.support.RetryTemplate:535"
      Branch Sides:
      - BranchSide: "org.springframework.retry.support.RetryTemplate:538"
        BranchSideFuncs:
        - "remove(java.lang.Object)"
        - "getKey()"
      - BranchSide: "org.springframework.retry.support.RetryTemplate:537"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.support.RetryTemplate:538"
      Branch Sides:
      - BranchSide: "org.springframework.retry.support.RetryTemplate:543"
        BranchSideFuncs:
        - "setAttribute(java.lang.String,java.lang.Object)"
        - "valueOf(boolean)"
        - "recover(org.springframework.retry.RetryContext)"
      - BranchSide: "org.springframework.retry.support.RetryTemplate:542"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.support.RetryTemplate:543"
      Branch Sides:
      - BranchSide: "org.springframework.retry.support.RetryTemplate:547"
        BranchSideFuncs:
        - "debug(java.lang.Object)"
        - "rethrow(org.springframework.retry.RetryContext,java.lang.String)"
      - BranchSide: "org.springframework.retry.support.RetryTemplate:546"
        BranchSideFuncs:
        - "getLastThrowable()"
        - "wrapIfNecessary(java.lang.Throwable)"
    Callsites:
    - Src: "org.springframework.retry.support.RetryTemplate:534,1"
      Dst: "[java.lang.Boolean].valueOf(boolean)"
    - Src: "org.springframework.retry.support.RetryTemplate:534,1"
      Dst: "[org.springframework.core.AttributeAccessor].setAttribute(java.lang.String,java.lang.Object)"
    - Src: "org.springframework.retry.support.RetryTemplate:535,1"
      Dst: "[org.springframework.core.AttributeAccessor].hasAttribute(java.lang.String)"
    - Src: "org.springframework.retry.support.RetryTemplate:536,1"
      Dst: "[org.springframework.retry.RetryState].getKey()"
    - Src: "org.springframework.retry.support.RetryTemplate:536,1"
      Dst: "[org.springframework.retry.policy.RetryContextCache].remove(java.lang.Object)"
    - Src: "org.springframework.retry.support.RetryTemplate:539,1"
      Dst: "[org.springframework.retry.RecoveryCallback].recover(org.springframework.retry.RetryContext)"
    - Src: "org.springframework.retry.support.RetryTemplate:544,1"
      Dst: "[org.apache.commons.logging.Log].debug(java.lang.Object)"
    - Src: "org.springframework.retry.support.RetryTemplate:545,1"
      Dst: "[org.springframework.retry.support.RetryTemplate].rethrow(org.springframework.retry.RetryContext,java.lang.String)"
    - Src: "org.springframework.retry.support.RetryTemplate:547,1"
      Dst: "[org.springframework.retry.RetryContext].getLastThrowable()"
    - Src: "org.springframework.retry.support.RetryTemplate:547,1"
      Dst: "[org.springframework.retry.support.RetryTemplate].wrapIfNecessary(java.lang.Throwable)"
    JavaMethodInfo:
      exceptions:
      - "java.lang.Throwable"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 8
    CyclomaticComplexity: 4
  - functionName: "[org.springframework.retry.support.RetryTemplate].rethrow(org.springframework.retry.RetryContext,java.lang.String)"
    functionSourceFile: "org.springframework.retry.support.RetryTemplate"
    linkageType: ""
    functionLinenumber: 550
    functionLinenumberEnd: 558
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "org.springframework.retry.RetryContext"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.context.RetryContextSupport].getLastThrowable()"
    - "[org.springframework.retry.ExhaustedRetryException].<init>(java.lang.String,java.lang.Throwable)"
    - "[org.springframework.retry.RetryContext].getLastThrowable()"
    functionUses: 1
    ICount: 11
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "org.springframework.retry.support.RetryTemplate:551"
      Branch Sides:
      - BranchSide: "org.springframework.retry.support.RetryTemplate:556"
        BranchSideFuncs:
        - "getLastThrowable()"
        - "<init>(java.lang.String,java.lang.Throwable)"
    Callsites:
    - Src: "org.springframework.retry.support.RetryTemplate:553,1"
      Dst: "[org.springframework.retry.RetryContext].getLastThrowable()"
    - Src: "org.springframework.retry.support.RetryTemplate:557,1"
      Dst: "[org.springframework.retry.ExhaustedRetryException].<init>(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions:
      - "java.lang.Throwable"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.support.RetryTemplate].doOpenInterceptors(org.springframework.retry.RetryCallback<T,E>,org.springframework.retry.RetryContext)"
    functionSourceFile: "org.springframework.retry.support.RetryTemplate"
    linkageType: ""
    functionLinenumber: 575
    functionLinenumberEnd: 583
    functionDepth: 0
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "org.springframework.retry.RetryCallback<T,E>"
    - "org.springframework.retry.RetryContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.listener.MethodInvocationRetryListenerSupport].open(org.springframework.retry.RetryContext,org.springframework.retry.RetryCallback)"
    - "[org.springframework.retry.listener.RetryListenerSupport].open(org.springframework.retry.RetryContext,org.springframework.retry.RetryCallback)"
    - "[org.springframework.retry.RetryListener].open(org.springframework.retry.RetryContext,org.springframework.retry.RetryCallback)"
    functionUses: 1
    ICount: 19
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "org.springframework.retry.support.RetryTemplate:578"
      Branch Sides:
      - BranchSide: "org.springframework.retry.support.RetryTemplate:582"
        BranchSideFuncs:
        - "open(org.springframework.retry.RetryContext,org.springframework.retry.RetryCallback)"
      - BranchSide: "org.springframework.retry.support.RetryTemplate:581"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.support.RetryTemplate:579"
      Branch Sides:
      - BranchSide: "org.springframework.retry.support.RetryTemplate:577"
        BranchSideFuncs:
        - "open(org.springframework.retry.RetryContext,org.springframework.retry.RetryCallback)"
    - Branch String: "org.springframework.retry.support.RetryTemplate:579"
      Branch Sides:
      - BranchSide: "org.springframework.retry.support.RetryTemplate:577"
        BranchSideFuncs:
        - "open(org.springframework.retry.RetryContext,org.springframework.retry.RetryCallback)"
    Callsites:
    - Src: "org.springframework.retry.support.RetryTemplate:579,1"
      Dst: "[org.springframework.retry.RetryListener].open(org.springframework.retry.RetryContext,org.springframework.retry.RetryCallback)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 8
    CyclomaticComplexity: 4
  - functionName: "[org.springframework.retry.support.RetryTemplate].doCloseInterceptors(org.springframework.retry.RetryCallback<T,E>,org.springframework.retry.RetryContext,java.lang.Throwable)"
    functionSourceFile: "org.springframework.retry.support.RetryTemplate"
    linkageType: ""
    functionLinenumber: 587
    functionLinenumberEnd: 592
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "org.springframework.retry.RetryCallback<T,E>"
    - "org.springframework.retry.RetryContext"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.stats.StatisticsListener].close(org.springframework.retry.RetryContext,org.springframework.retry.RetryCallback,java.lang.Throwable)"
    - "[org.springframework.retry.listener.MethodInvocationRetryListenerSupport].close(org.springframework.retry.RetryContext,org.springframework.retry.RetryCallback,java.lang.Throwable)"
    - "[org.springframework.retry.listener.RetryListenerSupport].close(org.springframework.retry.RetryContext,org.springframework.retry.RetryCallback,java.lang.Throwable)"
    - "[org.springframework.retry.RetryListener].close(org.springframework.retry.RetryContext,org.springframework.retry.RetryCallback,java.lang.Throwable)"
    functionUses: 3
    ICount: 15
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "org.springframework.retry.support.RetryTemplate:588"
      Branch Sides:
      - BranchSide: "org.springframework.retry.support.RetryTemplate:591"
        BranchSideFuncs:
        - "close(org.springframework.retry.RetryContext,org.springframework.retry.RetryCallback,java.lang.Throwable)"
      - BranchSide: "org.springframework.retry.support.RetryTemplate:590"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.springframework.retry.support.RetryTemplate:589,1"
      Dst: "[org.springframework.retry.RetryListener].close(org.springframework.retry.RetryContext,org.springframework.retry.RetryCallback,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[org.springframework.retry.support.RetryTemplate].doOnErrorInterceptors(org.springframework.retry.RetryCallback<T,E>,org.springframework.retry.RetryContext,java.lang.Throwable)"
    functionSourceFile: "org.springframework.retry.support.RetryTemplate"
    linkageType: ""
    functionLinenumber: 594
    functionLinenumberEnd: 599
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "org.springframework.retry.RetryCallback<T,E>"
    - "org.springframework.retry.RetryContext"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.listener.MethodInvocationRetryListenerSupport].onError(org.springframework.retry.RetryContext,org.springframework.retry.RetryCallback,java.lang.Throwable)"
    - "[org.springframework.retry.stats.StatisticsListener].onError(org.springframework.retry.RetryContext,org.springframework.retry.RetryCallback,java.lang.Throwable)"
    - "[org.springframework.retry.listener.RetryListenerSupport].onError(org.springframework.retry.RetryContext,org.springframework.retry.RetryCallback,java.lang.Throwable)"
    - "[org.springframework.retry.RetryListener].onError(org.springframework.retry.RetryContext,org.springframework.retry.RetryCallback,java.lang.Throwable)"
    functionUses: 2
    ICount: 15
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "org.springframework.retry.support.RetryTemplate:595"
      Branch Sides:
      - BranchSide: "org.springframework.retry.support.RetryTemplate:598"
        BranchSideFuncs:
        - "onError(org.springframework.retry.RetryContext,org.springframework.retry.RetryCallback,java.lang.Throwable)"
      - BranchSide: "org.springframework.retry.support.RetryTemplate:597"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.springframework.retry.support.RetryTemplate:596,1"
      Dst: "[org.springframework.retry.RetryListener].onError(org.springframework.retry.RetryContext,org.springframework.retry.RetryCallback,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[org.springframework.retry.interceptor.FixedKeyGenerator].getKey(java.lang.Object[])"
    functionSourceFile: "org.springframework.retry.interceptor.FixedKeyGenerator"
    linkageType: ""
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.backoff.NoBackOffPolicy].doBackOff()"
    functionSourceFile: "org.springframework.retry.backoff.NoBackOffPolicy"
    linkageType: ""
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "org.springframework.retry.backoff.BackOffInterruptedException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.backoff.NoBackOffPolicy].toString()"
    functionSourceFile: "org.springframework.retry.backoff.NoBackOffPolicy"
    linkageType: ""
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 32
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.backoff.BackOffInterruptedException].<init>(java.lang.String)"
    functionSourceFile: "org.springframework.retry.backoff.BackOffInterruptedException"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.RetryException].<init>(java.lang.String)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.backoff.BackOffInterruptedException:33,1"
      Dst: "[org.springframework.retry.RetryException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.interceptor.RetryInterceptorBuilder$StatefulRetryInterceptorBuilder].rollbackFor(org.springframework.classify.Classifier)"
    functionSourceFile: "org.springframework.retry.interceptor.RetryInterceptorBuilder$StatefulRetryInterceptorBuilder"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "org.springframework.retry.interceptor.RetryInterceptorBuilder$StatefulRetryInterceptorBuilder"
    argCount: 1
    argTypes:
    - "org.springframework.classify.Classifier"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.interceptor.RetryInterceptorBuilder$StatefulRetryInterceptorBuilder].maxAttempts(int)"
    functionSourceFile: "org.springframework.retry.interceptor.RetryInterceptorBuilder$StatefulRetryInterceptorBuilder"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "org.springframework.retry.interceptor.RetryInterceptorBuilder$StatefulRetryInterceptorBuilder"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.interceptor.RetryInterceptorBuilder].maxAttempts(int)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.interceptor.RetryInterceptorBuilder$StatefulRetryInterceptorBuilder:251,1"
      Dst: "[org.springframework.retry.interceptor.RetryInterceptorBuilder].maxAttempts(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.interceptor.RetryInterceptorBuilder$StatefulRetryInterceptorBuilder].backOffOptions(long,double,long)"
    functionSourceFile: "org.springframework.retry.interceptor.RetryInterceptorBuilder$StatefulRetryInterceptorBuilder"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "org.springframework.retry.interceptor.RetryInterceptorBuilder$StatefulRetryInterceptorBuilder"
    argCount: 3
    argTypes:
    - "long"
    - "double"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.interceptor.RetryInterceptorBuilder].backOffOptions(long,double,long)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.interceptor.RetryInterceptorBuilder$StatefulRetryInterceptorBuilder:258,1"
      Dst: "[org.springframework.retry.interceptor.RetryInterceptorBuilder].backOffOptions(long,double,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.interceptor.RetryInterceptorBuilder$StatefulRetryInterceptorBuilder].retryPolicy(org.springframework.retry.RetryPolicy)"
    functionSourceFile: "org.springframework.retry.interceptor.RetryInterceptorBuilder$StatefulRetryInterceptorBuilder"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "org.springframework.retry.interceptor.RetryInterceptorBuilder$StatefulRetryInterceptorBuilder"
    argCount: 1
    argTypes:
    - "org.springframework.retry.RetryPolicy"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.interceptor.RetryInterceptorBuilder].retryPolicy(org.springframework.retry.RetryPolicy)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.interceptor.RetryInterceptorBuilder$StatefulRetryInterceptorBuilder:264,1"
      Dst: "[org.springframework.retry.interceptor.RetryInterceptorBuilder].retryPolicy(org.springframework.retry.RetryPolicy)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.interceptor.RetryInterceptorBuilder$StatefulRetryInterceptorBuilder].backOffPolicy(org.springframework.retry.backoff.BackOffPolicy)"
    functionSourceFile: "org.springframework.retry.interceptor.RetryInterceptorBuilder$StatefulRetryInterceptorBuilder"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "org.springframework.retry.interceptor.RetryInterceptorBuilder$StatefulRetryInterceptorBuilder"
    argCount: 1
    argTypes:
    - "org.springframework.retry.backoff.BackOffPolicy"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.interceptor.RetryInterceptorBuilder].backOffPolicy(org.springframework.retry.backoff.BackOffPolicy)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.interceptor.RetryInterceptorBuilder$StatefulRetryInterceptorBuilder:270,1"
      Dst: "[org.springframework.retry.interceptor.RetryInterceptorBuilder].backOffPolicy(org.springframework.retry.backoff.BackOffPolicy)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.interceptor.RetryInterceptorBuilder$StatefulRetryInterceptorBuilder].recoverer(org.springframework.retry.interceptor.MethodInvocationRecoverer)"
    functionSourceFile: "org.springframework.retry.interceptor.RetryInterceptorBuilder$StatefulRetryInterceptorBuilder"
    linkageType: ""
    functionLinenumber: 275
    functionLinenumberEnd: 278
    functionDepth: 0
    returnType: "org.springframework.retry.interceptor.RetryInterceptorBuilder$StatefulRetryInterceptorBuilder"
    argCount: 1
    argTypes:
    - "org.springframework.retry.interceptor.MethodInvocationRecoverer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.interceptor.RetryInterceptorBuilder].recoverer(org.springframework.retry.interceptor.MethodInvocationRecoverer)"
    functionUses: 2
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.interceptor.RetryInterceptorBuilder$StatefulRetryInterceptorBuilder:276,1"
      Dst: "[org.springframework.retry.interceptor.RetryInterceptorBuilder].recoverer(org.springframework.retry.interceptor.MethodInvocationRecoverer)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.interceptor.RetryInterceptorBuilder$StatefulRetryInterceptorBuilder].build()"
    functionSourceFile: "org.springframework.retry.interceptor.RetryInterceptorBuilder$StatefulRetryInterceptorBuilder"
    linkageType: ""
    functionLinenumber: 281
    functionLinenumberEnd: 304
    functionDepth: 1
    returnType: "org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor].setRecoverer(org.springframework.retry.interceptor.MethodInvocationRecoverer)"
    - "[org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor].setRetryOperations(org.springframework.retry.RetryOperations)"
    - "[org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor].setKeyGenerator(org.springframework.retry.interceptor.MethodArgumentsKeyGenerator)"
    - "[org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor].setRollbackClassifier(org.springframework.classify.Classifier)"
    - "[org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor].setNewItemIdentifier(org.springframework.retry.interceptor.NewMethodArgumentsIdentifier)"
    - "[org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor].setLabel(java.lang.String)"
    functionUses: 3
    ICount: 37
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "org.springframework.retry.interceptor.RetryInterceptorBuilder$StatefulRetryInterceptorBuilder:282"
      Branch Sides:
      - BranchSide: "org.springframework.retry.interceptor.RetryInterceptorBuilder$StatefulRetryInterceptorBuilder:285"
        BranchSideFuncs:
        - "setRecoverer(org.springframework.retry.interceptor.MethodInvocationRecoverer)"
      - BranchSide: "org.springframework.retry.interceptor.RetryInterceptorBuilder$StatefulRetryInterceptorBuilder:284"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.interceptor.RetryInterceptorBuilder$StatefulRetryInterceptorBuilder:285"
      Branch Sides:
      - BranchSide: "org.springframework.retry.interceptor.RetryInterceptorBuilder$StatefulRetryInterceptorBuilder:289"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.interceptor.RetryInterceptorBuilder$StatefulRetryInterceptorBuilder:288"
        BranchSideFuncs:
        - "setRetryOperations(org.springframework.retry.RetryOperations)"
    - Branch String: "org.springframework.retry.interceptor.RetryInterceptorBuilder$StatefulRetryInterceptorBuilder:291"
      Branch Sides:
      - BranchSide: "org.springframework.retry.interceptor.RetryInterceptorBuilder$StatefulRetryInterceptorBuilder:294"
        BranchSideFuncs:
        - "setKeyGenerator(org.springframework.retry.interceptor.MethodArgumentsKeyGenerator)"
      - BranchSide: "org.springframework.retry.interceptor.RetryInterceptorBuilder$StatefulRetryInterceptorBuilder:293"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.interceptor.RetryInterceptorBuilder$StatefulRetryInterceptorBuilder:294"
      Branch Sides:
      - BranchSide: "org.springframework.retry.interceptor.RetryInterceptorBuilder$StatefulRetryInterceptorBuilder:297"
        BranchSideFuncs:
        - "setRollbackClassifier(org.springframework.classify.Classifier)"
      - BranchSide: "org.springframework.retry.interceptor.RetryInterceptorBuilder$StatefulRetryInterceptorBuilder:296"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.interceptor.RetryInterceptorBuilder$StatefulRetryInterceptorBuilder:297"
      Branch Sides:
      - BranchSide: "org.springframework.retry.interceptor.RetryInterceptorBuilder$StatefulRetryInterceptorBuilder:300"
        BranchSideFuncs:
        - "setNewItemIdentifier(org.springframework.retry.interceptor.NewMethodArgumentsIdentifier)"
      - BranchSide: "org.springframework.retry.interceptor.RetryInterceptorBuilder$StatefulRetryInterceptorBuilder:299"
        BranchSideFuncs: []
    - Branch String: "org.springframework.retry.interceptor.RetryInterceptorBuilder$StatefulRetryInterceptorBuilder:300"
      Branch Sides:
      - BranchSide: "org.springframework.retry.interceptor.RetryInterceptorBuilder$StatefulRetryInterceptorBuilder:303"
        BranchSideFuncs:
        - "setLabel(java.lang.String)"
      - BranchSide: "org.springframework.retry.interceptor.RetryInterceptorBuilder$StatefulRetryInterceptorBuilder:302"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.springframework.retry.interceptor.RetryInterceptorBuilder$StatefulRetryInterceptorBuilder:283,1"
      Dst: "[org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor].setRecoverer(org.springframework.retry.interceptor.MethodInvocationRecoverer)"
    - Src: "org.springframework.retry.interceptor.RetryInterceptorBuilder$StatefulRetryInterceptorBuilder:286,1"
      Dst: "[org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor].setRetryOperations(org.springframework.retry.RetryOperations)"
    - Src: "org.springframework.retry.interceptor.RetryInterceptorBuilder$StatefulRetryInterceptorBuilder:292,1"
      Dst: "[org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor].setKeyGenerator(org.springframework.retry.interceptor.MethodArgumentsKeyGenerator)"
    - Src: "org.springframework.retry.interceptor.RetryInterceptorBuilder$StatefulRetryInterceptorBuilder:295,1"
      Dst: "[org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor].setRollbackClassifier(org.springframework.classify.Classifier)"
    - Src: "org.springframework.retry.interceptor.RetryInterceptorBuilder$StatefulRetryInterceptorBuilder:298,1"
      Dst: "[org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor].setNewItemIdentifier(org.springframework.retry.interceptor.NewMethodArgumentsIdentifier)"
    - Src: "org.springframework.retry.interceptor.RetryInterceptorBuilder$StatefulRetryInterceptorBuilder:301,1"
      Dst: "[org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor].setLabel(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 14
    CyclomaticComplexity: 7
  - functionName: "[org.springframework.retry.interceptor.RetryInterceptorBuilder$StatefulRetryInterceptorBuilder].<init>()"
    functionSourceFile: "org.springframework.retry.interceptor.RetryInterceptorBuilder$StatefulRetryInterceptorBuilder"
    linkageType: ""
    functionLinenumber: 305
    functionLinenumberEnd: 308
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor].<init>()"
    - "[org.springframework.retry.interceptor.RetryInterceptorBuilder].<init>(org.springframework.retry.interceptor.RetryInterceptorBuilder$1)"
    functionUses: 1
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.interceptor.RetryInterceptorBuilder$StatefulRetryInterceptorBuilder:306,1"
      Dst: "[org.springframework.retry.interceptor.RetryInterceptorBuilder].<init>(org.springframework.retry.interceptor.RetryInterceptorBuilder$1)"
    - Src: "org.springframework.retry.interceptor.RetryInterceptorBuilder$StatefulRetryInterceptorBuilder:202,1"
      Dst: "[org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.interceptor.RetryInterceptorBuilder$StatefulRetryInterceptorBuilder].<init>(org.springframework.retry.interceptor.RetryInterceptorBuilder$1)"
    functionSourceFile: "org.springframework.retry.interceptor.RetryInterceptorBuilder$StatefulRetryInterceptorBuilder"
    linkageType: ""
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.springframework.retry.interceptor.RetryInterceptorBuilder$1"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.interceptor.RetryInterceptorBuilder$StatefulRetryInterceptorBuilder].<init>()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.interceptor.RetryInterceptorBuilder$StatefulRetryInterceptorBuilder:199,1"
      Dst: "[org.springframework.retry.interceptor.RetryInterceptorBuilder$StatefulRetryInterceptorBuilder].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor$1].<init>()"
    functionSourceFile: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor$1"
    linkageType: ""
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor$1:83,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor$1].invoke(org.aopalliance.intercept.MethodInvocation)"
    functionSourceFile: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor$1"
    linkageType: ""
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "org.aopalliance.intercept.MethodInvocation"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[javax.naming.OperationNotSupportedException].<init>(java.lang.String)"
    functionUses: 3
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor$1:86,1"
      Dst: "[javax.naming.OperationNotSupportedException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions:
      - "java.lang.Throwable"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.classify.util.AnnotationMethodResolver].<init>(java.lang.Class)"
    functionSourceFile: "org.springframework.classify.util.AnnotationMethodResolver"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[org.springframework.util.Assert].notNull(java.lang.Object,java.lang.String)"
    - "[java.lang.Class].getAnnotation(java.lang.Class)"
    - "[java.lang.annotation.Target].value()"
    - "[org.springframework.util.ObjectUtils].containsElement(java.lang.Object[],java.lang.Object)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    - "[org.springframework.util.Assert].isTrue(boolean,java.lang.String)"
    functionUses: 0
    ICount: 18
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.classify.util.AnnotationMethodResolver:45,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "org.springframework.classify.util.AnnotationMethodResolver:46,1"
      Dst: "[org.springframework.util.Assert].notNull(java.lang.Object,java.lang.String)"
    - Src: "org.springframework.classify.util.AnnotationMethodResolver:48,1"
      Dst: "[java.lang.Class].getAnnotation(java.lang.Class)"
    - Src: "org.springframework.classify.util.AnnotationMethodResolver:48,1"
      Dst: "[java.lang.annotation.Target].value()"
    - Src: "org.springframework.classify.util.AnnotationMethodResolver:48,1"
      Dst: "[org.springframework.util.ObjectUtils].containsElement(java.lang.Object[],java.lang.Object)"
    - Src: "org.springframework.classify.util.AnnotationMethodResolver:48,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "org.springframework.classify.util.AnnotationMethodResolver:48,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "org.springframework.classify.util.AnnotationMethodResolver:48,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "org.springframework.classify.util.AnnotationMethodResolver:48,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "org.springframework.classify.util.AnnotationMethodResolver:47,1"
      Dst: "[org.springframework.util.Assert].isTrue(boolean,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.classify.util.AnnotationMethodResolver].findMethod(java.lang.Object)"
    functionSourceFile: "org.springframework.classify.util.AnnotationMethodResolver"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.reflect.Method"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.util.Assert].notNull(java.lang.Object,java.lang.String)"
    - "[org.springframework.aop.support.AopUtils].getTargetClass(java.lang.Object)"
    - "[java.lang.Object].getClass()"
    - "[org.springframework.classify.util.AnnotationMethodResolver].findMethod(java.lang.Class)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.springframework.classify.util.AnnotationMethodResolver:65"
      Branch Sides:
      - BranchSide: "org.springframework.classify.util.AnnotationMethodResolver:68"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.classify.util.AnnotationMethodResolver:67"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.springframework.classify.util.AnnotationMethodResolver:63,1"
      Dst: "[org.springframework.util.Assert].notNull(java.lang.Object,java.lang.String)"
    - Src: "org.springframework.classify.util.AnnotationMethodResolver:64,1"
      Dst: "[org.springframework.aop.support.AopUtils].getTargetClass(java.lang.Object)"
    - Src: "org.springframework.classify.util.AnnotationMethodResolver:66,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "org.springframework.classify.util.AnnotationMethodResolver:68,1"
      Dst: "[org.springframework.classify.util.AnnotationMethodResolver].findMethod(java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[org.springframework.classify.util.AnnotationMethodResolver].findMethod(java.lang.Class<?>)"
    functionSourceFile: "org.springframework.classify.util.AnnotationMethodResolver"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.lang.reflect.Method"
    argCount: 1
    argTypes:
    - "java.lang.Class<?>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.util.Assert].notNull(java.lang.Object,java.lang.String)"
    - "[java.util.concurrent.atomic.AtomicReference].<init>()"
    - "[org.springframework.classify.util.AnnotationMethodResolver$1].<init>(org.springframework.classify.util.AnnotationMethodResolver,java.util.concurrent.atomic.AtomicReference,java.lang.Class)"
    - "[org.springframework.util.ReflectionUtils].doWithMethods(java.lang.Class,org.springframework.util.ReflectionUtils$MethodCallback)"
    - "[java.util.concurrent.atomic.AtomicReference].get()"
    functionUses: 0
    ICount: 11
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.classify.util.AnnotationMethodResolver:81,1"
      Dst: "[org.springframework.util.Assert].notNull(java.lang.Object,java.lang.String)"
    - Src: "org.springframework.classify.util.AnnotationMethodResolver:82,1"
      Dst: "[java.util.concurrent.atomic.AtomicReference].<init>()"
    - Src: "org.springframework.classify.util.AnnotationMethodResolver:83,1"
      Dst: "[org.springframework.classify.util.AnnotationMethodResolver$1].<init>(org.springframework.classify.util.AnnotationMethodResolver,java.util.concurrent.atomic.AtomicReference,java.lang.Class)"
    - Src: "org.springframework.classify.util.AnnotationMethodResolver:83,1"
      Dst: "[org.springframework.util.ReflectionUtils].doWithMethods(java.lang.Class,org.springframework.util.ReflectionUtils$MethodCallback)"
    - Src: "org.springframework.classify.util.AnnotationMethodResolver:93,1"
      Dst: "[java.util.concurrent.atomic.AtomicReference].get()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.classify.util.AnnotationMethodResolver$1].<init>(org.springframework.classify.util.AnnotationMethodResolver,java.util.concurrent.atomic.AtomicReference,java.lang.Class)"
    functionSourceFile: "org.springframework.classify.util.AnnotationMethodResolver$1"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "org.springframework.classify.util.AnnotationMethodResolver"
    - "java.util.concurrent.atomic.AtomicReference"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.classify.util.AnnotationMethodResolver$1:83,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.classify.util.AnnotationMethodResolver].access$000(org.springframework.classify.util.AnnotationMethodResolver)"
    functionSourceFile: "org.springframework.classify.util.AnnotationMethodResolver"
    linkageType: ""
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionDepth: 0
    returnType: "java.lang.Class"
    argCount: 1
    argTypes:
    - "org.springframework.classify.util.AnnotationMethodResolver"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.interceptor.RetryOperationsInterceptor$1].doWithRetry(org.springframework.retry.RetryContext)"
    functionSourceFile: "org.springframework.retry.interceptor.RetryOperationsInterceptor$1"
    linkageType: ""
    functionLinenumber: 85
    functionLinenumberEnd: 111
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "org.springframework.retry.RetryContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.core.AttributeAccessorSupport].setAttribute(java.lang.String,java.lang.Object)"
    - "[org.springframework.aop.framework.ReflectiveMethodInvocation].getProxy()"
    - "[org.springframework.aop.framework.ReflectiveMethodInvocation].invocableClone()"
    - "[org.springframework.aop.framework.ReflectiveMethodInvocation].proceed()"
    - "[java.lang.IllegalStateException].<init>(java.lang.Throwable)"
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - "[org.springframework.core.AttributeAccessor].setAttribute(java.lang.String,java.lang.Object)"
    - "[org.springframework.aop.ProxyMethodInvocation].getProxy()"
    - "[org.springframework.aop.ProxyMethodInvocation].invocableClone()"
    - "[org.aopalliance.intercept.Joinpoint].proceed()"
    functionUses: 1
    ICount: 27
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "org.springframework.retry.interceptor.RetryOperationsInterceptor$1:94"
      Branch Sides:
      - BranchSide: "org.springframework.retry.interceptor.RetryOperationsInterceptor$1:110"
        BranchSideFuncs:
        - "setAttribute(java.lang.String,java.lang.Object)"
        - "proceed()"
        - "getProxy()"
        - "invocableClone()"
      - BranchSide: "org.springframework.retry.interceptor.RetryOperationsInterceptor$1:109"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
    Callsites:
    - Src: "org.springframework.retry.interceptor.RetryOperationsInterceptor$1:86,1"
      Dst: "[org.springframework.core.AttributeAccessor].setAttribute(java.lang.String,java.lang.Object)"
    - Src: "org.springframework.retry.interceptor.RetryOperationsInterceptor$1:95,1"
      Dst: "[org.springframework.aop.ProxyMethodInvocation].getProxy()"
    - Src: "org.springframework.retry.interceptor.RetryOperationsInterceptor$1:97,1"
      Dst: "[org.springframework.aop.ProxyMethodInvocation].invocableClone()"
    - Src: "org.springframework.retry.interceptor.RetryOperationsInterceptor$1:97,1"
      Dst: "[org.aopalliance.intercept.Joinpoint].proceed()"
    - Src: "org.springframework.retry.interceptor.RetryOperationsInterceptor$1:106,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.Throwable)"
    - Src: "org.springframework.retry.interceptor.RetryOperationsInterceptor$1:110,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions:
      - "java.lang.Exception"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.support.RetrySimulation$SleepSequence].getSleeps()"
    functionSourceFile: "org.springframework.retry.support.RetrySimulation$SleepSequence"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.support.RetrySimulation$SleepSequence].getLongestSleep()"
    functionSourceFile: "org.springframework.retry.support.RetrySimulation$SleepSequence"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.support.RetrySimulation$SleepSequence].toString()"
    functionSourceFile: "org.springframework.retry.support.RetrySimulation$SleepSequence"
    linkageType: ""
    functionLinenumber: 113
    functionLinenumberEnd: 115
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.Object].toString()"
    - "[java.lang.StringBuilder:java.util.AbstractCollection:java.util.Vector:java.util.concurrent.CopyOnWriteArrayList].toString()"
    - "[java.lang.StringBuilder].append(long)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 32
    ICount: 12
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.support.RetrySimulation$SleepSequence:114,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "org.springframework.retry.support.RetrySimulation$SleepSequence:114,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "org.springframework.retry.support.RetrySimulation$SleepSequence:114,1"
      Dst: "[java.lang.StringBuilder].append(long)"
    - Src: "org.springframework.retry.support.RetrySimulation$SleepSequence:114,1"
      Dst: "[java.lang.Object].toString()"
    - Src: "org.springframework.retry.support.RetrySimulation$SleepSequence:114,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.classify.util.MethodInvokerUtils$2].doWith(java.lang.reflect.Method)"
    functionSourceFile: "org.springframework.classify.util.MethodInvokerUtils$2"
    linkageType: ""
    functionLinenumber: 164
    functionLinenumberEnd: 173
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.reflect.Method"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.core.annotation.AnnotationUtils].findAnnotation(java.lang.reflect.Method,java.lang.Class)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.util.concurrent.atomic.AtomicReference].get()"
    - "[org.springframework.util.Assert].isNull(java.lang.Object,java.lang.String)"
    - "[java.lang.Class].getSimpleName()"
    - "[java.lang.StringBuilder].toString()"
    - "[java.util.concurrent.atomic.AtomicReference].set(java.lang.Object)"
    functionUses: 2
    ICount: 23
    EdgeCount: 13
    BranchProfiles:
    - Branch String: "org.springframework.classify.util.MethodInvokerUtils$2:166"
      Branch Sides:
      - BranchSide: "org.springframework.classify.util.MethodInvokerUtils$2:172"
        BranchSideFuncs:
        - "<init>()"
        - "isNull(java.lang.Object,java.lang.String)"
        - "set(java.lang.Object)"
        - "append(java.lang.String)"
        - "toString()"
        - "get()"
        - "getSimpleName()"
      - BranchSide: "org.springframework.classify.util.MethodInvokerUtils$2:171"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.springframework.classify.util.MethodInvokerUtils$2:165,1"
      Dst: "[org.springframework.core.annotation.AnnotationUtils].findAnnotation(java.lang.reflect.Method,java.lang.Class)"
    - Src: "org.springframework.classify.util.MethodInvokerUtils$2:167,1"
      Dst: "[java.util.concurrent.atomic.AtomicReference].get()"
    - Src: "org.springframework.classify.util.MethodInvokerUtils$2:167,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "org.springframework.classify.util.MethodInvokerUtils$2:167,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "org.springframework.classify.util.MethodInvokerUtils$2:168,1"
      Dst: "[java.lang.Class].getSimpleName()"
    - Src: "org.springframework.classify.util.MethodInvokerUtils$2:169,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "org.springframework.classify.util.MethodInvokerUtils$2:167,1"
      Dst: "[org.springframework.util.Assert].isNull(java.lang.Object,java.lang.String)"
    - Src: "org.springframework.classify.util.MethodInvokerUtils$2:170,1"
      Dst: "[java.util.concurrent.atomic.AtomicReference].set(java.lang.Object)"
    JavaMethodInfo:
      exceptions:
      - "java.lang.IllegalArgumentException"
      - "java.lang.IllegalAccessException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[org.springframework.classify.util.AnnotationMethodResolver$1].doWith(java.lang.reflect.Method)"
    functionSourceFile: "org.springframework.classify.util.AnnotationMethodResolver$1"
    linkageType: ""
    functionLinenumber: 84
    functionLinenumberEnd: 92
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.reflect.Method"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.classify.util.AnnotationMethodResolver].access$000(org.springframework.classify.util.AnnotationMethodResolver)"
    - "[org.springframework.core.annotation.AnnotationUtils].findAnnotation(java.lang.reflect.Method,java.lang.Class)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.util.concurrent.atomic.AtomicReference].get()"
    - "[org.springframework.util.Assert].isNull(java.lang.Object,java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.util.concurrent.atomic.AtomicReference].set(java.lang.Object)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    functionUses: 2
    ICount: 23
    EdgeCount: 10
    BranchProfiles:
    - Branch String: "org.springframework.classify.util.AnnotationMethodResolver$1:86"
      Branch Sides:
      - BranchSide: "org.springframework.classify.util.AnnotationMethodResolver$1:91"
        BranchSideFuncs:
        - "<init>()"
        - "isNull(java.lang.Object,java.lang.String)"
        - "set(java.lang.Object)"
        - "append(java.lang.String)"
        - "toString()"
        - "get()"
        - "access$000(org.springframework.classify.util.AnnotationMethodResolver)"
      - BranchSide: "org.springframework.classify.util.AnnotationMethodResolver$1:90"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.springframework.classify.util.AnnotationMethodResolver$1:85,1"
      Dst: "[org.springframework.classify.util.AnnotationMethodResolver].access$000(org.springframework.classify.util.AnnotationMethodResolver)"
    - Src: "org.springframework.classify.util.AnnotationMethodResolver$1:85,1"
      Dst: "[org.springframework.core.annotation.AnnotationUtils].findAnnotation(java.lang.reflect.Method,java.lang.Class)"
    - Src: "org.springframework.classify.util.AnnotationMethodResolver$1:87,1"
      Dst: "[java.util.concurrent.atomic.AtomicReference].get()"
    - Src: "org.springframework.classify.util.AnnotationMethodResolver$1:87,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "org.springframework.classify.util.AnnotationMethodResolver$1:87,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "org.springframework.classify.util.AnnotationMethodResolver$1:87,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "org.springframework.classify.util.AnnotationMethodResolver$1:88,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "org.springframework.classify.util.AnnotationMethodResolver$1:87,1"
      Dst: "[org.springframework.util.Assert].isNull(java.lang.Object,java.lang.String)"
    - Src: "org.springframework.classify.util.AnnotationMethodResolver$1:89,1"
      Dst: "[java.util.concurrent.atomic.AtomicReference].set(java.lang.Object)"
    JavaMethodInfo:
      exceptions:
      - "java.lang.IllegalArgumentException"
      - "java.lang.IllegalAccessException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[org.springframework.retry.backoff.FixedBackOffPolicy].withSleeper(org.springframework.retry.backoff.Sleeper)"
    functionSourceFile: "org.springframework.retry.backoff.FixedBackOffPolicy"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "org.springframework.retry.backoff.FixedBackOffPolicy"
    argCount: 1
    argTypes:
    - "org.springframework.retry.backoff.Sleeper"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.backoff.FixedBackOffPolicy].<init>()"
    - "[org.springframework.retry.backoff.FixedBackOffPolicy].setBackOffPeriod(long)"
    - "[org.springframework.retry.backoff.FixedBackOffPolicy].setSleeper(org.springframework.retry.backoff.Sleeper)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.backoff.FixedBackOffPolicy:46,1"
      Dst: "[org.springframework.retry.backoff.FixedBackOffPolicy].<init>()"
    - Src: "org.springframework.retry.backoff.FixedBackOffPolicy:47,1"
      Dst: "[org.springframework.retry.backoff.FixedBackOffPolicy].setBackOffPeriod(long)"
    - Src: "org.springframework.retry.backoff.FixedBackOffPolicy:48,1"
      Dst: "[org.springframework.retry.backoff.FixedBackOffPolicy].setSleeper(org.springframework.retry.backoff.Sleeper)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.backoff.FixedBackOffPolicy].getBackOffPeriod()"
    functionSourceFile: "org.springframework.retry.backoff.FixedBackOffPolicy"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.backoff.FixedBackOffPolicy].doBackOff()"
    functionSourceFile: "org.springframework.retry.backoff.FixedBackOffPolicy"
    linkageType: ""
    functionLinenumber: 81
    functionLinenumberEnd: 88
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.support.RetrySimulator$StealingSleeper].sleep(long)"
    - "[org.springframework.retry.backoff.ThreadWaitSleeper].sleep(long)"
    - "[org.springframework.retry.backoff.ObjectWaitSleeper].sleep(long)"
    - "[org.springframework.retry.backoff.BackOffInterruptedException].<init>(java.lang.String,java.lang.Throwable)"
    - "[org.springframework.retry.backoff.Sleeper].sleep(long)"
    functionUses: 1
    ICount: 10
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.backoff.FixedBackOffPolicy:82,1"
      Dst: "[org.springframework.retry.backoff.Sleeper].sleep(long)"
    - Src: "org.springframework.retry.backoff.FixedBackOffPolicy:85,1"
      Dst: "[org.springframework.retry.backoff.BackOffInterruptedException].<init>(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions:
      - "org.springframework.retry.backoff.BackOffInterruptedException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.backoff.FixedBackOffPolicy].toString()"
    functionSourceFile: "org.springframework.retry.backoff.FixedBackOffPolicy"
    linkageType: ""
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.StringBuilder].append(long)"
    functionUses: 32
    ICount: 9
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.backoff.FixedBackOffPolicy:90,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "org.springframework.retry.backoff.FixedBackOffPolicy:90,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "org.springframework.retry.backoff.FixedBackOffPolicy:90,1"
      Dst: "[java.lang.StringBuilder].append(long)"
    - Src: "org.springframework.retry.backoff.FixedBackOffPolicy:90,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.stats.DefaultRetryStatistics].<init>()"
    functionSourceFile: "org.springframework.retry.stats.DefaultRetryStatistics"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.core.AttributeAccessorSupport].<init>()"
    - "[java.util.concurrent.atomic.AtomicInteger].<init>()"
    functionUses: 0
    ICount: 18
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.stats.DefaultRetryStatistics:44,1"
      Dst: "[org.springframework.core.AttributeAccessorSupport].<init>()"
    - Src: "org.springframework.retry.stats.DefaultRetryStatistics:34,1"
      Dst: "[java.util.concurrent.atomic.AtomicInteger].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.stats.DefaultRetryStatistics].getCompleteCount()"
    functionSourceFile: "org.springframework.retry.stats.DefaultRetryStatistics"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.atomic.AtomicInteger].get()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.stats.DefaultRetryStatistics:53,1"
      Dst: "[java.util.concurrent.atomic.AtomicInteger].get()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.stats.DefaultRetryStatistics].getStartedCount()"
    functionSourceFile: "org.springframework.retry.stats.DefaultRetryStatistics"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.atomic.AtomicInteger].get()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.stats.DefaultRetryStatistics:58,1"
      Dst: "[java.util.concurrent.atomic.AtomicInteger].get()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.stats.DefaultRetryStatistics].getErrorCount()"
    functionSourceFile: "org.springframework.retry.stats.DefaultRetryStatistics"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.atomic.AtomicInteger].get()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.stats.DefaultRetryStatistics:63,1"
      Dst: "[java.util.concurrent.atomic.AtomicInteger].get()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.stats.DefaultRetryStatistics].getAbortCount()"
    functionSourceFile: "org.springframework.retry.stats.DefaultRetryStatistics"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.atomic.AtomicInteger].get()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.stats.DefaultRetryStatistics:68,1"
      Dst: "[java.util.concurrent.atomic.AtomicInteger].get()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.stats.DefaultRetryStatistics].getName()"
    functionSourceFile: "org.springframework.retry.stats.DefaultRetryStatistics"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.stats.DefaultRetryStatistics].getRecoveryCount()"
    functionSourceFile: "org.springframework.retry.stats.DefaultRetryStatistics"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.atomic.AtomicInteger].get()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.stats.DefaultRetryStatistics:78,1"
      Dst: "[java.util.concurrent.atomic.AtomicInteger].get()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.stats.DefaultRetryStatistics].setName(java.lang.String)"
    functionSourceFile: "org.springframework.retry.stats.DefaultRetryStatistics"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.stats.DefaultRetryStatistics].toString()"
    functionSourceFile: "org.springframework.retry.stats.DefaultRetryStatistics"
    linkageType: ""
    functionLinenumber: 111
    functionLinenumberEnd: 113
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    functionUses: 32
    ICount: 24
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.stats.DefaultRetryStatistics:112,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "org.springframework.retry.stats.DefaultRetryStatistics:112,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "org.springframework.retry.stats.DefaultRetryStatistics:112,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "org.springframework.retry.stats.DefaultRetryStatistics:112,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.SoftReferenceMapRetryContextCache].<init>()"
    functionSourceFile: "org.springframework.retry.policy.SoftReferenceMapRetryContextCache"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.policy.SoftReferenceMapRetryContextCache].<init>(int)"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.policy.SoftReferenceMapRetryContextCache:51,1"
      Dst: "[org.springframework.retry.policy.SoftReferenceMapRetryContextCache].<init>(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.SoftReferenceMapRetryContextCache].<init>(int)"
    functionSourceFile: "org.springframework.retry.policy.SoftReferenceMapRetryContextCache"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.util.HashMap].<init>()"
    - "[java.util.Collections].synchronizedMap(java.util.Map)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.policy.SoftReferenceMapRetryContextCache:58,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "org.springframework.retry.policy.SoftReferenceMapRetryContextCache:42,1"
      Dst: "[java.util.HashMap].<init>()"
    - Src: "org.springframework.retry.policy.SoftReferenceMapRetryContextCache:43,1"
      Dst: "[java.util.Collections].synchronizedMap(java.util.Map)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.SoftReferenceMapRetryContextCache].setCapacity(int)"
    functionSourceFile: "org.springframework.retry.policy.SoftReferenceMapRetryContextCache"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.SoftReferenceMapRetryContextCache].containsKey(java.lang.Object)"
    functionSourceFile: "org.springframework.retry.policy.SoftReferenceMapRetryContextCache"
    linkageType: ""
    functionLinenumber: 73
    functionLinenumberEnd: 82
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.apache.commons.logging.impl.WeakHashtable].containsKey(java.lang.Object)"
    - "[org.springframework.util.CollectionUtils$MultiValueMapAdapter].containsKey(java.lang.Object)"
    - "[org.springframework.util.LinkedCaseInsensitiveMap].containsKey(java.lang.Object)"
    - "[org.springframework.util.LinkedMultiValueMap].containsKey(java.lang.Object)"
    - "[org.springframework.util.ConcurrentReferenceHashMap].containsKey(java.lang.Object)"
    - "[com.google.gson.internal.LinkedHashTreeMap].containsKey(java.lang.Object)"
    - "[org.springframework.util.LinkedCaseInsensitiveMap$1].containsKey(java.lang.Object)"
    - "[com.google.gson.internal.LinkedTreeMap].containsKey(java.lang.Object)"
    - "[org.springframework.cglib.beans.BeanMap].containsKey(java.lang.Object)"
    - "[org.springframework.core.env.ReadOnlySystemAttributesMap].containsKey(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentHashMap].containsKey(java.lang.Object)"
    - "[org.springframework.util.ConcurrentReferenceHashMap$SoftEntryReference].get()"
    - "[org.springframework.util.ConcurrentReferenceHashMap].get(java.lang.Object)"
    - "[org.springframework.util.LinkedCaseInsensitiveMap].get(java.lang.Object)"
    - "[com.google.gson.internal.LinkedTreeMap].get(java.lang.Object)"
    - "[org.springframework.core.env.ReadOnlySystemAttributesMap].get(java.lang.Object)"
    - "[org.springframework.util.LinkedMultiValueMap].get(java.lang.Object)"
    - "[org.springframework.util.CollectionUtils$MultiValueMapAdapter].get(java.lang.Object)"
    - "[com.google.gson.internal.LinkedHashTreeMap].get(java.lang.Object)"
    - "[org.apache.commons.logging.impl.WeakHashtable].get(java.lang.Object)"
    - "[java.lang.ref.SoftReference].get()"
    - "[org.springframework.util.LinkedCaseInsensitiveMap].remove(java.lang.Object)"
    - "[org.springframework.core.env.ReadOnlySystemAttributesMap].remove(java.lang.Object)"
    - "[org.springframework.util.ConcurrentReferenceHashMap].remove(java.lang.Object)"
    - "[com.google.gson.internal.LinkedTreeMap].remove(java.lang.Object)"
    - "[org.springframework.cglib.beans.BeanMap].remove(java.lang.Object)"
    - "[org.springframework.util.CollectionUtils$MultiValueMapAdapter].remove(java.lang.Object)"
    - "[org.springframework.util.LinkedMultiValueMap].remove(java.lang.Object)"
    - "[org.apache.commons.logging.impl.WeakHashtable].remove(java.lang.Object)"
    - "[com.google.gson.internal.LinkedHashTreeMap].remove(java.lang.Object)"
    - "[com.sun.net.httpserver.Headers:java.awt.RenderingHints:java.security.Provider:java.util.AbstractMap:java.util.EnumMap:java.util.HashMap:java.util.Hashtable:java.util.IdentityHashMap:java.util.Properties:java.util.TreeMap:java.util.WeakHashMap:java.util.concurrent.ConcurrentHashMap:java.util.concurrent.ConcurrentSkipListMap:java.util.concurrent.ConcurrentSkipListMap$SubMap:java.util.jar.Attributes:javax.script.SimpleBindings].remove(java.lang.Object)"
    - "[java.util.Map].containsKey(java.lang.Object)"
    - "[java.util.Map].get(java.lang.Object)"
    - "[java.util.Map].remove(java.lang.Object)"
    functionUses: 3
    ICount: 16
    EdgeCount: 41
    BranchProfiles:
    - Branch String: "org.springframework.retry.policy.SoftReferenceMapRetryContextCache:74"
      Branch Sides:
      - BranchSide: "org.springframework.retry.policy.SoftReferenceMapRetryContextCache:77"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.policy.SoftReferenceMapRetryContextCache:76"
        BranchSideFuncs:
        - "get()"
        - "get(java.lang.Object)"
    - Branch String: "org.springframework.retry.policy.SoftReferenceMapRetryContextCache:77"
      Branch Sides:
      - BranchSide: "org.springframework.retry.policy.SoftReferenceMapRetryContextCache:80"
        BranchSideFuncs:
        - "containsKey(java.lang.Object)"
    Callsites:
    - Src: "org.springframework.retry.policy.SoftReferenceMapRetryContextCache:74,1"
      Dst: "[java.util.Map].containsKey(java.lang.Object)"
    - Src: "org.springframework.retry.policy.SoftReferenceMapRetryContextCache:77,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    - Src: "org.springframework.retry.policy.SoftReferenceMapRetryContextCache:77,1"
      Dst: "[java.lang.ref.SoftReference].get()"
    - Src: "org.springframework.retry.policy.SoftReferenceMapRetryContextCache:79,1"
      Dst: "[java.util.Map].remove(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[org.springframework.retry.policy.SoftReferenceMapRetryContextCache].get(java.lang.Object)"
    functionSourceFile: "org.springframework.retry.policy.SoftReferenceMapRetryContextCache"
    linkageType: ""
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionDepth: 0
    returnType: "org.springframework.retry.RetryContext"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.util.ConcurrentReferenceHashMap$SoftEntryReference].get()"
    - "[org.springframework.util.ConcurrentReferenceHashMap].get(java.lang.Object)"
    - "[org.springframework.util.LinkedCaseInsensitiveMap].get(java.lang.Object)"
    - "[com.google.gson.internal.LinkedTreeMap].get(java.lang.Object)"
    - "[org.springframework.core.env.ReadOnlySystemAttributesMap].get(java.lang.Object)"
    - "[org.springframework.util.LinkedMultiValueMap].get(java.lang.Object)"
    - "[org.springframework.util.CollectionUtils$MultiValueMapAdapter].get(java.lang.Object)"
    - "[com.google.gson.internal.LinkedHashTreeMap].get(java.lang.Object)"
    - "[org.apache.commons.logging.impl.WeakHashtable].get(java.lang.Object)"
    - "[com.sun.net.httpserver.Headers:java.awt.RenderingHints:java.lang.ref.SoftReference:java.security.Provider:java.util.AbstractMap:java.util.EnumMap:java.util.HashMap:java.util.Hashtable:java.util.IdentityHashMap:java.util.LinkedHashMap:java.util.Properties:java.util.TreeMap:java.util.WeakHashMap:java.util.concurrent.ConcurrentHashMap:java.util.concurrent.ConcurrentSkipListMap:java.util.concurrent.ConcurrentSkipListMap$SubMap:java.util.jar.Attributes:javax.script.SimpleBindings:org.springframework.cglib.beans.BeanMap].get(java.lang.Object)"
    - "[java.util.Map].get(java.lang.Object)"
    - "[java.lang.ref.SoftReference].get()"
    functionUses: 1
    ICount: 8
    EdgeCount: 10
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.policy.SoftReferenceMapRetryContextCache:85,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    - Src: "org.springframework.retry.policy.SoftReferenceMapRetryContextCache:85,1"
      Dst: "[java.lang.ref.SoftReference].get()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.SoftReferenceMapRetryContextCache].put(java.lang.Object,org.springframework.retry.RetryContext)"
    functionSourceFile: "org.springframework.retry.policy.SoftReferenceMapRetryContextCache"
    linkageType: ""
    functionLinenumber: 88
    functionLinenumberEnd: 96
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "org.springframework.retry.RetryContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.util.LinkedCaseInsensitiveMap].size()"
    - "[org.apache.commons.logging.impl.WeakHashtable].size()"
    - "[org.springframework.core.env.ReadOnlySystemAttributesMap].size()"
    - "[org.springframework.util.ConcurrentReferenceHashMap].size()"
    - "[org.springframework.cglib.beans.BeanMap].size()"
    - "[org.springframework.util.CollectionUtils$MultiValueMapAdapter].size()"
    - "[org.springframework.util.LinkedMultiValueMap].size()"
    - "[java.util.concurrent.ConcurrentHashMap].size()"
    - "[org.springframework.retry.policy.RetryCacheCapacityExceededException].<init>(java.lang.String)"
    - "[java.lang.ref.SoftReference].<init>(java.lang.Object)"
    - "[org.apache.commons.logging.impl.WeakHashtable].put(java.lang.Object,java.lang.Object)"
    - "[org.springframework.util.CollectionUtils$MultiValueMapAdapter].put(java.lang.Object,java.lang.Object)"
    - "[com.google.gson.internal.LinkedTreeMap].put(java.lang.Object,java.lang.Object)"
    - "[org.springframework.util.ConcurrentReferenceHashMap].put(java.lang.Object,java.lang.Object)"
    - "[org.springframework.validation.support.BindingAwareModelMap].put(java.lang.Object,java.lang.Object)"
    - "[org.springframework.beans.factory.config.YamlProcessor$StrictMapAppenderConstructor$1].put(java.lang.Object,java.lang.Object)"
    - "[org.springframework.core.env.ReadOnlySystemAttributesMap].put(java.lang.Object,java.lang.Object)"
    - "[org.springframework.util.LinkedCaseInsensitiveMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.gson.internal.LinkedHashTreeMap].put(java.lang.Object,java.lang.Object)"
    - "[org.springframework.util.LinkedMultiValueMap].put(java.lang.Object,java.lang.Object)"
    - "[java.util.Map].size()"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    functionUses: 1
    ICount: 15
    EdgeCount: 20
    BranchProfiles:
    - Branch String: "org.springframework.retry.policy.SoftReferenceMapRetryContextCache:89"
      Branch Sides:
      - BranchSide: "org.springframework.retry.policy.SoftReferenceMapRetryContextCache:94"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "org.springframework.retry.policy.SoftReferenceMapRetryContextCache:93"
        BranchSideFuncs:
        - "put(java.lang.Object,java.lang.Object)"
        - "<init>(java.lang.Object)"
    Callsites:
    - Src: "org.springframework.retry.policy.SoftReferenceMapRetryContextCache:89,1"
      Dst: "[java.util.Map].size()"
    - Src: "org.springframework.retry.policy.SoftReferenceMapRetryContextCache:90,1"
      Dst: "[org.springframework.retry.policy.RetryCacheCapacityExceededException].<init>(java.lang.String)"
    - Src: "org.springframework.retry.policy.SoftReferenceMapRetryContextCache:94,1"
      Dst: "[java.lang.ref.SoftReference].<init>(java.lang.Object)"
    - Src: "org.springframework.retry.policy.SoftReferenceMapRetryContextCache:94,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.SoftReferenceMapRetryContextCache].remove(java.lang.Object)"
    functionSourceFile: "org.springframework.retry.policy.SoftReferenceMapRetryContextCache"
    linkageType: ""
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.util.LinkedCaseInsensitiveMap].remove(java.lang.Object)"
    - "[org.springframework.core.env.ReadOnlySystemAttributesMap].remove(java.lang.Object)"
    - "[org.springframework.util.ConcurrentReferenceHashMap].remove(java.lang.Object)"
    - "[com.google.gson.internal.LinkedTreeMap].remove(java.lang.Object)"
    - "[org.springframework.cglib.beans.BeanMap].remove(java.lang.Object)"
    - "[org.springframework.util.CollectionUtils$MultiValueMapAdapter].remove(java.lang.Object)"
    - "[org.springframework.util.LinkedMultiValueMap].remove(java.lang.Object)"
    - "[org.apache.commons.logging.impl.WeakHashtable].remove(java.lang.Object)"
    - "[com.google.gson.internal.LinkedHashTreeMap].remove(java.lang.Object)"
    - "[com.sun.net.httpserver.Headers:java.awt.RenderingHints:java.security.Provider:java.util.AbstractMap:java.util.EnumMap:java.util.HashMap:java.util.Hashtable:java.util.IdentityHashMap:java.util.Properties:java.util.TreeMap:java.util.WeakHashMap:java.util.concurrent.ConcurrentHashMap:java.util.concurrent.ConcurrentSkipListMap:java.util.concurrent.ConcurrentSkipListMap$SubMap:java.util.jar.Attributes:javax.script.SimpleBindings].remove(java.lang.Object)"
    - "[java.util.Map].remove(java.lang.Object)"
    functionUses: 2
    ICount: 5
    EdgeCount: 10
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.policy.SoftReferenceMapRetryContextCache:98,1"
      Dst: "[java.util.Map].remove(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.listener.RetryListenerSupport].<init>()"
    functionSourceFile: "org.springframework.retry.listener.RetryListenerSupport"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.listener.RetryListenerSupport:29,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.listener.RetryListenerSupport].close(org.springframework.retry.RetryContext,org.springframework.retry.RetryCallback<T,E>,java.lang.Throwable)"
    functionSourceFile: "org.springframework.retry.listener.RetryListenerSupport"
    linkageType: ""
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "org.springframework.retry.RetryContext"
    - "org.springframework.retry.RetryCallback<T,E>"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.listener.RetryListenerSupport].onError(org.springframework.retry.RetryContext,org.springframework.retry.RetryCallback<T,E>,java.lang.Throwable)"
    functionSourceFile: "org.springframework.retry.listener.RetryListenerSupport"
    linkageType: ""
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "org.springframework.retry.RetryContext"
    - "org.springframework.retry.RetryCallback<T,E>"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.listener.RetryListenerSupport].open(org.springframework.retry.RetryContext,org.springframework.retry.RetryCallback<T,E>)"
    functionSourceFile: "org.springframework.retry.listener.RetryListenerSupport"
    linkageType: ""
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionDepth: 0
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "org.springframework.retry.RetryContext"
    - "org.springframework.retry.RetryCallback<T,E>"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.ExceptionClassifierRetryPolicy].<init>()"
    functionSourceFile: "org.springframework.retry.policy.ExceptionClassifierRetryPolicy"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[org.springframework.retry.policy.NeverRetryPolicy].<init>()"
    - "[org.springframework.classify.ClassifierSupport].<init>(java.lang.Object)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.policy.ExceptionClassifierRetryPolicy:38,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "org.springframework.retry.policy.ExceptionClassifierRetryPolicy:40,1"
      Dst: "[org.springframework.retry.policy.NeverRetryPolicy].<init>()"
    - Src: "org.springframework.retry.policy.ExceptionClassifierRetryPolicy:40,1"
      Dst: "[org.springframework.classify.ClassifierSupport].<init>(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.ExceptionClassifierRetryPolicy].setPolicyMap(java.util.Map<Class<?\
      \ extends Throwable>,RetryPolicy>)"
    functionSourceFile: "org.springframework.retry.policy.ExceptionClassifierRetryPolicy"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.util.Map<Class<? extends Throwable>,RetryPolicy>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.policy.NeverRetryPolicy].<init>()"
    - "[org.springframework.classify.SubclassClassifier].<init>(java.util.Map,java.lang.Object)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.policy.ExceptionClassifierRetryPolicy:50,1"
      Dst: "[org.springframework.retry.policy.NeverRetryPolicy].<init>()"
    - Src: "org.springframework.retry.policy.ExceptionClassifierRetryPolicy:50,1"
      Dst: "[org.springframework.classify.SubclassClassifier].<init>(java.util.Map,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.ExceptionClassifierRetryPolicy].setExceptionClassifier(org.springframework.classify.Classifier<Throwable,RetryPolicy>)"
    functionSourceFile: "org.springframework.retry.policy.ExceptionClassifierRetryPolicy"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.springframework.classify.Classifier<Throwable,RetryPolicy>"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.ExceptionClassifierRetryPolicy].canRetry(org.springframework.retry.RetryContext)"
    functionSourceFile: "org.springframework.retry.policy.ExceptionClassifierRetryPolicy"
    linkageType: ""
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "org.springframework.retry.RetryContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.policy.ExceptionClassifierRetryPolicy].canRetry(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.BinaryExceptionClassifierRetryPolicy].canRetry(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.TimeoutRetryPolicy].canRetry(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.SimpleRetryPolicy].canRetry(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.ExceptionClassifierRetryPolicy$ExceptionClassifierRetryContext].canRetry(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.ExpressionRetryPolicy].canRetry(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.CircuitBreakerRetryPolicy].canRetry(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.CompositeRetryPolicy].canRetry(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.MaxAttemptsRetryPolicy].canRetry(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.NeverRetryPolicy].canRetry(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.AlwaysRetryPolicy].canRetry(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.RetryPolicy].canRetry(org.springframework.retry.RetryContext)"
    functionUses: 8
    ICount: 5
    EdgeCount: 11
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.policy.ExceptionClassifierRetryPolicy:70,1"
      Dst: "[org.springframework.retry.RetryPolicy].canRetry(org.springframework.retry.RetryContext)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.ExceptionClassifierRetryPolicy].close(org.springframework.retry.RetryContext)"
    functionSourceFile: "org.springframework.retry.policy.ExceptionClassifierRetryPolicy"
    linkageType: ""
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.springframework.retry.RetryContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.policy.CircuitBreakerRetryPolicy].close(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.ExceptionClassifierRetryPolicy].close(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.ExceptionClassifierRetryPolicy$ExceptionClassifierRetryContext].close(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.CompositeRetryPolicy].close(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.policy.BinaryExceptionClassifierRetryPolicy:org.springframework.retry.policy.MaxAttemptsRetryPolicy:org.springframework.retry.policy.NeverRetryPolicy:org.springframework.retry.policy.SimpleRetryPolicy:org.springframework.retry.policy.TimeoutRetryPolicy].close(org.springframework.retry.RetryContext)"
    - "[org.springframework.retry.RetryPolicy].close(org.springframework.retry.RetryContext)"
    functionUses: 6
    ICount: 5
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.policy.ExceptionClassifierRetryPolicy:80,1"
      Dst: "[org.springframework.retry.RetryPolicy].close(org.springframework.retry.RetryContext)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.ExceptionClassifierRetryPolicy].open(org.springframework.retry.RetryContext)"
    functionSourceFile: "org.springframework.retry.policy.ExceptionClassifierRetryPolicy"
    linkageType: ""
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionDepth: 2
    returnType: "org.springframework.retry.RetryContext"
    argCount: 1
    argTypes:
    - "org.springframework.retry.RetryContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.policy.ExceptionClassifierRetryPolicy$ExceptionClassifierRetryContext].<init>(org.springframework.retry.RetryContext,org.springframework.classify.Classifier)"
    - "[org.springframework.retry.policy.ExceptionClassifierRetryPolicy$ExceptionClassifierRetryContext].open(org.springframework.retry.RetryContext)"
    functionUses: 4
    ICount: 7
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.policy.ExceptionClassifierRetryPolicy:90,1"
      Dst: "[org.springframework.retry.policy.ExceptionClassifierRetryPolicy$ExceptionClassifierRetryContext].<init>(org.springframework.retry.RetryContext,org.springframework.classify.Classifier)"
    - Src: "org.springframework.retry.policy.ExceptionClassifierRetryPolicy:90,1"
      Dst: "[org.springframework.retry.policy.ExceptionClassifierRetryPolicy$ExceptionClassifierRetryContext].open(org.springframework.retry.RetryContext)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.ExceptionClassifierRetryPolicy].registerThrowable(org.springframework.retry.RetryContext,java.lang.Throwable)"
    functionSourceFile: "org.springframework.retry.policy.ExceptionClassifierRetryPolicy"
    linkageType: ""
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "org.springframework.retry.RetryContext"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.policy.NeverRetryPolicy].registerThrowable(org.springframework.retry.RetryContext,java.lang.Throwable)"
    - "[org.springframework.retry.policy.CircuitBreakerRetryPolicy].registerThrowable(org.springframework.retry.RetryContext,java.lang.Throwable)"
    - "[org.springframework.retry.policy.ExceptionClassifierRetryPolicy].registerThrowable(org.springframework.retry.RetryContext,java.lang.Throwable)"
    - "[org.springframework.retry.policy.ExceptionClassifierRetryPolicy$ExceptionClassifierRetryContext].registerThrowable(org.springframework.retry.RetryContext,java.lang.Throwable)"
    - "[org.springframework.retry.policy.MaxAttemptsRetryPolicy].registerThrowable(org.springframework.retry.RetryContext,java.lang.Throwable)"
    - "[org.springframework.retry.policy.BinaryExceptionClassifierRetryPolicy].registerThrowable(org.springframework.retry.RetryContext,java.lang.Throwable)"
    - "[org.springframework.retry.policy.TimeoutRetryPolicy].registerThrowable(org.springframework.retry.RetryContext,java.lang.Throwable)"
    - "[org.springframework.retry.policy.SimpleRetryPolicy].registerThrowable(org.springframework.retry.RetryContext,java.lang.Throwable)"
    - "[org.springframework.retry.policy.CompositeRetryPolicy].registerThrowable(org.springframework.retry.RetryContext,java.lang.Throwable)"
    - "[org.springframework.retry.context.RetryContextSupport].registerThrowable(java.lang.Throwable)"
    - "[org.springframework.retry.RetryPolicy].registerThrowable(org.springframework.retry.RetryContext,java.lang.Throwable)"
    functionUses: 5
    ICount: 8
    EdgeCount: 10
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.policy.ExceptionClassifierRetryPolicy:101,1"
      Dst: "[org.springframework.retry.RetryPolicy].registerThrowable(org.springframework.retry.RetryContext,java.lang.Throwable)"
    - Src: "org.springframework.retry.policy.ExceptionClassifierRetryPolicy:102,1"
      Dst: "[org.springframework.retry.context.RetryContextSupport].registerThrowable(java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.MapRetryContextCache].setCapacity(int)"
    functionSourceFile: "org.springframework.retry.policy.MapRetryContextCache"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.MapRetryContextCache].containsKey(java.lang.Object)"
    functionSourceFile: "org.springframework.retry.policy.MapRetryContextCache"
    linkageType: ""
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.apache.commons.logging.impl.WeakHashtable].containsKey(java.lang.Object)"
    - "[org.springframework.util.CollectionUtils$MultiValueMapAdapter].containsKey(java.lang.Object)"
    - "[org.springframework.util.LinkedCaseInsensitiveMap].containsKey(java.lang.Object)"
    - "[org.springframework.util.LinkedMultiValueMap].containsKey(java.lang.Object)"
    - "[org.springframework.util.ConcurrentReferenceHashMap].containsKey(java.lang.Object)"
    - "[com.google.gson.internal.LinkedHashTreeMap].containsKey(java.lang.Object)"
    - "[org.springframework.util.LinkedCaseInsensitiveMap$1].containsKey(java.lang.Object)"
    - "[com.google.gson.internal.LinkedTreeMap].containsKey(java.lang.Object)"
    - "[org.springframework.cglib.beans.BeanMap].containsKey(java.lang.Object)"
    - "[org.springframework.core.env.ReadOnlySystemAttributesMap].containsKey(java.lang.Object)"
    - "[com.sun.net.httpserver.Headers:java.awt.RenderingHints:java.util.AbstractMap:java.util.EnumMap:java.util.HashMap:java.util.Hashtable:java.util.IdentityHashMap:java.util.Properties:java.util.TreeMap:java.util.WeakHashMap:java.util.concurrent.ConcurrentHashMap:java.util.concurrent.ConcurrentSkipListMap:java.util.concurrent.ConcurrentSkipListMap$SubMap:java.util.jar.Attributes:javax.script.SimpleBindings].containsKey(java.lang.Object)"
    - "[java.util.Map].containsKey(java.lang.Object)"
    functionUses: 3
    ICount: 5
    EdgeCount: 11
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.policy.MapRetryContextCache:70,1"
      Dst: "[java.util.Map].containsKey(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.MapRetryContextCache].get(java.lang.Object)"
    functionSourceFile: "org.springframework.retry.policy.MapRetryContextCache"
    linkageType: ""
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionDepth: 0
    returnType: "org.springframework.retry.RetryContext"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.util.ConcurrentReferenceHashMap].get(java.lang.Object)"
    - "[org.springframework.util.LinkedCaseInsensitiveMap].get(java.lang.Object)"
    - "[com.google.gson.internal.LinkedTreeMap].get(java.lang.Object)"
    - "[org.springframework.core.env.ReadOnlySystemAttributesMap].get(java.lang.Object)"
    - "[org.springframework.util.LinkedMultiValueMap].get(java.lang.Object)"
    - "[org.springframework.util.CollectionUtils$MultiValueMapAdapter].get(java.lang.Object)"
    - "[com.google.gson.internal.LinkedHashTreeMap].get(java.lang.Object)"
    - "[org.apache.commons.logging.impl.WeakHashtable].get(java.lang.Object)"
    - "[com.sun.net.httpserver.Headers:java.awt.RenderingHints:java.security.Provider:java.util.AbstractMap:java.util.EnumMap:java.util.HashMap:java.util.Hashtable:java.util.IdentityHashMap:java.util.LinkedHashMap:java.util.Properties:java.util.TreeMap:java.util.WeakHashMap:java.util.concurrent.ConcurrentHashMap:java.util.concurrent.ConcurrentSkipListMap:java.util.concurrent.ConcurrentSkipListMap$SubMap:java.util.jar.Attributes:javax.script.SimpleBindings:org.springframework.cglib.beans.BeanMap].get(java.lang.Object)"
    - "[java.util.Map].get(java.lang.Object)"
    functionUses: 1
    ICount: 6
    EdgeCount: 9
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.policy.MapRetryContextCache:74,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.MapRetryContextCache].put(java.lang.Object,org.springframework.retry.RetryContext)"
    functionSourceFile: "org.springframework.retry.policy.MapRetryContextCache"
    linkageType: ""
    functionLinenumber: 77
    functionLinenumberEnd: 85
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "org.springframework.retry.RetryContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.util.LinkedCaseInsensitiveMap].size()"
    - "[org.apache.commons.logging.impl.WeakHashtable].size()"
    - "[org.springframework.core.env.ReadOnlySystemAttributesMap].size()"
    - "[org.springframework.util.ConcurrentReferenceHashMap].size()"
    - "[com.google.gson.internal.LinkedHashTreeMap:com.google.gson.internal.LinkedTreeMap:com.sun.net.httpserver.Headers:java.awt.RenderingHints:java.security.Provider:java.util.AbstractMap:java.util.EnumMap:java.util.HashMap:java.util.Hashtable:java.util.IdentityHashMap:java.util.Properties:java.util.TreeMap:java.util.WeakHashMap:java.util.concurrent.ConcurrentHashMap:java.util.concurrent.ConcurrentSkipListMap:java.util.concurrent.ConcurrentSkipListMap$SubMap:java.util.jar.Attributes:javax.script.SimpleBindings:org.springframework.cglib.beans.BeanMap].size()"
    - "[org.springframework.util.CollectionUtils$MultiValueMapAdapter].size()"
    - "[org.springframework.util.LinkedMultiValueMap].size()"
    - "[org.springframework.retry.policy.RetryCacheCapacityExceededException].<init>(java.lang.String)"
    - "[org.apache.commons.logging.impl.WeakHashtable].put(java.lang.Object,java.lang.Object)"
    - "[org.springframework.util.CollectionUtils$MultiValueMapAdapter].put(java.lang.Object,java.lang.Object)"
    - "[com.google.gson.internal.LinkedTreeMap].put(java.lang.Object,java.lang.Object)"
    - "[org.springframework.util.ConcurrentReferenceHashMap].put(java.lang.Object,java.lang.Object)"
    - "[org.springframework.validation.support.BindingAwareModelMap].put(java.lang.Object,java.lang.Object)"
    - "[org.springframework.beans.factory.config.YamlProcessor$StrictMapAppenderConstructor$1].put(java.lang.Object,java.lang.Object)"
    - "[org.springframework.core.env.ReadOnlySystemAttributesMap].put(java.lang.Object,java.lang.Object)"
    - "[org.springframework.util.LinkedCaseInsensitiveMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.gson.internal.LinkedHashTreeMap].put(java.lang.Object,java.lang.Object)"
    - "[org.springframework.util.LinkedMultiValueMap].put(java.lang.Object,java.lang.Object)"
    - "[java.util.Map].size()"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    functionUses: 1
    ICount: 13
    EdgeCount: 19
    BranchProfiles:
    - Branch String: "org.springframework.retry.policy.MapRetryContextCache:78"
      Branch Sides:
      - BranchSide: "org.springframework.retry.policy.MapRetryContextCache:83"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "org.springframework.retry.policy.MapRetryContextCache:82"
        BranchSideFuncs:
        - "put(java.lang.Object,java.lang.Object)"
    Callsites:
    - Src: "org.springframework.retry.policy.MapRetryContextCache:78,1"
      Dst: "[java.util.Map].size()"
    - Src: "org.springframework.retry.policy.MapRetryContextCache:79,1"
      Dst: "[org.springframework.retry.policy.RetryCacheCapacityExceededException].<init>(java.lang.String)"
    - Src: "org.springframework.retry.policy.MapRetryContextCache:83,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.MapRetryContextCache].remove(java.lang.Object)"
    functionSourceFile: "org.springframework.retry.policy.MapRetryContextCache"
    linkageType: ""
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.util.LinkedCaseInsensitiveMap].remove(java.lang.Object)"
    - "[org.springframework.core.env.ReadOnlySystemAttributesMap].remove(java.lang.Object)"
    - "[org.springframework.util.ConcurrentReferenceHashMap].remove(java.lang.Object)"
    - "[com.google.gson.internal.LinkedTreeMap].remove(java.lang.Object)"
    - "[org.springframework.cglib.beans.BeanMap].remove(java.lang.Object)"
    - "[org.springframework.util.CollectionUtils$MultiValueMapAdapter].remove(java.lang.Object)"
    - "[org.springframework.util.LinkedMultiValueMap].remove(java.lang.Object)"
    - "[org.apache.commons.logging.impl.WeakHashtable].remove(java.lang.Object)"
    - "[com.google.gson.internal.LinkedHashTreeMap].remove(java.lang.Object)"
    - "[com.sun.net.httpserver.Headers:java.awt.RenderingHints:java.security.Provider:java.util.AbstractMap:java.util.EnumMap:java.util.HashMap:java.util.Hashtable:java.util.IdentityHashMap:java.util.Properties:java.util.TreeMap:java.util.WeakHashMap:java.util.concurrent.ConcurrentHashMap:java.util.concurrent.ConcurrentSkipListMap:java.util.concurrent.ConcurrentSkipListMap$SubMap:java.util.jar.Attributes:javax.script.SimpleBindings].remove(java.lang.Object)"
    - "[java.util.Map].remove(java.lang.Object)"
    functionUses: 2
    ICount: 5
    EdgeCount: 10
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.policy.MapRetryContextCache:87,1"
      Dst: "[java.util.Map].remove(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.backoff.BackOffPolicyBuilder].newDefaultPolicy()"
    functionSourceFile: "org.springframework.retry.backoff.BackOffPolicyBuilder"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "org.springframework.retry.backoff.BackOffPolicy"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.backoff.BackOffPolicyBuilder].<init>()"
    - "[org.springframework.retry.backoff.BackOffPolicyBuilder].build()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.backoff.BackOffPolicyBuilder:101,1"
      Dst: "[org.springframework.retry.backoff.BackOffPolicyBuilder].<init>()"
    - Src: "org.springframework.retry.backoff.BackOffPolicyBuilder:101,1"
      Dst: "[org.springframework.retry.backoff.BackOffPolicyBuilder].build()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.interceptor.RetryOperationsInterceptor$ItemRecovererCallback].recover(org.springframework.retry.RetryContext)"
    functionSourceFile: "org.springframework.retry.interceptor.RetryOperationsInterceptor$ItemRecovererCallback"
    linkageType: ""
    functionLinenumber: 156
    functionLinenumberEnd: 158
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "org.springframework.retry.RetryContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.context.RetryContextSupport].getLastThrowable()"
    - "[org.springframework.retry.annotation.RecoverAnnotationRecoveryHandler].recover(java.lang.Object[],java.lang.Throwable)"
    - "[org.springframework.retry.RetryContext].getLastThrowable()"
    - "[org.springframework.retry.interceptor.MethodInvocationRecoverer].recover(java.lang.Object[],java.lang.Throwable)"
    functionUses: 1
    ICount: 7
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.interceptor.RetryOperationsInterceptor$ItemRecovererCallback:157,1"
      Dst: "[org.springframework.retry.RetryContext].getLastThrowable()"
    - Src: "org.springframework.retry.interceptor.RetryOperationsInterceptor$ItemRecovererCallback:157,1"
      Dst: "[org.springframework.retry.interceptor.MethodInvocationRecoverer].recover(java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.TimeoutRetryPolicy$TimeoutRetryContext].<init>(org.springframework.retry.RetryContext,long)"
    functionSourceFile: "org.springframework.retry.policy.TimeoutRetryPolicy$TimeoutRetryContext"
    linkageType: ""
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "org.springframework.retry.RetryContext"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.context.RetryContextSupport].<init>(org.springframework.retry.RetryContext)"
    - "[java.lang.System].currentTimeMillis()"
    functionUses: 1
    ICount: 8
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.policy.TimeoutRetryPolicy$TimeoutRetryContext:85,1"
      Dst: "[org.springframework.retry.context.RetryContextSupport].<init>(org.springframework.retry.RetryContext)"
    - Src: "org.springframework.retry.policy.TimeoutRetryPolicy$TimeoutRetryContext:86,1"
      Dst: "[java.lang.System].currentTimeMillis()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.TimeoutRetryPolicy$TimeoutRetryContext].isAlive()"
    functionSourceFile: "org.springframework.retry.policy.TimeoutRetryPolicy$TimeoutRetryContext"
    linkageType: ""
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.System].currentTimeMillis()"
    functionUses: 1
    ICount: 12
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.springframework.retry.policy.TimeoutRetryPolicy$TimeoutRetryContext:91"
      Branch Sides:
      - BranchSide: "org.springframework.retry.policy.TimeoutRetryPolicy$TimeoutRetryContext:90"
        BranchSideFuncs:
        - "currentTimeMillis()"
    Callsites:
    - Src: "org.springframework.retry.policy.TimeoutRetryPolicy$TimeoutRetryContext:91,1"
      Dst: "[java.lang.System].currentTimeMillis()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[org.springframework.classify.ClassifierSupport].<init>(java.lang.Object)"
    functionSourceFile: "org.springframework.classify.ClassifierSupport"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.classify.ClassifierSupport:36,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.classify.ClassifierSupport].classify(java.lang.Object)"
    functionSourceFile: "org.springframework.classify.ClassifierSupport"
    linkageType: ""
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 5
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.TimeoutRetryPolicy].getTimeout()"
    functionSourceFile: "org.springframework.retry.policy.TimeoutRetryPolicy"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.TimeoutRetryPolicy].canRetry(org.springframework.retry.RetryContext)"
    functionSourceFile: "org.springframework.retry.policy.TimeoutRetryPolicy"
    linkageType: ""
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "org.springframework.retry.RetryContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.policy.TimeoutRetryPolicy$TimeoutRetryContext].isAlive()"
    functionUses: 8
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.policy.TimeoutRetryPolicy:63,1"
      Dst: "[org.springframework.retry.policy.TimeoutRetryPolicy$TimeoutRetryContext].isAlive()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.TimeoutRetryPolicy].close(org.springframework.retry.RetryContext)"
    functionSourceFile: "org.springframework.retry.policy.TimeoutRetryPolicy"
    linkageType: ""
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.springframework.retry.RetryContext"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 6
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.TimeoutRetryPolicy].open(org.springframework.retry.RetryContext)"
    functionSourceFile: "org.springframework.retry.policy.TimeoutRetryPolicy"
    linkageType: ""
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionDepth: 2
    returnType: "org.springframework.retry.RetryContext"
    argCount: 1
    argTypes:
    - "org.springframework.retry.RetryContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.policy.TimeoutRetryPolicy$TimeoutRetryContext].<init>(org.springframework.retry.RetryContext,long)"
    functionUses: 4
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.policy.TimeoutRetryPolicy:70,1"
      Dst: "[org.springframework.retry.policy.TimeoutRetryPolicy$TimeoutRetryContext].<init>(org.springframework.retry.RetryContext,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.policy.TimeoutRetryPolicy].registerThrowable(org.springframework.retry.RetryContext,java.lang.Throwable)"
    functionSourceFile: "org.springframework.retry.policy.TimeoutRetryPolicy"
    linkageType: ""
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "org.springframework.retry.RetryContext"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.context.RetryContextSupport].registerThrowable(java.lang.Throwable)"
    functionUses: 5
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.policy.TimeoutRetryPolicy:74,1"
      Dst: "[org.springframework.retry.context.RetryContextSupport].registerThrowable(java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.support.DefaultRetryState].<init>(java.lang.Object,org.springframework.classify.Classifier)"
    functionSourceFile: "org.springframework.retry.support.DefaultRetryState"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "org.springframework.classify.Classifier"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.support.DefaultRetryState].<init>(java.lang.Object,boolean,org.springframework.classify.Classifier)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.support.DefaultRetryState:61,1"
      Dst: "[org.springframework.retry.support.DefaultRetryState].<init>(java.lang.Object,boolean,org.springframework.classify.Classifier)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.support.DefaultRetryState].<init>(java.lang.Object,boolean)"
    functionSourceFile: "org.springframework.retry.support.DefaultRetryState"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.support.DefaultRetryState].<init>(java.lang.Object,boolean,org.springframework.classify.Classifier)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.support.DefaultRetryState:71,1"
      Dst: "[org.springframework.retry.support.DefaultRetryState].<init>(java.lang.Object,boolean,org.springframework.classify.Classifier)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.support.DefaultRetryState].<init>(java.lang.Object)"
    functionSourceFile: "org.springframework.retry.support.DefaultRetryState"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.springframework.retry.support.DefaultRetryState].<init>(java.lang.Object,boolean,org.springframework.classify.Classifier)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.support.DefaultRetryState:80,1"
      Dst: "[org.springframework.retry.support.DefaultRetryState].<init>(java.lang.Object,boolean,org.springframework.classify.Classifier)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.support.DefaultRetryState].getKey()"
    functionSourceFile: "org.springframework.retry.support.DefaultRetryState"
    linkageType: ""
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 5
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.support.DefaultRetryState].isForceRefresh()"
    functionSourceFile: "org.springframework.retry.support.DefaultRetryState"
    linkageType: ""
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.support.DefaultRetryState].rollbackFor(java.lang.Throwable)"
    functionSourceFile: "org.springframework.retry.support.DefaultRetryState"
    linkageType: ""
    functionLinenumber: 106
    functionLinenumberEnd: 111
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Boolean:org.springframework.classify.ClassifierSupport].booleanValue()"
    - "[org.springframework.classify.PatternMatchingClassifier].classify(java.lang.Object)"
    - "[org.springframework.classify.BinaryExceptionClassifier].classify(java.lang.Object)"
    - "[org.springframework.classify.SubclassClassifier].classify(java.lang.Object)"
    - "[org.springframework.classify.BackToBackPatternClassifier].classify(java.lang.Object)"
    - "[org.springframework.classify.ClassifierAdapter].classify(java.lang.Object)"
    - "[org.springframework.classify.Classifier].classify(java.lang.Object)"
    - "[java.lang.Boolean].booleanValue()"
    functionUses: 1
    ICount: 10
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "org.springframework.retry.support.DefaultRetryState:107"
      Branch Sides:
      - BranchSide: "org.springframework.retry.support.DefaultRetryState:110"
        BranchSideFuncs: []
      - BranchSide: "org.springframework.retry.support.DefaultRetryState:109"
        BranchSideFuncs:
        - "booleanValue()"
        - "classify(java.lang.Object)"
    Callsites:
    - Src: "org.springframework.retry.support.DefaultRetryState:110,1"
      Dst: "[org.springframework.classify.Classifier].classify(java.lang.Object)"
    - Src: "org.springframework.retry.support.DefaultRetryState:110,1"
      Dst: "[java.lang.Boolean].booleanValue()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[org.springframework.retry.support.DefaultRetryState].toString()"
    functionSourceFile: "org.springframework.retry.support.DefaultRetryState"
    linkageType: ""
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.lang.Object].getClass()"
    - "[java.lang.Class].getSimpleName()"
    - "[java.lang.Boolean].valueOf(boolean)"
    functionUses: 32
    ICount: 12
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "org.springframework.retry.support.DefaultRetryState:115,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "org.springframework.retry.support.DefaultRetryState:115,1"
      Dst: "[java.lang.Class].getSimpleName()"
    - Src: "org.springframework.retry.support.DefaultRetryState:115,1"
      Dst: "[java.lang.Boolean].valueOf(boolean)"
    - Src: "org.springframework.retry.support.DefaultRetryState:115,1"
      Dst: "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[java.io.OutputStream].write(int)"
    functionSourceFile: "java.io.OutputStream"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: false
      javaLibraryMethod: true
      classConcrete: false
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.OutputStream].write(byte[])"
    functionSourceFile: "java.io.OutputStream"
    linkageType: ""
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "byte[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: false
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.OutputStream].write(byte[],int,int)"
    functionSourceFile: "java.io.OutputStream"
    linkageType: ""
    functionLinenumber: 158
    functionLinenumberEnd: 165
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "byte[]"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: false
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.File].<init>(java.lang.String,int)"
    functionSourceFile: "java.io.File"
    linkageType: ""
    functionLinenumber: 249
    functionLinenumberEnd: 254
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.File].<init>(java.lang.String,java.io.File)"
    functionSourceFile: "java.io.File"
    linkageType: ""
    functionLinenumber: 259
    functionLinenumberEnd: 266
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.io.File"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.File].<init>(java.lang.String)"
    functionSourceFile: "java.io.File"
    linkageType: ""
    functionLinenumber: 275
    functionLinenumberEnd: 283
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.File].<init>(java.lang.String,java.lang.String)"
    functionSourceFile: "java.io.File"
    linkageType: ""
    functionLinenumber: 315
    functionLinenumberEnd: 333
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.File].<init>(java.io.File,java.lang.String)"
    functionSourceFile: "java.io.File"
    linkageType: ""
    functionLinenumber: 358
    functionLinenumberEnd: 376
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.io.File"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.File].<init>(java.net.URI)"
    functionSourceFile: "java.io.File"
    linkageType: ""
    functionLinenumber: 413
    functionLinenumberEnd: 441
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.net.URI"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.File].createNewFile()"
    functionSourceFile: "java.io.File"
    linkageType: ""
    functionLinenumber: 1037
    functionLinenumberEnd: 1044
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.File].delete()"
    functionSourceFile: "java.io.File"
    linkageType: ""
    functionLinenumber: 1065
    functionLinenumberEnd: 1074
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.File].deleteOnExit()"
    functionSourceFile: "java.io.File"
    linkageType: ""
    functionLinenumber: 1104
    functionLinenumberEnd: 1114
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.File].renameTo(java.io.File)"
    functionSourceFile: "java.io.File"
    linkageType: ""
    functionLinenumber: 1450
    functionLinenumberEnd: 1464
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.io.File"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.File].createTempFile(java.lang.String,java.lang.String,java.io.File)"
    functionSourceFile: "java.io.File"
    linkageType: ""
    functionLinenumber: 2142
    functionLinenumberEnd: 2174
    functionDepth: 0
    returnType: "java.io.File"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    - "java.io.File"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.File].createTempFile(java.lang.String,java.lang.String)"
    functionSourceFile: "java.io.File"
    linkageType: ""
    functionLinenumber: 2215
    functionLinenumberEnd: 2217
    functionDepth: 0
    returnType: "java.io.File"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.nio.file.Files].createFile(java.nio.file.Path,java.nio.file.attribute.FileAttribute[])"
    functionSourceFile: "java.nio.file.Files"
    linkageType: ""
    functionLinenumber: 657
    functionLinenumberEnd: 660
    functionDepth: 0
    returnType: "java.nio.file.Path"
    argCount: 2
    argTypes:
    - "java.nio.file.Path"
    - "java.nio.file.attribute.FileAttribute[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.nio.file.Files].createDirectory(java.nio.file.Path,java.nio.file.attribute.FileAttribute[])"
    functionSourceFile: "java.nio.file.Files"
    linkageType: ""
    functionLinenumber: 699
    functionLinenumberEnd: 702
    functionDepth: 0
    returnType: "java.nio.file.Path"
    argCount: 2
    argTypes:
    - "java.nio.file.Path"
    - "java.nio.file.attribute.FileAttribute[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.nio.file.Files].createDirectories(java.nio.file.Path,java.nio.file.attribute.FileAttribute[])"
    functionSourceFile: "java.nio.file.Files"
    linkageType: ""
    functionLinenumber: 752
    functionLinenumberEnd: 796
    functionDepth: 0
    returnType: "java.nio.file.Path"
    argCount: 2
    argTypes:
    - "java.nio.file.Path"
    - "java.nio.file.attribute.FileAttribute[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.nio.file.Files].createTempFile(java.nio.file.Path,java.lang.String,java.lang.String,java.nio.file.attribute.FileAttribute[])"
    functionSourceFile: "java.nio.file.Files"
    linkageType: ""
    functionLinenumber: 877
    functionLinenumberEnd: 879
    functionDepth: 0
    returnType: "java.nio.file.Path"
    argCount: 4
    argTypes:
    - "java.nio.file.Path"
    - "java.lang.String"
    - "java.lang.String"
    - "java.nio.file.attribute.FileAttribute[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.nio.file.Files].createTempFile(java.lang.String,java.lang.String,java.nio.file.attribute.FileAttribute[])"
    functionSourceFile: "java.nio.file.Files"
    linkageType: ""
    functionLinenumber: 922
    functionLinenumberEnd: 924
    functionDepth: 0
    returnType: "java.nio.file.Path"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    - "java.nio.file.attribute.FileAttribute[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.nio.file.Files].createTempDirectory(java.nio.file.Path,java.lang.String,java.nio.file.attribute.FileAttribute[])"
    functionSourceFile: "java.nio.file.Files"
    linkageType: ""
    functionLinenumber: 975
    functionLinenumberEnd: 977
    functionDepth: 0
    returnType: "java.nio.file.Path"
    argCount: 3
    argTypes:
    - "java.nio.file.Path"
    - "java.lang.String"
    - "java.nio.file.attribute.FileAttribute[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.nio.file.Files].createTempDirectory(java.lang.String,java.nio.file.attribute.FileAttribute[])"
    functionSourceFile: "java.nio.file.Files"
    linkageType: ""
    functionLinenumber: 1016
    functionLinenumberEnd: 1018
    functionDepth: 0
    returnType: "java.nio.file.Path"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.nio.file.attribute.FileAttribute[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.nio.file.Files].createSymbolicLink(java.nio.file.Path,java.nio.file.Path,java.nio.file.attribute.FileAttribute[])"
    functionSourceFile: "java.nio.file.Files"
    linkageType: ""
    functionLinenumber: 1068
    functionLinenumberEnd: 1071
    functionDepth: 0
    returnType: "java.nio.file.Path"
    argCount: 3
    argTypes:
    - "java.nio.file.Path"
    - "java.nio.file.Path"
    - "java.nio.file.attribute.FileAttribute[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.nio.file.Files].createLink(java.nio.file.Path,java.nio.file.Path)"
    functionSourceFile: "java.nio.file.Files"
    linkageType: ""
    functionLinenumber: 1111
    functionLinenumberEnd: 1114
    functionDepth: 0
    returnType: "java.nio.file.Path"
    argCount: 2
    argTypes:
    - "java.nio.file.Path"
    - "java.nio.file.Path"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.nio.file.Files].delete(java.nio.file.Path)"
    functionSourceFile: "java.nio.file.Files"
    linkageType: ""
    functionLinenumber: 1151
    functionLinenumberEnd: 1154
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.nio.file.Path"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.nio.file.Files].deleteIfExists(java.nio.file.Path)"
    functionSourceFile: "java.nio.file.Files"
    linkageType: ""
    functionLinenumber: 1190
    functionLinenumberEnd: 1192
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.nio.file.Path"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.nio.file.Files].move(java.nio.file.Path,java.nio.file.Path,java.nio.file.CopyOption[])"
    functionSourceFile: "java.nio.file.Files"
    linkageType: ""
    functionLinenumber: 1428
    functionLinenumberEnd: 1438
    functionDepth: 0
    returnType: "java.nio.file.Path"
    argCount: 3
    argTypes:
    - "java.nio.file.Path"
    - "java.nio.file.Path"
    - "java.nio.file.CopyOption[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.nio.file.Files].write(java.nio.file.Path,byte[],java.nio.file.OpenOption[])"
    functionSourceFile: "java.nio.file.Files"
    linkageType: ""
    functionLinenumber: 3509
    functionLinenumberEnd: 3522
    functionDepth: 0
    returnType: "java.nio.file.Path"
    argCount: 3
    argTypes:
    - "java.nio.file.Path"
    - "byte[]"
    - "java.nio.file.OpenOption[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.nio.file.Files].write(java.nio.file.Path,java.lang.Iterable,java.nio.charset.Charset,java.nio.file.OpenOption[])"
    functionSourceFile: "java.nio.file.Files"
    linkageType: ""
    functionLinenumber: 3578
    functionLinenumberEnd: 3589
    functionDepth: 0
    returnType: "java.nio.file.Path"
    argCount: 4
    argTypes:
    - "java.nio.file.Path"
    - "java.lang.Iterable"
    - "java.nio.charset.Charset"
    - "java.nio.file.OpenOption[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.nio.file.Files].write(java.nio.file.Path,java.lang.Iterable,java.nio.file.OpenOption[])"
    functionSourceFile: "java.nio.file.Files"
    linkageType: ""
    functionLinenumber: 3632
    functionLinenumberEnd: 3634
    functionDepth: 0
    returnType: "java.nio.file.Path"
    argCount: 3
    argTypes:
    - "java.nio.file.Path"
    - "java.lang.Iterable"
    - "java.nio.file.OpenOption[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.nio.file.Files].find(java.nio.file.Path,int,java.util.function.BiPredicate,java.nio.file.FileVisitOption[])"
    functionSourceFile: "java.nio.file.Files"
    linkageType: ""
    functionLinenumber: 4035
    functionLinenumberEnd: 4047
    functionDepth: 0
    returnType: "java.util.stream.Stream"
    argCount: 4
    argTypes:
    - "java.nio.file.Path"
    - "int"
    - "java.util.function.BiPredicate"
    - "java.nio.file.FileVisitOption[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.util.concurrent.Executor].execute(java.lang.Runnable)"
    functionSourceFile: "java.util.concurrent.Executor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Runnable"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: false
      javaLibraryMethod: true
      classConcrete: false
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.System].console()"
    functionSourceFile: "java.lang.System"
    linkageType: ""
    functionLinenumber: 280
    functionLinenumberEnd: 289
    functionDepth: 0
    returnType: "java.io.Console"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.System].getSecurityManager()"
    functionSourceFile: "java.lang.System"
    linkageType: ""
    functionLinenumber: 483
    functionLinenumberEnd: 488
    functionDepth: 0
    returnType: "java.lang.SecurityManager"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.System].getProperties()"
    functionSourceFile: "java.lang.System"
    linkageType: ""
    functionLinenumber: 827
    functionLinenumberEnd: 834
    functionDepth: 0
    returnType: "java.util.Properties"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.System].getProperty(java.lang.String)"
    functionSourceFile: "java.lang.System"
    linkageType: ""
    functionLinenumber: 924
    functionLinenumberEnd: 933
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.System].getProperty(java.lang.String,java.lang.String)"
    functionSourceFile: "java.lang.System"
    linkageType: ""
    functionLinenumber: 960
    functionLinenumberEnd: 969
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.System].getenv(java.lang.String)"
    functionSourceFile: "java.lang.System"
    linkageType: ""
    functionLinenumber: 1113
    functionLinenumberEnd: 1120
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.System].getenv()"
    functionSourceFile: "java.lang.System"
    linkageType: ""
    functionLinenumber: 1163
    functionLinenumberEnd: 1170
    functionDepth: 0
    returnType: "java.util.Map"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.System].runFinalization()"
    functionSourceFile: "java.lang.System"
    linkageType: ""
    functionLinenumber: 1928
    functionLinenumberEnd: 1931
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.System].load(java.lang.String)"
    functionSourceFile: "java.lang.System"
    linkageType: ""
    functionLinenumber: 1969
    functionLinenumberEnd: 1972
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.System].loadLibrary(java.lang.String)"
    functionSourceFile: "java.lang.System"
    linkageType: ""
    functionLinenumber: 2005
    functionLinenumberEnd: 2008
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.System].mapLibraryName(java.lang.String)"
    functionSourceFile: "java.lang.System"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: false
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].write(int)"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: ""
    functionLinenumber: 477
    functionLinenumberEnd: 490
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].write(char[],int,int)"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: ""
    functionLinenumber: 503
    functionLinenumberEnd: 516
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "char[]"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].write(char[])"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: ""
    functionLinenumber: 522
    functionLinenumberEnd: 525
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "char[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].write(java.lang.String,int,int)"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: ""
    functionLinenumber: 538
    functionLinenumberEnd: 551
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].write(java.lang.String)"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: ""
    functionLinenumber: 557
    functionLinenumberEnd: 560
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].print(boolean)"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: ""
    functionLinenumber: 589
    functionLinenumberEnd: 592
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].print(char)"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: ""
    functionLinenumber: 601
    functionLinenumberEnd: 604
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "char"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].print(int)"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: ""
    functionLinenumber: 615
    functionLinenumberEnd: 618
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].print(long)"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: ""
    functionLinenumber: 629
    functionLinenumberEnd: 632
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].print(float)"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: ""
    functionLinenumber: 643
    functionLinenumberEnd: 646
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "float"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].print(double)"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: ""
    functionLinenumber: 657
    functionLinenumberEnd: 660
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "double"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].print(char[])"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: ""
    functionLinenumber: 671
    functionLinenumberEnd: 674
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "char[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].print(java.lang.String)"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: ""
    functionLinenumber: 684
    functionLinenumberEnd: 687
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].print(java.lang.Object)"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: ""
    functionLinenumber: 698
    functionLinenumberEnd: 701
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].println()"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: ""
    functionLinenumber: 709
    functionLinenumberEnd: 712
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].println(boolean)"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: ""
    functionLinenumber: 720
    functionLinenumberEnd: 726
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].println(char)"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: ""
    functionLinenumber: 734
    functionLinenumberEnd: 740
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "char"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].println(int)"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: ""
    functionLinenumber: 748
    functionLinenumberEnd: 754
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].println(long)"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: ""
    functionLinenumber: 762
    functionLinenumberEnd: 768
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].println(float)"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: ""
    functionLinenumber: 776
    functionLinenumberEnd: 782
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "float"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].println(double)"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: ""
    functionLinenumber: 790
    functionLinenumberEnd: 796
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "double"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].println(char[])"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: ""
    functionLinenumber: 804
    functionLinenumberEnd: 810
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "char[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].println(java.lang.String)"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: ""
    functionLinenumber: 818
    functionLinenumberEnd: 824
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].println(java.lang.Object)"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: ""
    functionLinenumber: 834
    functionLinenumberEnd: 841
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].printf(java.lang.String,java.lang.Object[])"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: ""
    functionLinenumber: 886
    functionLinenumberEnd: 888
    functionDepth: 0
    returnType: "java.io.PrintWriter"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].printf(java.util.Locale,java.lang.String,java.lang.Object[])"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: ""
    functionLinenumber: 939
    functionLinenumberEnd: 941
    functionDepth: 0
    returnType: "java.io.PrintWriter"
    argCount: 3
    argTypes:
    - "java.util.Locale"
    - "java.lang.String"
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.BufferedWriter].write(int)"
    functionSourceFile: "java.io.BufferedWriter"
    linkageType: ""
    functionLinenumber: 130
    functionLinenumberEnd: 138
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.BufferedWriter].write(char[],int,int)"
    functionSourceFile: "java.io.BufferedWriter"
    linkageType: ""
    functionLinenumber: 169
    functionLinenumberEnd: 199
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "char[]"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.BufferedWriter].write(java.lang.String,int,int)"
    functionSourceFile: "java.io.BufferedWriter"
    linkageType: ""
    functionLinenumber: 222
    functionLinenumberEnd: 237
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.util.concurrent.Callable].call()"
    functionSourceFile: "java.util.concurrent.Callable"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.lang.Exception"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: false
      javaLibraryMethod: true
      classConcrete: false
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.Runtime].exec(java.lang.String)"
    functionSourceFile: "java.lang.Runtime"
    linkageType: ""
    functionLinenumber: 314
    functionLinenumberEnd: 316
    functionDepth: 0
    returnType: "java.lang.Process"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.Runtime].exec(java.lang.String,java.lang.String[])"
    functionSourceFile: "java.lang.Runtime"
    linkageType: ""
    functionLinenumber: 355
    functionLinenumberEnd: 357
    functionDepth: 0
    returnType: "java.lang.Process"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.Runtime].exec(java.lang.String,java.lang.String[],java.io.File)"
    functionSourceFile: "java.lang.Runtime"
    linkageType: ""
    functionLinenumber: 410
    functionLinenumberEnd: 419
    functionDepth: 0
    returnType: "java.lang.Process"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.String[]"
    - "java.io.File"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.Runtime].exec(java.lang.String[])"
    functionSourceFile: "java.lang.Runtime"
    linkageType: ""
    functionLinenumber: 452
    functionLinenumberEnd: 454
    functionDepth: 0
    returnType: "java.lang.Process"
    argCount: 1
    argTypes:
    - "java.lang.String[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.Runtime].exec(java.lang.String[],java.lang.String[])"
    functionSourceFile: "java.lang.Runtime"
    linkageType: ""
    functionLinenumber: 495
    functionLinenumberEnd: 497
    functionDepth: 0
    returnType: "java.lang.Process"
    argCount: 2
    argTypes:
    - "java.lang.String[]"
    - "java.lang.String[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.Runtime].exec(java.lang.String[],java.lang.String[],java.io.File)"
    functionSourceFile: "java.lang.Runtime"
    linkageType: ""
    functionLinenumber: 590
    functionLinenumberEnd: 595
    functionDepth: 0
    returnType: "java.lang.Process"
    argCount: 3
    argTypes:
    - "java.lang.String[]"
    - "java.lang.String[]"
    - "java.io.File"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.ProcessBuilder].command(java.util.List)"
    functionSourceFile: "java.lang.ProcessBuilder"
    linkageType: ""
    functionLinenumber: 245
    functionLinenumberEnd: 250
    functionDepth: 0
    returnType: "java.lang.ProcessBuilder"
    argCount: 1
    argTypes:
    - "java.util.List"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.ProcessBuilder].command(java.lang.String[])"
    functionSourceFile: "java.lang.ProcessBuilder"
    linkageType: ""
    functionLinenumber: 263
    functionLinenumberEnd: 268
    functionDepth: 0
    returnType: "java.lang.ProcessBuilder"
    argCount: 1
    argTypes:
    - "java.lang.String[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.ProcessBuilder].command()"
    functionSourceFile: "java.lang.ProcessBuilder"
    linkageType: ""
    functionLinenumber: 278
    functionLinenumberEnd: 280
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.ProcessBuilder].directory()"
    functionSourceFile: "java.lang.ProcessBuilder"
    linkageType: ""
    functionLinenumber: 404
    functionLinenumberEnd: 406
    functionDepth: 0
    returnType: "java.io.File"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.ProcessBuilder].directory(java.io.File)"
    functionSourceFile: "java.lang.ProcessBuilder"
    linkageType: ""
    functionLinenumber: 421
    functionLinenumberEnd: 424
    functionDepth: 0
    returnType: "java.lang.ProcessBuilder"
    argCount: 1
    argTypes:
    - "java.io.File"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.ProcessBuilder].redirectInput(java.lang.ProcessBuilder$Redirect)"
    functionSourceFile: "java.lang.ProcessBuilder"
    linkageType: ""
    functionLinenumber: 761
    functionLinenumberEnd: 768
    functionDepth: 0
    returnType: "java.lang.ProcessBuilder"
    argCount: 1
    argTypes:
    - "java.lang.ProcessBuilder$Redirect"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.ProcessBuilder].redirectOutput(java.lang.ProcessBuilder$Redirect)"
    functionSourceFile: "java.lang.ProcessBuilder"
    linkageType: ""
    functionLinenumber: 792
    functionLinenumberEnd: 798
    functionDepth: 0
    returnType: "java.lang.ProcessBuilder"
    argCount: 1
    argTypes:
    - "java.lang.ProcessBuilder$Redirect"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.ProcessBuilder].redirectError(java.lang.ProcessBuilder$Redirect)"
    functionSourceFile: "java.lang.ProcessBuilder"
    linkageType: ""
    functionLinenumber: 826
    functionLinenumberEnd: 832
    functionDepth: 0
    returnType: "java.lang.ProcessBuilder"
    argCount: 1
    argTypes:
    - "java.lang.ProcessBuilder$Redirect"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.ProcessBuilder].redirectInput(java.io.File)"
    functionSourceFile: "java.lang.ProcessBuilder"
    linkageType: ""
    functionLinenumber: 847
    functionLinenumberEnd: 849
    functionDepth: 0
    returnType: "java.lang.ProcessBuilder"
    argCount: 1
    argTypes:
    - "java.io.File"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.ProcessBuilder].redirectOutput(java.io.File)"
    functionSourceFile: "java.lang.ProcessBuilder"
    linkageType: ""
    functionLinenumber: 864
    functionLinenumberEnd: 866
    functionDepth: 0
    returnType: "java.lang.ProcessBuilder"
    argCount: 1
    argTypes:
    - "java.io.File"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.ProcessBuilder].redirectError(java.io.File)"
    functionSourceFile: "java.lang.ProcessBuilder"
    linkageType: ""
    functionLinenumber: 881
    functionLinenumberEnd: 883
    functionDepth: 0
    returnType: "java.lang.ProcessBuilder"
    argCount: 1
    argTypes:
    - "java.io.File"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.ProcessBuilder].redirectInput()"
    functionSourceFile: "java.lang.ProcessBuilder"
    linkageType: ""
    functionLinenumber: 895
    functionLinenumberEnd: 897
    functionDepth: 0
    returnType: "java.lang.ProcessBuilder$Redirect"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.ProcessBuilder].redirectOutput()"
    functionSourceFile: "java.lang.ProcessBuilder"
    linkageType: ""
    functionLinenumber: 909
    functionLinenumberEnd: 911
    functionDepth: 0
    returnType: "java.lang.ProcessBuilder$Redirect"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.ProcessBuilder].redirectError()"
    functionSourceFile: "java.lang.ProcessBuilder"
    linkageType: ""
    functionLinenumber: 923
    functionLinenumberEnd: 925
    functionDepth: 0
    returnType: "java.lang.ProcessBuilder$Redirect"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.ProcessBuilder].inheritIO()"
    functionSourceFile: "java.lang.ProcessBuilder"
    linkageType: ""
    functionLinenumber: 949
    functionLinenumberEnd: 952
    functionDepth: 0
    returnType: "java.lang.ProcessBuilder"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.ProcessBuilder].redirectErrorStream()"
    functionSourceFile: "java.lang.ProcessBuilder"
    linkageType: ""
    functionLinenumber: 968
    functionLinenumberEnd: 970
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.ProcessBuilder].redirectErrorStream(boolean)"
    functionSourceFile: "java.lang.ProcessBuilder"
    linkageType: ""
    functionLinenumber: 986
    functionLinenumberEnd: 989
    functionDepth: 0
    returnType: "java.lang.ProcessBuilder"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.ProcessBuilder].start()"
    functionSourceFile: "java.lang.ProcessBuilder"
    linkageType: ""
    functionLinenumber: 1072
    functionLinenumberEnd: 1074
    functionDepth: 0
    returnType: "java.lang.Process"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.ProcessBuilder].start(java.lang.ProcessBuilder$Redirect[])"
    functionSourceFile: "java.lang.ProcessBuilder"
    linkageType: ""
    functionLinenumber: 1086
    functionLinenumberEnd: 1144
    functionDepth: 0
    returnType: "java.lang.Process"
    argCount: 1
    argTypes:
    - "java.lang.ProcessBuilder$Redirect[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.InputStream].<init>()"
    functionSourceFile: "java.io.InputStream"
    linkageType: ""
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: false
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.InputStream].read()"
    functionSourceFile: "java.io.InputStream"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: false
      javaLibraryMethod: true
      classConcrete: false
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.InputStream].read(byte[])"
    functionSourceFile: "java.io.InputStream"
    linkageType: ""
    functionLinenumber: 217
    functionLinenumberEnd: 219
    functionDepth: 0
    returnType: "int"
    argCount: 1
    argTypes:
    - "byte[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: false
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.InputStream].read(byte[],int,int)"
    functionSourceFile: "java.io.InputStream"
    linkageType: ""
    functionLinenumber: 278
    functionLinenumberEnd: 302
    functionDepth: 0
    returnType: "int"
    argCount: 3
    argTypes:
    - "byte[]"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: false
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.nio.file.Paths].get(java.lang.String,java.lang.String[])"
    functionSourceFile: "java.nio.file.Paths"
    linkageType: ""
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionDepth: 0
    returnType: "java.nio.file.Path"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.nio.file.Paths].get(java.net.URI)"
    functionSourceFile: "java.nio.file.Paths"
    linkageType: ""
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionDepth: 0
    returnType: "java.nio.file.Path"
    argCount: 1
    argTypes:
    - "java.net.URI"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.BufferedReader].<init>(java.io.Reader,int)"
    functionSourceFile: "java.io.BufferedReader"
    linkageType: ""
    functionLinenumber: 101
    functionLinenumberEnd: 109
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.io.Reader"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.BufferedReader].<init>(java.io.Reader)"
    functionSourceFile: "java.io.BufferedReader"
    linkageType: ""
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.io.Reader"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.BufferedReader].read()"
    functionSourceFile: "java.io.BufferedReader"
    linkageType: ""
    functionLinenumber: 178
    functionLinenumberEnd: 197
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.BufferedReader].read(char[],int,int)"
    functionSourceFile: "java.io.BufferedReader"
    linkageType: ""
    functionLinenumber: 279
    functionLinenumberEnd: 296
    functionDepth: 0
    returnType: "int"
    argCount: 3
    argTypes:
    - "char[]"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.BufferedReader].readLine(boolean,boolean[])"
    functionSourceFile: "java.io.BufferedReader"
    linkageType: ""
    functionLinenumber: 316
    functionLinenumberEnd: 379
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 2
    argTypes:
    - "boolean"
    - "boolean[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.BufferedReader].readLine()"
    functionSourceFile: "java.io.BufferedReader"
    linkageType: ""
    functionLinenumber: 395
    functionLinenumberEnd: 397
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
