---
Fuzzer filename: "ImageMetadataReaderFuzzer"
Fuzzing method: "fuzzerTestOneInput"
All functions:
  Function list name: "All functions"
  Elements:
  - functionName: "[com.drew.metadata.file.FileTypeDescriptor].<init>(com.drew.metadata.file.FileTypeDirectory)"
    functionSourceFile: "com.drew.metadata.file.FileTypeDescriptor"
    linkageType: ""
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.file.FileTypeDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.file.FileTypeDescriptor:34,1"
      Dst: "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    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: "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.SonyType1MakernoteDirectory)"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.exif.makernotes.SonyType1MakernoteDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:40,1"
      Dst: "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    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: "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getDescription(int)"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 46
    functionLinenumberEnd: 114
    functionDepth: 3
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getImageQualityDescription()"
    - "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getFlashExposureCompensationDescription()"
    - "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getTeleconverterDescription()"
    - "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getWhiteBalanceDescription()"
    - "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getColorTemperatureDescription()"
    - "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getSceneModeDescription()"
    - "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getZoneMatchingDescription()"
    - "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getDynamicRangeOptimizerDescription()"
    - "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getImageStabilizationDescription()"
    - "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getColorModeDescription()"
    - "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getMacroDescription()"
    - "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getExposureModeDescription()"
    - "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getJpegQualityDescription()"
    - "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getAntiBlurDescription()"
    - "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getLongExposureNoiseReductionDescription()"
    - "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getHighIsoNoiseReductionDescription()"
    - "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getPictureEffectDescription()"
    - "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getSoftSkinEffectDescription()"
    - "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getVignettingCorrectionDescription()"
    - "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getLateralChromaticAberrationDescription()"
    - "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getDistortionCorrectionDescription()"
    - "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getAutoPortraitFramedDescription()"
    - "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getFocusModeDescription()"
    - "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getAFPointSelectedDescription()"
    - "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getSonyModelIdDescription()"
    - "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getAFModeDescription()"
    - "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getAFIlluminatorDescription()"
    - "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getFlashLevelDescription()"
    - "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getReleaseModeDescription()"
    - "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getSequenceNumberDescription()"
    - "[com.drew.metadata.TagDescriptor].getDescription(int)"
    functionUses: 1
    ICount: 65
    EdgeCount: 31
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:49,1"
      Dst: "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getImageQualityDescription()"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:51,1"
      Dst: "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getFlashExposureCompensationDescription()"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:53,1"
      Dst: "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getTeleconverterDescription()"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:55,1"
      Dst: "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getWhiteBalanceDescription()"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:57,1"
      Dst: "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getColorTemperatureDescription()"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:59,1"
      Dst: "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getSceneModeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:61,1"
      Dst: "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getZoneMatchingDescription()"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:63,1"
      Dst: "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getDynamicRangeOptimizerDescription()"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:65,1"
      Dst: "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getImageStabilizationDescription()"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:71,1"
      Dst: "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getColorModeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:73,1"
      Dst: "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getMacroDescription()"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:75,1"
      Dst: "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getExposureModeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:77,1"
      Dst: "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getJpegQualityDescription()"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:79,1"
      Dst: "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getAntiBlurDescription()"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:81,1"
      Dst: "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getLongExposureNoiseReductionDescription()"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:83,1"
      Dst: "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getHighIsoNoiseReductionDescription()"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:85,1"
      Dst: "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getPictureEffectDescription()"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:87,1"
      Dst: "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getSoftSkinEffectDescription()"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:89,1"
      Dst: "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getVignettingCorrectionDescription()"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:91,1"
      Dst: "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getLateralChromaticAberrationDescription()"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:93,1"
      Dst: "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getDistortionCorrectionDescription()"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:95,1"
      Dst: "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getAutoPortraitFramedDescription()"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:97,1"
      Dst: "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getFocusModeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:99,1"
      Dst: "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getAFPointSelectedDescription()"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:101,1"
      Dst: "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getSonyModelIdDescription()"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:103,1"
      Dst: "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getAFModeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:105,1"
      Dst: "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getAFIlluminatorDescription()"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:107,1"
      Dst: "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getFlashLevelDescription()"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:109,1"
      Dst: "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getReleaseModeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:111,1"
      Dst: "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getSequenceNumberDescription()"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:113,1"
      Dst: "[com.drew.metadata.TagDescriptor].getDescription(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: 32
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getImageQualityDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 119
    functionLinenumberEnd: 121
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 13
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:120,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionSourceFile: "com.drew.metadata.TagDescriptor"
    linkageType: ""
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 2
    argTypes:
    - "int"
    - "java.lang.String[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,java.lang.String[])"
    functionUses: 193
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.TagDescriptor:137,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,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: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,java.lang.String[])"
    functionSourceFile: "com.drew.metadata.TagDescriptor"
    linkageType: ""
    functionLinenumber: 142
    functionLinenumberEnd: 153
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 3
    argTypes:
    - "int"
    - "int"
    - "java.lang.String[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getLongObject(int)"
    - "[java.lang.Long].longValue()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 72
    ICount: 30
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "com.drew.metadata.TagDescriptor:144"
      Branch Sides:
      - BranchSide: "com.drew.metadata.TagDescriptor:146"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.TagDescriptor:145"
        BranchSideFuncs:
        - "longValue()"
    - Branch String: "com.drew.metadata.TagDescriptor:147"
      Branch Sides:
      - BranchSide: "com.drew.metadata.TagDescriptor:152"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.TagDescriptor:151"
        BranchSideFuncs:
        - "<init>()"
        - "append(java.lang.String)"
        - "append(java.lang.Object)"
        - "toString()"
    - Branch String: "com.drew.metadata.TagDescriptor:147"
      Branch Sides:
      - BranchSide: "com.drew.metadata.TagDescriptor:152"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.TagDescriptor:151"
        BranchSideFuncs:
        - "<init>()"
        - "append(java.lang.String)"
        - "append(java.lang.Object)"
        - "toString()"
    - Branch String: "com.drew.metadata.TagDescriptor:149"
      Branch Sides:
      - BranchSide: "com.drew.metadata.TagDescriptor:152"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.TagDescriptor:151"
        BranchSideFuncs:
        - "<init>()"
        - "append(java.lang.String)"
        - "append(java.lang.Object)"
        - "toString()"
    Callsites:
    - Src: "com.drew.metadata.TagDescriptor:143,1"
      Dst: "[com.drew.metadata.Directory].getLongObject(int)"
    - Src: "com.drew.metadata.TagDescriptor:146,1"
      Dst: "[java.lang.Long].longValue()"
    - Src: "com.drew.metadata.TagDescriptor:152,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.TagDescriptor:152,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.TagDescriptor:152,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.drew.metadata.TagDescriptor:152,1"
      Dst: "[java.lang.StringBuilder].toString()"
    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: "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getFlashExposureCompensationDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 134
    functionLinenumberEnd: 136
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getFormattedInt(int,java.lang.String)"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:135,1"
      Dst: "[com.drew.metadata.TagDescriptor].getFormattedInt(int,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: "[com.drew.metadata.TagDescriptor].getFormattedInt(int,java.lang.String)"
    functionSourceFile: "com.drew.metadata.TagDescriptor"
    linkageType: ""
    functionLinenumber: 184
    functionLinenumberEnd: 189
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 2
    argTypes:
    - "int"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    functionUses: 3
    ICount: 11
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.drew.metadata.TagDescriptor:186"
      Branch Sides:
      - BranchSide: "com.drew.metadata.TagDescriptor:188"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.TagDescriptor:187"
        BranchSideFuncs:
        - "format(java.lang.String,java.lang.Object[])"
    Callsites:
    - Src: "com.drew.metadata.TagDescriptor:185,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.TagDescriptor:188,1"
      Dst: "[java.lang.String].format(java.lang.String,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: 1
  - functionName: "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getTeleconverterDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 140
    functionLinenumberEnd: 154
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 22
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:142"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:144"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:143"
        BranchSideFuncs:
        - "intValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:141,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:144,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:153,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:153,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:153,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:153,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: 11
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getWhiteBalanceDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 159
    functionLinenumberEnd: 175
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 24
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:161"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:163"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:162"
        BranchSideFuncs:
        - "intValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:160,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:163,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:174,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:174,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:174,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:174,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: 13
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getColorTemperatureDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 180
    functionLinenumberEnd: 188
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.lang.Integer].valueOf(int)"
    functionUses: 1
    ICount: 22
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:182"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:184"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:183"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:184"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:186"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:185"
        BranchSideFuncs:
        - "intValue()"
        - "format(java.lang.String,java.lang.Object[])"
        - "valueOf(int)"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:181,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:184,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:187,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:187,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: 5
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getSceneModeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 617
    functionLinenumberEnd: 649
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 39
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:620"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:623"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:622"
        BranchSideFuncs:
        - "intValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:618,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:623,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:648,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:648,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:648,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:648,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: 27
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getZoneMatchingDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 192
    functionLinenumberEnd: 194
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 8
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:193,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getDynamicRangeOptimizerDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 199
    functionLinenumberEnd: 219
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    functionUses: 1
    ICount: 27
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:201"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:203"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:202"
        BranchSideFuncs:
        - "intValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:200,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:203,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:218,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: 18
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getImageStabilizationDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 224
    functionLinenumberEnd: 232
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    functionUses: 1
    ICount: 12
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:226"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:228"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:227"
        BranchSideFuncs:
        - "intValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:225,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:228,1"
      Dst: "[java.lang.Integer].intValue()"
    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: 1
  - functionName: "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getColorModeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 237
    functionLinenumberEnd: 259
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    functionUses: 1
    ICount: 29
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:239"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:241"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:240"
        BranchSideFuncs:
        - "intValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:238,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:241,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:258,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: 20
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getMacroDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 264
    functionLinenumberEnd: 274
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    functionUses: 1
    ICount: 17
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:266"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:268"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:267"
        BranchSideFuncs:
        - "intValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:265,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:268,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:273,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: 8
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getExposureModeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 279
    functionLinenumberEnd: 316
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    functionUses: 1
    ICount: 44
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:281"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:283"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:282"
        BranchSideFuncs:
        - "intValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:280,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:283,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:315,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: 35
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getJpegQualityDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 321
    functionLinenumberEnd: 331
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    functionUses: 1
    ICount: 17
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:323"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:325"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:324"
        BranchSideFuncs:
        - "intValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:322,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:325,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:330,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: 8
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getAntiBlurDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 336
    functionLinenumberEnd: 346
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    functionUses: 1
    ICount: 17
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:338"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:340"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:339"
        BranchSideFuncs:
        - "intValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:337,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:340,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:345,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: 8
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getLongExposureNoiseReductionDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 351
    functionLinenumberEnd: 360
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    functionUses: 1
    ICount: 16
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:353"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:355"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:354"
        BranchSideFuncs:
        - "intValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:352,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:355,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:359,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: 7
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getHighIsoNoiseReductionDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 365
    functionLinenumberEnd: 377
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    functionUses: 1
    ICount: 18
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:367"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:369"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:368"
        BranchSideFuncs:
        - "intValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:366,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:369,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:376,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: 10
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getPictureEffectDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 382
    functionLinenumberEnd: 424
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    functionUses: 1
    ICount: 48
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:384"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:386"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:385"
        BranchSideFuncs:
        - "intValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:383,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:386,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:423,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: 40
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getSoftSkinEffectDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 429
    functionLinenumberEnd: 431
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 8
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:430,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getVignettingCorrectionDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 435
    functionLinenumberEnd: 444
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    functionUses: 1
    ICount: 15
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:437"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:439"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:438"
        BranchSideFuncs:
        - "intValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:436,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:439,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:443,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: 7
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getLateralChromaticAberrationDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 449
    functionLinenumberEnd: 458
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    functionUses: 1
    ICount: 15
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:451"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:453"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:452"
        BranchSideFuncs:
        - "intValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:450,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:453,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:457,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: 7
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getDistortionCorrectionDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 463
    functionLinenumberEnd: 472
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    functionUses: 1
    ICount: 15
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:465"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:467"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:466"
        BranchSideFuncs:
        - "intValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:464,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:467,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:471,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: 7
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getAutoPortraitFramedDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 477
    functionLinenumberEnd: 479
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:478,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getFocusModeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 483
    functionLinenumberEnd: 485
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 12
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:484,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getAFPointSelectedDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 490
    functionLinenumberEnd: 492
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 24
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:491,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getSonyModelIdDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 517
    functionLinenumberEnd: 612
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 102
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:520"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:523"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:522"
        BranchSideFuncs:
        - "intValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:518,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:523,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:611,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:611,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:611,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:611,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: 90
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getAFModeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 654
    functionLinenumberEnd: 672
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 25
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:657"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:660"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:659"
        BranchSideFuncs:
        - "intValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:655,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:660,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:671,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:671,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:671,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:671,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: 13
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getAFIlluminatorDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 677
    functionLinenumberEnd: 689
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 19
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:680"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:683"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:682"
        BranchSideFuncs:
        - "intValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:678,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:683,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:688,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:688,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:688,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:688,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: 7
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getFlashLevelDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 694
    functionLinenumberEnd: 713
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 26
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:697"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:700"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:699"
        BranchSideFuncs:
        - "intValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:695,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:700,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:712,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:712,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:712,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:712,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: 14
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getReleaseModeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 718
    functionLinenumberEnd: 732
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 21
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:721"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:724"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:723"
        BranchSideFuncs:
        - "intValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:719,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:724,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:731,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:731,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:731,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:731,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: 9
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].getSequenceNumberDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 737
    functionLinenumberEnd: 748
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.Integer].toString()"
    functionUses: 1
    ICount: 13
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:740"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:743"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:742"
        BranchSideFuncs:
        - "intValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:738,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:743,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor:747,1"
      Dst: "[java.lang.Integer].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: 6
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.TagDescriptor].getDescription(int)"
    functionSourceFile: "com.drew.metadata.TagDescriptor"
    linkageType: ""
    functionLinenumber: 69
    functionLinenumberEnd: 92
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getObject(int)"
    - "[java.lang.Object].getClass()"
    - "[java.lang.Class].isArray()"
    - "[java.lang.reflect.Array].getLength(java.lang.Object)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.lang.Integer].valueOf(int)"
    - "[java.text.SimpleDateFormat].<init>(java.lang.String)"
    - "[java.text.DateFormat].format(java.util.Date)"
    - "[java.lang.String].replaceAll(java.lang.String,java.lang.String)"
    - "[com.drew.metadata.Directory].getString(int)"
    functionUses: 73
    ICount: 27
    EdgeCount: 10
    BranchProfiles:
    - Branch String: "com.drew.metadata.TagDescriptor:72"
      Branch Sides:
      - BranchSide: "com.drew.metadata.TagDescriptor:76"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.TagDescriptor:75"
        BranchSideFuncs:
        - "isArray()"
        - "getClass()"
    - Branch String: "com.drew.metadata.TagDescriptor:76"
      Branch Sides:
      - BranchSide: "com.drew.metadata.TagDescriptor:83"
        BranchSideFuncs:
        - "getLength(java.lang.Object)"
      - BranchSide: "com.drew.metadata.TagDescriptor:82"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.TagDescriptor:78"
      Branch Sides:
      - BranchSide: "com.drew.metadata.TagDescriptor:83"
        BranchSideFuncs:
        - "format(java.lang.String,java.lang.Object[])"
        - "valueOf(int)"
      - BranchSide: "com.drew.metadata.TagDescriptor:82"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.TagDescriptor:83"
      Branch Sides:
      - BranchSide: "com.drew.metadata.TagDescriptor:90"
        BranchSideFuncs:
        - "getString(int)"
    Callsites:
    - Src: "com.drew.metadata.TagDescriptor:70,1"
      Dst: "[com.drew.metadata.Directory].getObject(int)"
    - Src: "com.drew.metadata.TagDescriptor:76,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "com.drew.metadata.TagDescriptor:76,1"
      Dst: "[java.lang.Class].isArray()"
    - Src: "com.drew.metadata.TagDescriptor:77,1"
      Dst: "[java.lang.reflect.Array].getLength(java.lang.Object)"
    - Src: "com.drew.metadata.TagDescriptor:79,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.drew.metadata.TagDescriptor:79,1"
      Dst: "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - Src: "com.drew.metadata.TagDescriptor:85,1"
      Dst: "[java.text.SimpleDateFormat].<init>(java.lang.String)"
    - Src: "com.drew.metadata.TagDescriptor:86,1"
      Dst: "[java.text.DateFormat].format(java.util.Date)"
    - Src: "com.drew.metadata.TagDescriptor:87,1"
      Dst: "[java.lang.String].replaceAll(java.lang.String,java.lang.String)"
    - Src: "com.drew.metadata.TagDescriptor:91,1"
      Dst: "[com.drew.metadata.Directory].getString(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: 8
    CyclomaticComplexity: 2
  - functionName: "[com.drew.metadata.exif.makernotes.SonyTag9050bDescriptor].<init>(com.drew.metadata.exif.makernotes.SonyTag9050bDirectory)"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SonyTag9050bDescriptor"
    linkageType: ""
    functionLinenumber: 10
    functionLinenumberEnd: 13
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.exif.makernotes.SonyTag9050bDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SonyTag9050bDescriptor:11,1"
      Dst: "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    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: "[com.drew.metadata.exif.makernotes.SonyTag9050bDescriptor].getDescription(int)"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SonyTag9050bDescriptor"
    linkageType: ""
    functionLinenumber: 17
    functionLinenumberEnd: 27
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.makernotes.SonyTag9050bDescriptor].getFlashStatusDescription()"
    - "[com.drew.metadata.exif.makernotes.SonyTag9050bDescriptor].getSonyExposureTimeDescription()"
    - "[com.drew.metadata.exif.makernotes.SonyTag9050bDescriptor].getInternalSerialNumberDescription()"
    - "[com.drew.metadata.TagDescriptor].getDescription(int)"
    functionUses: 1
    ICount: 11
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SonyTag9050bDescriptor:20,1"
      Dst: "[com.drew.metadata.exif.makernotes.SonyTag9050bDescriptor].getFlashStatusDescription()"
    - Src: "com.drew.metadata.exif.makernotes.SonyTag9050bDescriptor:22,1"
      Dst: "[com.drew.metadata.exif.makernotes.SonyTag9050bDescriptor].getSonyExposureTimeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.SonyTag9050bDescriptor:24,1"
      Dst: "[com.drew.metadata.exif.makernotes.SonyTag9050bDescriptor].getInternalSerialNumberDescription()"
    - Src: "com.drew.metadata.exif.makernotes.SonyTag9050bDescriptor:26,1"
      Dst: "[com.drew.metadata.TagDescriptor].getDescription(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: 5
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.SonyTag9050bDescriptor].getFlashStatusDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SonyTag9050bDescriptor"
    linkageType: ""
    functionLinenumber: 57
    functionLinenumberEnd: 78
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    functionUses: 1
    ICount: 22
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.SonyTag9050bDescriptor:59"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.SonyTag9050bDescriptor:61"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.SonyTag9050bDescriptor:60"
        BranchSideFuncs:
        - "intValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SonyTag9050bDescriptor:58,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.SonyTag9050bDescriptor:61,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.SonyTag9050bDescriptor:77,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.SonyTag9050bDescriptor:77,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.SonyTag9050bDescriptor:77,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.SonyTag9050bDescriptor:77,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: 11
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.SonyTag9050bDescriptor].getSonyExposureTimeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SonyTag9050bDescriptor"
    linkageType: ""
    functionLinenumber: 45
    functionLinenumberEnd: 52
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getFloatObject(int)"
    - "[java.lang.Float].floatValue()"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.lang.Integer].valueOf(int)"
    functionUses: 1
    ICount: 20
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.SonyTag9050bDescriptor:47"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.SonyTag9050bDescriptor:49"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.SonyTag9050bDescriptor:48"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.SonyTag9050bDescriptor:49"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.SonyTag9050bDescriptor:51"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.SonyTag9050bDescriptor:50"
        BranchSideFuncs:
        - "format(java.lang.String,java.lang.Object[])"
        - "valueOf(int)"
        - "floatValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SonyTag9050bDescriptor:46,1"
      Dst: "[com.drew.metadata.Directory].getFloatObject(int)"
    - Src: "com.drew.metadata.exif.makernotes.SonyTag9050bDescriptor:49,1"
      Dst: "[java.lang.Float].floatValue()"
    - Src: "com.drew.metadata.exif.makernotes.SonyTag9050bDescriptor:51,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.drew.metadata.exif.makernotes.SonyTag9050bDescriptor:51,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: 5
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.SonyTag9050bDescriptor].getInternalSerialNumberDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SonyTag9050bDescriptor"
    linkageType: ""
    functionLinenumber: 32
    functionLinenumberEnd: 41
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getIntArray(int)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.lang.Integer].valueOf(int)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 21
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.SonyTag9050bDescriptor:34"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.SonyTag9050bDescriptor:36"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.SonyTag9050bDescriptor:35"
        BranchSideFuncs:
        - "<init>()"
    - Branch String: "com.drew.metadata.exif.makernotes.SonyTag9050bDescriptor:37"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.SonyTag9050bDescriptor:39"
        BranchSideFuncs:
        - "toString()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SonyTag9050bDescriptor:33,1"
      Dst: "[com.drew.metadata.Directory].getIntArray(int)"
    - Src: "com.drew.metadata.exif.makernotes.SonyTag9050bDescriptor:36,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.SonyTag9050bDescriptor:38,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.drew.metadata.exif.makernotes.SonyTag9050bDescriptor:38,1"
      Dst: "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - Src: "com.drew.metadata.exif.makernotes.SonyTag9050bDescriptor:38,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.SonyTag9050bDescriptor:40,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: 6
    CyclomaticComplexity: 2
  - functionName: "[com.drew.metadata.heif.HeifDescriptor].<init>(com.drew.metadata.heif.HeifDirectory)"
    functionSourceFile: "com.drew.metadata.heif.HeifDescriptor"
    linkageType: ""
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.heif.HeifDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.heif.HeifDescriptor:30,1"
      Dst: "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    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: "[com.drew.metadata.heif.HeifDescriptor].getDescription(int)"
    functionSourceFile: "com.drew.metadata.heif.HeifDescriptor"
    linkageType: ""
    functionLinenumber: 35
    functionLinenumberEnd: 44
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.heif.HeifDescriptor].getPixelDescription(int)"
    - "[com.drew.metadata.heif.HeifDescriptor].getRotationDescription()"
    - "[com.drew.metadata.TagDescriptor].getDescription(int)"
    functionUses: 1
    ICount: 9
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.heif.HeifDescriptor:39,1"
      Dst: "[com.drew.metadata.heif.HeifDescriptor].getPixelDescription(int)"
    - Src: "com.drew.metadata.heif.HeifDescriptor:41,1"
      Dst: "[com.drew.metadata.heif.HeifDescriptor].getRotationDescription()"
    - Src: "com.drew.metadata.heif.HeifDescriptor:43,1"
      Dst: "[com.drew.metadata.TagDescriptor].getDescription(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: 1
  - functionName: "[com.drew.metadata.heif.HeifDescriptor].getPixelDescription(int)"
    functionSourceFile: "com.drew.metadata.heif.HeifDescriptor"
    linkageType: ""
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[com.drew.metadata.Directory].getString(int)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 11
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.heif.HeifDescriptor:49,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.heif.HeifDescriptor:49,1"
      Dst: "[com.drew.metadata.Directory].getString(int)"
    - Src: "com.drew.metadata.heif.HeifDescriptor:49,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.heif.HeifDescriptor:49,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: "[com.drew.metadata.heif.HeifDescriptor].getRotationDescription()"
    functionSourceFile: "com.drew.metadata.heif.HeifDescriptor"
    linkageType: ""
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.StringBuilder].append(int)"
    functionUses: 1
    ICount: 14
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "com.drew.metadata.heif.HeifDescriptor:57"
      Branch Sides:
      - BranchSide: "com.drew.metadata.heif.HeifDescriptor:60"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.heif.HeifDescriptor:59"
        BranchSideFuncs:
        - "<init>()"
        - "intValue()"
        - "append(java.lang.String)"
        - "toString()"
    Callsites:
    - Src: "com.drew.metadata.heif.HeifDescriptor:55,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.heif.HeifDescriptor:60,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.heif.HeifDescriptor:60,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.heif.HeifDescriptor:60,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    - Src: "com.drew.metadata.heif.HeifDescriptor:60,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.heif.HeifDescriptor:60,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: 3
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.heif.HeifBoxHandler].<init>(com.drew.metadata.Metadata)"
    functionSourceFile: "com.drew.metadata.heif.HeifBoxHandler"
    linkageType: ""
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.Metadata"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.heif.HeifHandlerFactory].<init>(com.drew.imaging.heif.HeifHandler)"
    - "[com.drew.imaging.heif.HeifHandler].<init>(com.drew.metadata.Metadata)"
    functionUses: 1
    ICount: 7
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.heif.HeifBoxHandler:45,1"
      Dst: "[com.drew.imaging.heif.HeifHandler].<init>(com.drew.metadata.Metadata)"
    - Src: "com.drew.metadata.heif.HeifBoxHandler:41,1"
      Dst: "[com.drew.metadata.heif.HeifHandlerFactory].<init>(com.drew.imaging.heif.HeifHandler)"
    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: "[com.drew.metadata.heif.HeifBoxHandler].getDirectory()"
    functionSourceFile: "com.drew.metadata.heif.HeifBoxHandler"
    linkageType: ""
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionDepth: 3
    returnType: "com.drew.metadata.heif.HeifDirectory"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.heif.HeifDirectory].<init>()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.heif.HeifBoxHandler:51,1"
      Dst: "[com.drew.metadata.heif.HeifDirectory].<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: "[com.drew.metadata.heif.HeifDirectory].<init>()"
    functionSourceFile: "com.drew.metadata.heif.HeifDirectory"
    linkageType: ""
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].<init>()"
    - "[com.drew.metadata.heif.HeifDescriptor].<init>(com.drew.metadata.heif.HeifDirectory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 2
    ICount: 6
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.heif.HeifDirectory:53,1"
      Dst: "[com.drew.metadata.Directory].<init>()"
    - Src: "com.drew.metadata.heif.HeifDirectory:54,1"
      Dst: "[com.drew.metadata.heif.HeifDescriptor].<init>(com.drew.metadata.heif.HeifDirectory)"
    - Src: "com.drew.metadata.heif.HeifDirectory:54,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    functionSourceFile: "com.drew.metadata.TagDescriptor"
    linkageType: ""
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.Directory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 50
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.TagDescriptor:53,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: "[com.drew.metadata.heif.HeifBoxHandler].shouldAcceptBox(com.drew.metadata.heif.boxes.Box)"
    functionSourceFile: "com.drew.metadata.heif.HeifBoxHandler"
    linkageType: ""
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "com.drew.metadata.heif.boxes.Box"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Arrays].asList(java.lang.Object[])"
    - "[java.util.AbstractCollection:java.util.ArrayList:java.util.LinkedList:java.util.Vector:java.util.concurrent.CopyOnWriteArrayList].contains(java.lang.Object)"
    - "[java.util.List].contains(java.lang.Object)"
    functionUses: 1
    ICount: 10
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.heif.HeifBoxHandler:57,1"
      Dst: "[java.util.Arrays].asList(java.lang.Object[])"
    - Src: "com.drew.metadata.heif.HeifBoxHandler:61,1"
      Dst: "[java.util.List].contains(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: "[com.drew.metadata.heif.HeifBoxHandler].shouldAcceptContainer(com.drew.metadata.heif.boxes.Box)"
    functionSourceFile: "com.drew.metadata.heif.HeifBoxHandler"
    linkageType: ""
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "com.drew.metadata.heif.boxes.Box"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].equals(java.lang.Object)"
    functionUses: 1
    ICount: 15
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.drew.metadata.heif.HeifBoxHandler:67"
      Branch Sides:
      - BranchSide: "com.drew.metadata.heif.HeifBoxHandler:67"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.heif.HeifBoxHandler:66"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.heif.HeifBoxHandler:68"
      Branch Sides:
      - BranchSide: "com.drew.metadata.heif.HeifBoxHandler:67"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
      - BranchSide: "com.drew.metadata.heif.HeifBoxHandler:66"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.heif.HeifBoxHandler:69"
      Branch Sides:
      - BranchSide: "com.drew.metadata.heif.HeifBoxHandler:66"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.heif.HeifBoxHandler:67,1"
      Dst: "[java.lang.String].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: 6
    CyclomaticComplexity: 4
  - functionName: "[com.drew.metadata.heif.HeifBoxHandler].processBox(com.drew.metadata.heif.boxes.Box,byte[])"
    functionSourceFile: "com.drew.metadata.heif.HeifBoxHandler"
    linkageType: ""
    functionLinenumber: 74
    functionLinenumberEnd: 85
    functionDepth: 3
    returnType: "com.drew.imaging.heif.HeifHandler<?>"
    argCount: 2
    argTypes:
    - "com.drew.metadata.heif.boxes.Box"
    - "byte[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.SequentialByteArrayReader].<init>(byte[])"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[com.drew.metadata.heif.HeifBoxHandler].processFileType(com.drew.lang.SequentialReader,com.drew.metadata.heif.boxes.Box)"
    - "[com.drew.metadata.heif.boxes.HandlerBox].<init>(com.drew.lang.SequentialReader,com.drew.metadata.heif.boxes.Box)"
    - "[com.drew.metadata.heif.HeifHandlerFactory].getHandler(com.drew.metadata.heif.boxes.HandlerBox,com.drew.metadata.Metadata)"
    functionUses: 1
    ICount: 23
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "com.drew.metadata.heif.HeifBoxHandler:75"
      Branch Sides:
      - BranchSide: "com.drew.metadata.heif.HeifBoxHandler:84"
        BranchSideFuncs:
        - "<init>(byte[])"
      - BranchSide: "com.drew.metadata.heif.HeifBoxHandler:83"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.heif.HeifBoxHandler:77"
      Branch Sides:
      - BranchSide: "com.drew.metadata.heif.HeifBoxHandler:79"
        BranchSideFuncs:
        - "processFileType(com.drew.lang.SequentialReader,com.drew.metadata.heif.boxes.Box)"
      - BranchSide: "com.drew.metadata.heif.HeifBoxHandler:78"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "com.drew.metadata.heif.HeifBoxHandler:79"
      Branch Sides:
      - BranchSide: "com.drew.metadata.heif.HeifBoxHandler:84"
        BranchSideFuncs:
        - "<init>(com.drew.lang.SequentialReader,com.drew.metadata.heif.boxes.Box)"
        - "getHandler(com.drew.metadata.heif.boxes.HandlerBox,com.drew.metadata.Metadata)"
      - BranchSide: "com.drew.metadata.heif.HeifBoxHandler:83"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.heif.HeifBoxHandler:76,1"
      Dst: "[com.drew.lang.SequentialByteArrayReader].<init>(byte[])"
    - Src: "com.drew.metadata.heif.HeifBoxHandler:77,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "com.drew.metadata.heif.HeifBoxHandler:78,1"
      Dst: "[com.drew.metadata.heif.HeifBoxHandler].processFileType(com.drew.lang.SequentialReader,com.drew.metadata.heif.boxes.Box)"
    - Src: "com.drew.metadata.heif.HeifBoxHandler:80,1"
      Dst: "[com.drew.metadata.heif.boxes.HandlerBox].<init>(com.drew.lang.SequentialReader,com.drew.metadata.heif.boxes.Box)"
    - Src: "com.drew.metadata.heif.HeifBoxHandler:81,1"
      Dst: "[com.drew.metadata.heif.HeifHandlerFactory].getHandler(com.drew.metadata.heif.boxes.HandlerBox,com.drew.metadata.Metadata)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.lang.SequentialByteArrayReader].<init>(byte[])"
    functionSourceFile: "com.drew.lang.SequentialByteArrayReader"
    linkageType: ""
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "byte[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.SequentialByteArrayReader].<init>(byte[],int)"
    functionUses: 38
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.lang.SequentialByteArrayReader:47,1"
      Dst: "[com.drew.lang.SequentialByteArrayReader].<init>(byte[],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: "[com.drew.lang.SequentialByteArrayReader].<init>(byte[],int)"
    functionSourceFile: "com.drew.lang.SequentialByteArrayReader"
    linkageType: ""
    functionLinenumber: 51
    functionLinenumberEnd: 59
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "byte[]"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.SequentialReader].<init>()"
    - "[java.lang.NullPointerException].<init>()"
    functionUses: 8
    ICount: 11
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.drew.lang.SequentialByteArrayReader:53"
      Branch Sides:
      - BranchSide: "com.drew.lang.SequentialByteArrayReader:56"
        BranchSideFuncs:
        - "<init>()"
      - BranchSide: "com.drew.lang.SequentialByteArrayReader:55"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.lang.SequentialByteArrayReader:52,1"
      Dst: "[com.drew.lang.SequentialReader].<init>()"
    - Src: "com.drew.lang.SequentialByteArrayReader:54,1"
      Dst: "[java.lang.NullPointerException].<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: 3
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.heif.HeifBoxHandler].processFileType(com.drew.lang.SequentialReader,com.drew.metadata.heif.boxes.Box)"
    functionSourceFile: "com.drew.metadata.heif.HeifBoxHandler"
    linkageType: ""
    functionLinenumber: 96
    functionLinenumberEnd: 103
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "com.drew.metadata.heif.boxes.Box"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.heif.boxes.FileTypeBox].<init>(com.drew.lang.SequentialReader,com.drew.metadata.heif.boxes.Box)"
    - "[com.drew.metadata.heif.boxes.FileTypeBox].addMetadata(com.drew.metadata.heif.HeifDirectory)"
    - "[java.util.ArrayList].contains(java.lang.Object)"
    - "[com.drew.metadata.heif.boxes.FileTypeBox].getCompatibleBrands()"
    - "[com.drew.metadata.Directory].addError(java.lang.String)"
    functionUses: 1
    ICount: 13
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "com.drew.metadata.heif.HeifBoxHandler:99"
      Branch Sides:
      - BranchSide: "com.drew.metadata.heif.HeifBoxHandler:102"
        BranchSideFuncs:
        - "addError(java.lang.String)"
      - BranchSide: "com.drew.metadata.heif.HeifBoxHandler:101"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.heif.HeifBoxHandler:97,1"
      Dst: "[com.drew.metadata.heif.boxes.FileTypeBox].<init>(com.drew.lang.SequentialReader,com.drew.metadata.heif.boxes.Box)"
    - Src: "com.drew.metadata.heif.HeifBoxHandler:98,1"
      Dst: "[com.drew.metadata.heif.boxes.FileTypeBox].addMetadata(com.drew.metadata.heif.HeifDirectory)"
    - Src: "com.drew.metadata.heif.HeifBoxHandler:99,1"
      Dst: "[com.drew.metadata.heif.boxes.FileTypeBox].getCompatibleBrands()"
    - Src: "com.drew.metadata.heif.HeifBoxHandler:99,1"
      Dst: "[java.util.ArrayList].contains(java.lang.Object)"
    - Src: "com.drew.metadata.heif.HeifBoxHandler:100,1"
      Dst: "[com.drew.metadata.Directory].addError(java.lang.String)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.heif.boxes.FileTypeBox].<init>(com.drew.lang.SequentialReader,com.drew.metadata.heif.boxes.Box)"
    functionSourceFile: "com.drew.metadata.heif.boxes.FileTypeBox"
    linkageType: ""
    functionLinenumber: 39
    functionLinenumberEnd: 49
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "com.drew.metadata.heif.boxes.Box"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.heif.boxes.Box].<init>(com.drew.metadata.heif.boxes.Box)"
    - "[com.drew.lang.SequentialReader].getString(int)"
    - "[com.drew.lang.SequentialReader].getUInt32()"
    - "[java.util.ArrayList].<init>()"
    - "[java.util.ArrayList].add(java.lang.Object)"
    functionUses: 1
    ICount: 23
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "com.drew.metadata.heif.boxes.FileTypeBox:45"
      Branch Sides:
      - BranchSide: "com.drew.metadata.heif.boxes.FileTypeBox:47"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.heif.boxes.FileTypeBox:40,1"
      Dst: "[com.drew.metadata.heif.boxes.Box].<init>(com.drew.metadata.heif.boxes.Box)"
    - Src: "com.drew.metadata.heif.boxes.FileTypeBox:42,1"
      Dst: "[com.drew.lang.SequentialReader].getString(int)"
    - Src: "com.drew.metadata.heif.boxes.FileTypeBox:43,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt32()"
    - Src: "com.drew.metadata.heif.boxes.FileTypeBox:44,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "com.drew.metadata.heif.boxes.FileTypeBox:46,1"
      Dst: "[java.util.ArrayList].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.heif.boxes.Box].<init>(com.drew.metadata.heif.boxes.Box)"
    functionSourceFile: "com.drew.metadata.heif.boxes.Box"
    linkageType: ""
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.heif.boxes.Box"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 5
    ICount: 10
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.heif.boxes.Box:51,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: "[com.drew.metadata.heif.boxes.FileTypeBox].addMetadata(com.drew.metadata.heif.HeifDirectory)"
    functionSourceFile: "com.drew.metadata.heif.boxes.FileTypeBox"
    linkageType: ""
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.heif.HeifDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].setString(int,java.lang.String)"
    - "[com.drew.metadata.Directory].setLong(int,long)"
    - "[com.drew.metadata.Directory].setStringArray(int,java.lang.String[])"
    - "[java.util.ArrayList].size()"
    - "[java.util.ArrayList].toArray(java.lang.Object[])"
    functionUses: 1
    ICount: 14
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.heif.boxes.FileTypeBox:52,1"
      Dst: "[com.drew.metadata.Directory].setString(int,java.lang.String)"
    - Src: "com.drew.metadata.heif.boxes.FileTypeBox:53,1"
      Dst: "[com.drew.metadata.Directory].setLong(int,long)"
    - Src: "com.drew.metadata.heif.boxes.FileTypeBox:54,1"
      Dst: "[java.util.ArrayList].size()"
    - Src: "com.drew.metadata.heif.boxes.FileTypeBox:54,1"
      Dst: "[java.util.ArrayList].toArray(java.lang.Object[])"
    - Src: "com.drew.metadata.heif.boxes.FileTypeBox:54,1"
      Dst: "[com.drew.metadata.Directory].setStringArray(int,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: "[com.drew.metadata.heif.boxes.FileTypeBox].getCompatibleBrands()"
    functionSourceFile: "com.drew.metadata.heif.boxes.FileTypeBox"
    linkageType: ""
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionDepth: 0
    returnType: "java.util.ArrayList"
    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: "[com.drew.metadata.heif.boxes.HandlerBox].<init>(com.drew.lang.SequentialReader,com.drew.metadata.heif.boxes.Box)"
    functionSourceFile: "com.drew.metadata.heif.boxes.HandlerBox"
    linkageType: ""
    functionLinenumber: 38
    functionLinenumberEnd: 46
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "com.drew.metadata.heif.boxes.Box"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.heif.boxes.FullBox].<init>(com.drew.lang.SequentialReader,com.drew.metadata.heif.boxes.Box)"
    - "[com.drew.lang.StreamReader].skip(long)"
    - "[com.drew.lang.SequentialByteArrayReader].skip(long)"
    - "[com.drew.lang.SequentialReader].getString(int)"
    - "[com.drew.lang.SequentialReader].getNullTerminatedString(int,java.nio.charset.Charset,boolean)"
    - "[com.drew.lang.SequentialReader].skip(long)"
    functionUses: 1
    ICount: 15
    EdgeCount: 7
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.heif.boxes.HandlerBox:39,1"
      Dst: "[com.drew.metadata.heif.boxes.FullBox].<init>(com.drew.lang.SequentialReader,com.drew.metadata.heif.boxes.Box)"
    - Src: "com.drew.metadata.heif.boxes.HandlerBox:41,1"
      Dst: "[com.drew.lang.SequentialReader].skip(long)"
    - Src: "com.drew.metadata.heif.boxes.HandlerBox:42,1"
      Dst: "[com.drew.lang.SequentialReader].getString(int)"
    - Src: "com.drew.metadata.heif.boxes.HandlerBox:44,1"
      Dst: "[com.drew.lang.SequentialReader].getNullTerminatedString(int,java.nio.charset.Charset,boolean)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.heif.boxes.FullBox].<init>(com.drew.lang.SequentialReader,com.drew.metadata.heif.boxes.Box)"
    functionSourceFile: "com.drew.metadata.heif.boxes.FullBox"
    linkageType: ""
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "com.drew.metadata.heif.boxes.Box"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.heif.boxes.Box].<init>(com.drew.metadata.heif.boxes.Box)"
    - "[com.drew.lang.SequentialReader].getUInt8()"
    - "[com.drew.lang.SequentialByteArrayReader].getBytes(int)"
    - "[com.drew.lang.StreamReader].getBytes(int)"
    - "[com.drew.lang.SequentialReader].getBytes(int)"
    functionUses: 10
    ICount: 10
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.heif.boxes.FullBox:37,1"
      Dst: "[com.drew.metadata.heif.boxes.Box].<init>(com.drew.metadata.heif.boxes.Box)"
    - Src: "com.drew.metadata.heif.boxes.FullBox:39,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt8()"
    - Src: "com.drew.metadata.heif.boxes.FullBox:40,1"
      Dst: "[com.drew.lang.SequentialReader].getBytes(int)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.heif.HeifHandlerFactory].getHandler(com.drew.metadata.heif.boxes.HandlerBox,com.drew.metadata.Metadata)"
    functionSourceFile: "com.drew.metadata.heif.HeifHandlerFactory"
    linkageType: ""
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionDepth: 1
    returnType: "com.drew.imaging.heif.HeifHandler<?>"
    argCount: 2
    argTypes:
    - "com.drew.metadata.heif.boxes.HandlerBox"
    - "com.drew.metadata.Metadata"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.heif.boxes.HandlerBox].getHandlerType()"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[com.drew.metadata.heif.HeifPictureHandler].<init>(com.drew.metadata.Metadata)"
    functionUses: 1
    ICount: 11
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.drew.metadata.heif.HeifHandlerFactory:41"
      Branch Sides:
      - BranchSide: "com.drew.metadata.heif.HeifHandlerFactory:44"
        BranchSideFuncs:
        - "<init>(com.drew.metadata.Metadata)"
      - BranchSide: "com.drew.metadata.heif.HeifHandlerFactory:43"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.heif.HeifHandlerFactory:40,1"
      Dst: "[com.drew.metadata.heif.boxes.HandlerBox].getHandlerType()"
    - Src: "com.drew.metadata.heif.HeifHandlerFactory:41,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "com.drew.metadata.heif.HeifHandlerFactory:42,1"
      Dst: "[com.drew.metadata.heif.HeifPictureHandler].<init>(com.drew.metadata.Metadata)"
    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: "[com.drew.metadata.heif.boxes.HandlerBox].getHandlerType()"
    functionSourceFile: "com.drew.metadata.heif.boxes.HandlerBox"
    linkageType: ""
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionDepth: 0
    returnType: "java.lang.String"
    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: "[com.drew.metadata.heif.HeifPictureHandler].<init>(com.drew.metadata.Metadata)"
    functionSourceFile: "com.drew.metadata.heif.HeifPictureHandler"
    linkageType: ""
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.Metadata"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.imaging.heif.HeifHandler].<init>(com.drew.metadata.Metadata)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.heif.HeifPictureHandler:73,1"
      Dst: "[com.drew.imaging.heif.HeifHandler].<init>(com.drew.metadata.Metadata)"
    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: "[com.drew.metadata.heif.HeifBoxHandler].processContainer(com.drew.metadata.heif.boxes.Box,com.drew.lang.SequentialReader)"
    functionSourceFile: "com.drew.metadata.heif.HeifBoxHandler"
    linkageType: ""
    functionLinenumber: 89
    functionLinenumberEnd: 94
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.metadata.heif.boxes.Box"
    - "com.drew.lang.SequentialReader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].equals(java.lang.Object)"
    - "[com.drew.metadata.heif.boxes.FullBox].<init>(com.drew.lang.SequentialReader,com.drew.metadata.heif.boxes.Box)"
    functionUses: 1
    ICount: 9
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.drew.metadata.heif.HeifBoxHandler:90"
      Branch Sides:
      - BranchSide: "com.drew.metadata.heif.HeifBoxHandler:93"
        BranchSideFuncs:
        - "<init>(com.drew.lang.SequentialReader,com.drew.metadata.heif.boxes.Box)"
      - BranchSide: "com.drew.metadata.heif.HeifBoxHandler:92"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.heif.HeifBoxHandler:90,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "com.drew.metadata.heif.HeifBoxHandler:91,1"
      Dst: "[com.drew.metadata.heif.boxes.FullBox].<init>(com.drew.lang.SequentialReader,com.drew.metadata.heif.boxes.Box)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.exif.ExifImageDescriptor].<init>(com.drew.metadata.exif.ExifImageDirectory)"
    functionSourceFile: "com.drew.metadata.exif.ExifImageDescriptor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.exif.ExifImageDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.ExifDescriptorBase].<init>(com.drew.metadata.Directory)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.ExifImageDescriptor:35,1"
      Dst: "[com.drew.metadata.exif.ExifDescriptorBase].<init>(com.drew.metadata.Directory)"
    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: "[com.drew.tools.FileUtil].<init>()"
    functionSourceFile: "com.drew.tools.FileUtil"
    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: "com.drew.tools.FileUtil: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: "[com.drew.tools.FileUtil].saveBytes(java.io.File,byte[])"
    functionSourceFile: "com.drew.tools.FileUtil"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.io.File"
    - "byte[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.FileOutputStream].<init>(java.io.File)"
    - "[java.io.FileOutputStream].write(byte[])"
    - "[java.io.FileOutputStream].close()"
    functionUses: 0
    ICount: 15
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.tools.FileUtil:48"
      Branch Sides:
      - BranchSide: "com.drew.tools.FileUtil:52"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.FileUtil:51"
        BranchSideFuncs: []
    - Branch String: "com.drew.tools.FileUtil:48"
      Branch Sides:
      - BranchSide: "com.drew.tools.FileUtil:51"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.FileUtil:50"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.tools.FileUtil:45,1"
      Dst: "[java.io.FileOutputStream].<init>(java.io.File)"
    - Src: "com.drew.tools.FileUtil:46,1"
      Dst: "[java.io.FileOutputStream].write(byte[])"
    - Src: "com.drew.tools.FileUtil:49,1"
      Dst: "[java.io.FileOutputStream].close()"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.tools.FileUtil].readBytes(java.io.File)"
    functionSourceFile: "com.drew.tools.FileUtil"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "byte[]"
    argCount: 1
    argTypes:
    - "java.io.File"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.File].length()"
    - "[java.lang.AssertionError].<init>()"
    - "[java.io.FileInputStream].<init>(java.io.File)"
    - "[java.io.FileInputStream].read(byte[],int,int)"
    - "[java.io.FileInputStream].close()"
    functionUses: 0
    ICount: 31
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.tools.FileUtil:64"
      Branch Sides:
      - BranchSide: "com.drew.tools.FileUtil:65"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.FileUtil:64"
        BranchSideFuncs: []
    - Branch String: "com.drew.tools.FileUtil:64"
      Branch Sides:
      - BranchSide: "com.drew.tools.FileUtil:65"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.FileUtil:64"
        BranchSideFuncs: []
    - Branch String: "com.drew.tools.FileUtil:71"
      Branch Sides:
      - BranchSide: "com.drew.tools.FileUtil:79"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.FileUtil:78"
        BranchSideFuncs: []
    - Branch String: "com.drew.tools.FileUtil:73"
      Branch Sides:
      - BranchSide: "com.drew.tools.FileUtil:76"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.FileUtil:75"
        BranchSideFuncs: []
    - Branch String: "com.drew.tools.FileUtil:79"
      Branch Sides:
      - BranchSide: "com.drew.tools.FileUtil:84"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.FileUtil:83"
        BranchSideFuncs: []
    - Branch String: "com.drew.tools.FileUtil:79"
      Branch Sides:
      - BranchSide: "com.drew.tools.FileUtil:82"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.FileUtil:81"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.tools.FileUtil:62,1"
      Dst: "[java.io.File].length()"
    - Src: "com.drew.tools.FileUtil:64,1"
      Dst: "[java.lang.AssertionError].<init>()"
    - Src: "com.drew.tools.FileUtil:70,1"
      Dst: "[java.io.FileInputStream].<init>(java.io.File)"
    - Src: "com.drew.tools.FileUtil:72,1"
      Dst: "[java.io.FileInputStream].read(byte[],int,int)"
    - Src: "com.drew.tools.FileUtil:80,1"
      Dst: "[java.io.FileInputStream].close()"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 14
    CyclomaticComplexity: 5
  - functionName: "[com.drew.tools.FileUtil].readBytes(java.lang.String)"
    functionSourceFile: "com.drew.tools.FileUtil"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "byte[]"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.File].<init>(java.lang.String)"
    - "[com.drew.tools.FileUtil].readBytes(java.io.File)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.tools.FileUtil:95,1"
      Dst: "[java.io.File].<init>(java.lang.String)"
    - Src: "com.drew.tools.FileUtil:95,1"
      Dst: "[com.drew.tools.FileUtil].readBytes(java.io.File)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.mov.QuickTimeAtomHandler].<init>(com.drew.metadata.Metadata)"
    functionSourceFile: "com.drew.metadata.mov.QuickTimeAtomHandler"
    linkageType: ""
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.Metadata"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mov.QuickTimeHandlerFactory].<init>(com.drew.imaging.quicktime.QuickTimeHandler)"
    - "[com.drew.imaging.quicktime.QuickTimeHandler].<init>(com.drew.metadata.Metadata)"
    functionUses: 1
    ICount: 7
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.QuickTimeAtomHandler:44,1"
      Dst: "[com.drew.imaging.quicktime.QuickTimeHandler].<init>(com.drew.metadata.Metadata)"
    - Src: "com.drew.metadata.mov.QuickTimeAtomHandler:40,1"
      Dst: "[com.drew.metadata.mov.QuickTimeHandlerFactory].<init>(com.drew.imaging.quicktime.QuickTimeHandler)"
    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: "[com.drew.metadata.mov.QuickTimeAtomHandler].createDirectory()"
    functionSourceFile: "com.drew.metadata.mov.QuickTimeAtomHandler"
    linkageType: ""
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionDepth: 3
    returnType: "com.drew.metadata.mov.QuickTimeDirectory"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mov.QuickTimeDirectory].<init>()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.QuickTimeAtomHandler:51,1"
      Dst: "[com.drew.metadata.mov.QuickTimeDirectory].<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: "[com.drew.metadata.mov.QuickTimeDirectory].<init>()"
    functionSourceFile: "com.drew.metadata.mov.QuickTimeDirectory"
    linkageType: ""
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].<init>()"
    - "[com.drew.metadata.mov.QuickTimeDescriptor].<init>(com.drew.metadata.mov.QuickTimeDirectory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 8
    ICount: 6
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.QuickTimeDirectory:92,1"
      Dst: "[com.drew.metadata.Directory].<init>()"
    - Src: "com.drew.metadata.mov.QuickTimeDirectory:93,1"
      Dst: "[com.drew.metadata.mov.QuickTimeDescriptor].<init>(com.drew.metadata.mov.QuickTimeDirectory)"
    - Src: "com.drew.metadata.mov.QuickTimeDirectory:93,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.mov.QuickTimeDescriptor].<init>(com.drew.metadata.mov.QuickTimeDirectory)"
    functionSourceFile: "com.drew.metadata.mov.QuickTimeDescriptor"
    linkageType: ""
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.mov.QuickTimeDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    functionUses: 8
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.QuickTimeDescriptor:39,1"
      Dst: "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    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: "[com.drew.metadata.mov.QuickTimeAtomHandler].shouldAcceptAtom(com.drew.metadata.mov.atoms.Atom)"
    functionSourceFile: "com.drew.metadata.mov.QuickTimeAtomHandler"
    linkageType: ""
    functionLinenumber: 56
    functionLinenumberEnd: 64
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "com.drew.metadata.mov.atoms.Atom"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].equals(java.lang.Object)"
    functionUses: 1
    ICount: 27
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "com.drew.metadata.mov.QuickTimeAtomHandler:57"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.QuickTimeAtomHandler:57"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.mov.QuickTimeAtomHandler:56"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mov.QuickTimeAtomHandler:58"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.QuickTimeAtomHandler:57"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.mov.QuickTimeAtomHandler:56"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mov.QuickTimeAtomHandler:59"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.QuickTimeAtomHandler:57"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.mov.QuickTimeAtomHandler:56"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mov.QuickTimeAtomHandler:60"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.QuickTimeAtomHandler:57"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.mov.QuickTimeAtomHandler:56"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mov.QuickTimeAtomHandler:61"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.QuickTimeAtomHandler:57"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.mov.QuickTimeAtomHandler:56"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mov.QuickTimeAtomHandler:62"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.QuickTimeAtomHandler:57"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
      - BranchSide: "com.drew.metadata.mov.QuickTimeAtomHandler:56"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mov.QuickTimeAtomHandler:63"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.QuickTimeAtomHandler:56"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.mov.QuickTimeAtomHandler:57,1"
      Dst: "[java.lang.String].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: 10
    CyclomaticComplexity: 8
  - functionName: "[com.drew.metadata.mov.QuickTimeAtomHandler].shouldAcceptContainer(com.drew.metadata.mov.atoms.Atom)"
    functionSourceFile: "com.drew.metadata.mov.QuickTimeAtomHandler"
    linkageType: ""
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "com.drew.metadata.mov.atoms.Atom"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].equals(java.lang.Object)"
    functionUses: 1
    ICount: 21
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "com.drew.metadata.mov.QuickTimeAtomHandler:69"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.QuickTimeAtomHandler:69"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.mov.QuickTimeAtomHandler:68"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mov.QuickTimeAtomHandler:70"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.QuickTimeAtomHandler:69"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.mov.QuickTimeAtomHandler:68"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mov.QuickTimeAtomHandler:71"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.QuickTimeAtomHandler:69"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.mov.QuickTimeAtomHandler:68"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mov.QuickTimeAtomHandler:72"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.QuickTimeAtomHandler:69"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
      - BranchSide: "com.drew.metadata.mov.QuickTimeAtomHandler:68"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mov.QuickTimeAtomHandler:73"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.QuickTimeAtomHandler:68"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.mov.QuickTimeAtomHandler:69,1"
      Dst: "[java.lang.String].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: 8
    CyclomaticComplexity: 6
  - functionName: "[com.drew.metadata.mov.QuickTimeAtomHandler].processAtom(com.drew.metadata.mov.atoms.Atom,byte[],com.drew.metadata.mov.QuickTimeContext)"
    functionSourceFile: "com.drew.metadata.mov.QuickTimeAtomHandler"
    linkageType: ""
    functionLinenumber: 78
    functionLinenumberEnd: 109
    functionDepth: 5
    returnType: "com.drew.imaging.quicktime.QuickTimeHandler<?>"
    argCount: 3
    argTypes:
    - "com.drew.metadata.mov.atoms.Atom"
    - "byte[]"
    - "com.drew.metadata.mov.QuickTimeContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.SequentialByteArrayReader].<init>(byte[])"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[com.drew.metadata.mov.atoms.MovieHeaderAtom].<init>(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
    - "[com.drew.metadata.mov.atoms.MovieHeaderAtom].addMetadata(com.drew.metadata.mov.QuickTimeDirectory)"
    - "[com.drew.metadata.mov.atoms.FileTypeCompatibilityAtom].<init>(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
    - "[com.drew.metadata.mov.atoms.FileTypeCompatibilityAtom].addMetadata(com.drew.metadata.mov.QuickTimeDirectory)"
    - "[com.drew.metadata.mov.atoms.HandlerReferenceAtom].<init>(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
    - "[com.drew.metadata.mov.atoms.HandlerReferenceAtom].getComponentType()"
    - "[com.drew.metadata.mov.QuickTimeHandlerFactory].getHandler(java.lang.String,com.drew.metadata.Metadata,com.drew.metadata.mov.QuickTimeContext)"
    - "[com.drew.metadata.mov.atoms.MediaHeaderAtom].<init>(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom,com.drew.metadata.mov.QuickTimeContext)"
    - "[com.drew.metadata.mov.atoms.canon.CanonThumbnailAtom].<init>(com.drew.lang.SequentialReader)"
    - "[com.drew.metadata.mov.atoms.canon.CanonThumbnailAtom].addMetadata(com.drew.metadata.mov.QuickTimeDirectory)"
    - "[com.drew.metadata.xmp.XmpReader].<init>()"
    - "[com.drew.metadata.xmp.XmpReader].extract(byte[],com.drew.metadata.Metadata,com.drew.metadata.Directory)"
    - "[com.drew.metadata.mov.atoms.TrackHeaderAtom].<init>(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
    - "[com.drew.metadata.mov.atoms.TrackHeaderAtom].addMetadata(com.drew.metadata.mov.QuickTimeDirectory)"
    - "[com.drew.metadata.Directory].addError(java.lang.String)"
    functionUses: 2
    ICount: 70
    EdgeCount: 24
    BranchProfiles:
    - Branch String: "com.drew.metadata.mov.QuickTimeAtomHandler:79"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.QuickTimeAtomHandler:103"
        BranchSideFuncs:
        - "<init>(byte[])"
      - BranchSide: "com.drew.metadata.mov.QuickTimeAtomHandler:102"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "com.drew.metadata.mov.QuickTimeAtomHandler:82"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.QuickTimeAtomHandler:80"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.mov.QuickTimeAtomHandler:79"
        BranchSideFuncs:
        - "<init>(byte[])"
    - Branch String: "com.drew.metadata.mov.QuickTimeAtomHandler:82"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.QuickTimeAtomHandler:80"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.mov.QuickTimeAtomHandler:79"
        BranchSideFuncs:
        - "<init>(byte[])"
    - Branch String: "com.drew.metadata.mov.QuickTimeAtomHandler:82"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.QuickTimeAtomHandler:91"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.mov.QuickTimeAtomHandler:90"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mov.QuickTimeAtomHandler:91"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.QuickTimeAtomHandler:93"
        BranchSideFuncs:
        - "<init>(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom,com.drew.metadata.mov.QuickTimeContext)"
      - BranchSide: "com.drew.metadata.mov.QuickTimeAtomHandler:92"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mov.QuickTimeAtomHandler:93"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.QuickTimeAtomHandler:93"
        BranchSideFuncs:
        - "<init>(com.drew.lang.SequentialReader)"
      - BranchSide: "com.drew.metadata.mov.QuickTimeAtomHandler:92"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mov.QuickTimeAtomHandler:93"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.QuickTimeAtomHandler:98"
        BranchSideFuncs:
        - "<init>(com.drew.lang.SequentialReader)"
      - BranchSide: "com.drew.metadata.mov.QuickTimeAtomHandler:97"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mov.QuickTimeAtomHandler:98"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.QuickTimeAtomHandler:102"
        BranchSideFuncs:
        - "<init>(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
        - "addMetadata(com.drew.metadata.mov.QuickTimeDirectory)"
      - BranchSide: "com.drew.metadata.mov.QuickTimeAtomHandler:101"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mov.QuickTimeAtomHandler:103"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.QuickTimeAtomHandler:108"
        BranchSideFuncs:
        - "addError(java.lang.String)"
      - BranchSide: "com.drew.metadata.mov.QuickTimeAtomHandler:107"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.mov.QuickTimeAtomHandler:80,1"
      Dst: "[com.drew.lang.SequentialByteArrayReader].<init>(byte[])"
    - Src: "com.drew.metadata.mov.QuickTimeAtomHandler:82,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "com.drew.metadata.mov.QuickTimeAtomHandler:83,1"
      Dst: "[com.drew.metadata.mov.atoms.MovieHeaderAtom].<init>(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
    - Src: "com.drew.metadata.mov.QuickTimeAtomHandler:84,1"
      Dst: "[com.drew.metadata.mov.atoms.MovieHeaderAtom].addMetadata(com.drew.metadata.mov.QuickTimeDirectory)"
    - Src: "com.drew.metadata.mov.QuickTimeAtomHandler:86,1"
      Dst: "[com.drew.metadata.mov.atoms.FileTypeCompatibilityAtom].<init>(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
    - Src: "com.drew.metadata.mov.QuickTimeAtomHandler:87,1"
      Dst: "[com.drew.metadata.mov.atoms.FileTypeCompatibilityAtom].addMetadata(com.drew.metadata.mov.QuickTimeDirectory)"
    - Src: "com.drew.metadata.mov.QuickTimeAtomHandler:89,1"
      Dst: "[com.drew.metadata.mov.atoms.HandlerReferenceAtom].<init>(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
    - Src: "com.drew.metadata.mov.QuickTimeAtomHandler:90,1"
      Dst: "[com.drew.metadata.mov.atoms.HandlerReferenceAtom].getComponentType()"
    - Src: "com.drew.metadata.mov.QuickTimeAtomHandler:90,1"
      Dst: "[com.drew.metadata.mov.QuickTimeHandlerFactory].getHandler(java.lang.String,com.drew.metadata.Metadata,com.drew.metadata.mov.QuickTimeContext)"
    - Src: "com.drew.metadata.mov.QuickTimeAtomHandler:92,1"
      Dst: "[com.drew.metadata.mov.atoms.MediaHeaderAtom].<init>(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom,com.drew.metadata.mov.QuickTimeContext)"
    - Src: "com.drew.metadata.mov.QuickTimeAtomHandler:94,1"
      Dst: "[com.drew.metadata.mov.atoms.canon.CanonThumbnailAtom].<init>(com.drew.lang.SequentialReader)"
    - Src: "com.drew.metadata.mov.QuickTimeAtomHandler:95,1"
      Dst: "[com.drew.metadata.mov.atoms.canon.CanonThumbnailAtom].addMetadata(com.drew.metadata.mov.QuickTimeDirectory)"
    - Src: "com.drew.metadata.mov.QuickTimeAtomHandler:97,1"
      Dst: "[com.drew.metadata.xmp.XmpReader].<init>()"
    - Src: "com.drew.metadata.mov.QuickTimeAtomHandler:97,1"
      Dst: "[com.drew.metadata.xmp.XmpReader].extract(byte[],com.drew.metadata.Metadata,com.drew.metadata.Directory)"
    - Src: "com.drew.metadata.mov.QuickTimeAtomHandler:99,1"
      Dst: "[com.drew.metadata.mov.atoms.TrackHeaderAtom].<init>(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
    - Src: "com.drew.metadata.mov.QuickTimeAtomHandler:100,1"
      Dst: "[com.drew.metadata.mov.atoms.TrackHeaderAtom].addMetadata(com.drew.metadata.mov.QuickTimeDirectory)"
    - Src: "com.drew.metadata.mov.QuickTimeAtomHandler:104,1"
      Dst: "[com.drew.metadata.Directory].addError(java.lang.String)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 19
    CyclomaticComplexity: 9
  - functionName: "[com.drew.metadata.mov.atoms.MovieHeaderAtom].<init>(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
    functionSourceFile: "com.drew.metadata.mov.atoms.MovieHeaderAtom"
    linkageType: ""
    functionLinenumber: 54
    functionLinenumberEnd: 83
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "com.drew.metadata.mov.atoms.Atom"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mov.atoms.FullAtom].<init>(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
    - "[com.drew.lang.SequentialReader].getUInt32()"
    - "[com.drew.lang.SequentialReader].getInt32()"
    - "[com.drew.lang.SequentialReader].getInt16()"
    - "[com.drew.lang.StreamReader].skip(long)"
    - "[com.drew.lang.SequentialByteArrayReader].skip(long)"
    - "[com.drew.lang.SequentialReader].skip(long)"
    functionUses: 1
    ICount: 53
    EdgeCount: 25
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.atoms.MovieHeaderAtom:55,1"
      Dst: "[com.drew.metadata.mov.atoms.FullAtom].<init>(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
    - Src: "com.drew.metadata.mov.atoms.MovieHeaderAtom:57,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt32()"
    - Src: "com.drew.metadata.mov.atoms.MovieHeaderAtom:61,1"
      Dst: "[com.drew.lang.SequentialReader].getInt32()"
    - Src: "com.drew.metadata.mov.atoms.MovieHeaderAtom:62,1"
      Dst: "[com.drew.lang.SequentialReader].getInt16()"
    - Src: "com.drew.metadata.mov.atoms.MovieHeaderAtom:63,1"
      Dst: "[com.drew.lang.SequentialReader].skip(long)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.mov.atoms.FullAtom].<init>(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
    functionSourceFile: "com.drew.metadata.mov.atoms.FullAtom"
    linkageType: ""
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "com.drew.metadata.mov.atoms.Atom"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mov.atoms.Atom].<init>(com.drew.metadata.mov.atoms.Atom)"
    - "[com.drew.lang.SequentialReader].getUInt8()"
    - "[com.drew.lang.SequentialByteArrayReader].getBytes(int)"
    - "[com.drew.lang.StreamReader].getBytes(int)"
    - "[com.drew.lang.SequentialReader].getBytes(int)"
    functionUses: 9
    ICount: 10
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.atoms.FullAtom:39,1"
      Dst: "[com.drew.metadata.mov.atoms.Atom].<init>(com.drew.metadata.mov.atoms.Atom)"
    - Src: "com.drew.metadata.mov.atoms.FullAtom:41,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt8()"
    - Src: "com.drew.metadata.mov.atoms.FullAtom:42,1"
      Dst: "[com.drew.lang.SequentialReader].getBytes(int)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.mov.atoms.Atom].<init>(com.drew.metadata.mov.atoms.Atom)"
    functionSourceFile: "com.drew.metadata.mov.atoms.Atom"
    linkageType: ""
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.mov.atoms.Atom"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 2
    ICount: 8
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.atoms.Atom:59,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: "[com.drew.metadata.mov.atoms.MovieHeaderAtom].addMetadata(com.drew.metadata.mov.QuickTimeDirectory)"
    functionSourceFile: "com.drew.metadata.mov.atoms.MovieHeaderAtom"
    linkageType: ""
    functionLinenumber: 86
    functionLinenumberEnd: 113
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.mov.QuickTimeDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.DateUtil].get1Jan1904EpochDate(long)"
    - "[com.drew.metadata.Directory].setDate(int,java.util.Date)"
    - "[com.drew.metadata.Directory].setLong(int,long)"
    - "[com.drew.lang.Rational].<init>(long,long)"
    - "[com.drew.metadata.Directory].setRational(int,com.drew.lang.Rational)"
    - "[com.drew.metadata.Directory].setDouble(int,double)"
    functionUses: 1
    ICount: 54
    EdgeCount: 17
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.atoms.MovieHeaderAtom:87,1"
      Dst: "[com.drew.lang.DateUtil].get1Jan1904EpochDate(long)"
    - Src: "com.drew.metadata.mov.atoms.MovieHeaderAtom:87,1"
      Dst: "[com.drew.metadata.Directory].setDate(int,java.util.Date)"
    - Src: "com.drew.metadata.mov.atoms.MovieHeaderAtom:91,1"
      Dst: "[com.drew.metadata.Directory].setLong(int,long)"
    - Src: "com.drew.metadata.mov.atoms.MovieHeaderAtom:93,1"
      Dst: "[com.drew.lang.Rational].<init>(long,long)"
    - Src: "com.drew.metadata.mov.atoms.MovieHeaderAtom:93,1"
      Dst: "[com.drew.metadata.Directory].setRational(int,com.drew.lang.Rational)"
    - Src: "com.drew.metadata.mov.atoms.MovieHeaderAtom:98,1"
      Dst: "[com.drew.metadata.Directory].setDouble(int,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: "[com.drew.lang.DateUtil].get1Jan1904EpochDate(long)"
    functionSourceFile: "com.drew.lang.DateUtil"
    linkageType: ""
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionDepth: 0
    returnType: "java.util.Date"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Date].<init>(long)"
    functionUses: 8
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.lang.DateUtil:63,1"
      Dst: "[java.util.Date].<init>(long)"
    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: "[com.drew.lang.Rational].<init>(long,long)"
    functionSourceFile: "com.drew.lang.Rational"
    linkageType: ""
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "long"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Number].<init>()"
    functionUses: 17
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.lang.Rational:55,1"
      Dst: "[java.lang.Number].<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: "[com.drew.metadata.mov.atoms.FileTypeCompatibilityAtom].<init>(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
    functionSourceFile: "com.drew.metadata.mov.atoms.FileTypeCompatibilityAtom"
    linkageType: ""
    functionLinenumber: 41
    functionLinenumberEnd: 51
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "com.drew.metadata.mov.atoms.Atom"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mov.atoms.Atom].<init>(com.drew.metadata.mov.atoms.Atom)"
    - "[com.drew.lang.SequentialReader].getString(int)"
    - "[com.drew.lang.SequentialReader].getUInt32()"
    - "[java.util.ArrayList].<init>(int)"
    - "[java.util.ArrayList].add(java.lang.Object)"
    functionUses: 1
    ICount: 27
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "com.drew.metadata.mov.atoms.FileTypeCompatibilityAtom:47"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.atoms.FileTypeCompatibilityAtom:49"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.mov.atoms.FileTypeCompatibilityAtom:42,1"
      Dst: "[com.drew.metadata.mov.atoms.Atom].<init>(com.drew.metadata.mov.atoms.Atom)"
    - Src: "com.drew.metadata.mov.atoms.FileTypeCompatibilityAtom:44,1"
      Dst: "[com.drew.lang.SequentialReader].getString(int)"
    - Src: "com.drew.metadata.mov.atoms.FileTypeCompatibilityAtom:45,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt32()"
    - Src: "com.drew.metadata.mov.atoms.FileTypeCompatibilityAtom:46,1"
      Dst: "[java.util.ArrayList].<init>(int)"
    - Src: "com.drew.metadata.mov.atoms.FileTypeCompatibilityAtom:48,1"
      Dst: "[java.util.ArrayList].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.mov.atoms.FileTypeCompatibilityAtom].addMetadata(com.drew.metadata.mov.QuickTimeDirectory)"
    functionSourceFile: "com.drew.metadata.mov.atoms.FileTypeCompatibilityAtom"
    linkageType: ""
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.mov.QuickTimeDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].setString(int,java.lang.String)"
    - "[com.drew.metadata.Directory].setLong(int,long)"
    - "[com.drew.metadata.Directory].setStringArray(int,java.lang.String[])"
    - "[java.util.ArrayList].size()"
    - "[java.util.ArrayList].toArray(java.lang.Object[])"
    functionUses: 1
    ICount: 14
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.atoms.FileTypeCompatibilityAtom:54,1"
      Dst: "[com.drew.metadata.Directory].setString(int,java.lang.String)"
    - Src: "com.drew.metadata.mov.atoms.FileTypeCompatibilityAtom:55,1"
      Dst: "[com.drew.metadata.Directory].setLong(int,long)"
    - Src: "com.drew.metadata.mov.atoms.FileTypeCompatibilityAtom:56,1"
      Dst: "[java.util.ArrayList].size()"
    - Src: "com.drew.metadata.mov.atoms.FileTypeCompatibilityAtom:56,1"
      Dst: "[java.util.ArrayList].toArray(java.lang.Object[])"
    - Src: "com.drew.metadata.mov.atoms.FileTypeCompatibilityAtom:56,1"
      Dst: "[com.drew.metadata.Directory].setStringArray(int,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: "[com.drew.metadata.mov.atoms.HandlerReferenceAtom].<init>(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
    functionSourceFile: "com.drew.metadata.mov.atoms.HandlerReferenceAtom"
    linkageType: ""
    functionLinenumber: 44
    functionLinenumberEnd: 54
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "com.drew.metadata.mov.atoms.Atom"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mov.atoms.FullAtom].<init>(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
    - "[com.drew.lang.SequentialReader].getString(int)"
    - "[com.drew.lang.StreamReader].skip(long)"
    - "[com.drew.lang.SequentialByteArrayReader].skip(long)"
    - "[com.drew.lang.SequentialReader].getUInt8()"
    - "[com.drew.lang.SequentialReader].skip(long)"
    functionUses: 1
    ICount: 16
    EdgeCount: 11
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.atoms.HandlerReferenceAtom:45,1"
      Dst: "[com.drew.metadata.mov.atoms.FullAtom].<init>(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
    - Src: "com.drew.metadata.mov.atoms.HandlerReferenceAtom:47,1"
      Dst: "[com.drew.lang.SequentialReader].getString(int)"
    - Src: "com.drew.metadata.mov.atoms.HandlerReferenceAtom:49,1"
      Dst: "[com.drew.lang.SequentialReader].skip(long)"
    - Src: "com.drew.metadata.mov.atoms.HandlerReferenceAtom:52,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt8()"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.mov.atoms.HandlerReferenceAtom].getComponentType()"
    functionSourceFile: "com.drew.metadata.mov.atoms.HandlerReferenceAtom"
    linkageType: ""
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionDepth: 0
    returnType: "java.lang.String"
    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: "[com.drew.metadata.mov.QuickTimeHandlerFactory].getHandler(java.lang.String,com.drew.metadata.Metadata,com.drew.metadata.mov.QuickTimeContext)"
    functionSourceFile: "com.drew.metadata.mov.QuickTimeHandlerFactory"
    linkageType: ""
    functionLinenumber: 51
    functionLinenumberEnd: 70
    functionDepth: 1
    returnType: "com.drew.imaging.quicktime.QuickTimeHandler<?>"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "com.drew.metadata.Metadata"
    - "com.drew.metadata.mov.QuickTimeContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].equals(java.lang.Object)"
    - "[com.drew.metadata.mov.metadata.QuickTimeDirectoryHandler].<init>(com.drew.metadata.Metadata)"
    - "[com.drew.metadata.mov.metadata.QuickTimeDataHandler].<init>(com.drew.metadata.Metadata)"
    - "[com.drew.metadata.mov.media.QuickTimeSoundHandler].<init>(com.drew.metadata.Metadata,com.drew.metadata.mov.QuickTimeContext)"
    - "[com.drew.metadata.mov.media.QuickTimeVideoHandler].<init>(com.drew.metadata.Metadata,com.drew.metadata.mov.QuickTimeContext)"
    - "[com.drew.metadata.mov.media.QuickTimeTimecodeHandler].<init>(com.drew.metadata.Metadata,com.drew.metadata.mov.QuickTimeContext)"
    - "[com.drew.metadata.mov.media.QuickTimeTextHandler].<init>(com.drew.metadata.Metadata,com.drew.metadata.mov.QuickTimeContext)"
    - "[com.drew.metadata.mov.media.QuickTimeSubtitleHandler].<init>(com.drew.metadata.Metadata,com.drew.metadata.mov.QuickTimeContext)"
    - "[com.drew.metadata.mov.media.QuickTimeMusicHandler].<init>(com.drew.metadata.Metadata,com.drew.metadata.mov.QuickTimeContext)"
    functionUses: 1
    ICount: 46
    EdgeCount: 16
    BranchProfiles:
    - Branch String: "com.drew.metadata.mov.QuickTimeHandlerFactory:52"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.QuickTimeHandlerFactory:54"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.mov.QuickTimeHandlerFactory:53"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mov.QuickTimeHandlerFactory:54"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.QuickTimeHandlerFactory:56"
        BranchSideFuncs:
        - "<init>(com.drew.metadata.Metadata)"
      - BranchSide: "com.drew.metadata.mov.QuickTimeHandlerFactory:55"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mov.QuickTimeHandlerFactory:56"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.QuickTimeHandlerFactory:58"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.mov.QuickTimeHandlerFactory:57"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mov.QuickTimeHandlerFactory:58"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.QuickTimeHandlerFactory:60"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.mov.QuickTimeHandlerFactory:59"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mov.QuickTimeHandlerFactory:60"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.QuickTimeHandlerFactory:62"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.mov.QuickTimeHandlerFactory:61"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mov.QuickTimeHandlerFactory:62"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.QuickTimeHandlerFactory:64"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.mov.QuickTimeHandlerFactory:63"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mov.QuickTimeHandlerFactory:64"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.QuickTimeHandlerFactory:66"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.mov.QuickTimeHandlerFactory:65"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "com.drew.metadata.mov.QuickTimeHandlerFactory:66"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.QuickTimeHandlerFactory:69"
        BranchSideFuncs:
        - "<init>(com.drew.metadata.Metadata,com.drew.metadata.mov.QuickTimeContext)"
      - BranchSide: "com.drew.metadata.mov.QuickTimeHandlerFactory:68"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.mov.QuickTimeHandlerFactory:52,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "com.drew.metadata.mov.QuickTimeHandlerFactory:53,1"
      Dst: "[com.drew.metadata.mov.metadata.QuickTimeDirectoryHandler].<init>(com.drew.metadata.Metadata)"
    - Src: "com.drew.metadata.mov.QuickTimeHandlerFactory:55,1"
      Dst: "[com.drew.metadata.mov.metadata.QuickTimeDataHandler].<init>(com.drew.metadata.Metadata)"
    - Src: "com.drew.metadata.mov.QuickTimeHandlerFactory:57,1"
      Dst: "[com.drew.metadata.mov.media.QuickTimeSoundHandler].<init>(com.drew.metadata.Metadata,com.drew.metadata.mov.QuickTimeContext)"
    - Src: "com.drew.metadata.mov.QuickTimeHandlerFactory:59,1"
      Dst: "[com.drew.metadata.mov.media.QuickTimeVideoHandler].<init>(com.drew.metadata.Metadata,com.drew.metadata.mov.QuickTimeContext)"
    - Src: "com.drew.metadata.mov.QuickTimeHandlerFactory:61,1"
      Dst: "[com.drew.metadata.mov.media.QuickTimeTimecodeHandler].<init>(com.drew.metadata.Metadata,com.drew.metadata.mov.QuickTimeContext)"
    - Src: "com.drew.metadata.mov.QuickTimeHandlerFactory:63,1"
      Dst: "[com.drew.metadata.mov.media.QuickTimeTextHandler].<init>(com.drew.metadata.Metadata,com.drew.metadata.mov.QuickTimeContext)"
    - Src: "com.drew.metadata.mov.QuickTimeHandlerFactory:65,1"
      Dst: "[com.drew.metadata.mov.media.QuickTimeSubtitleHandler].<init>(com.drew.metadata.Metadata,com.drew.metadata.mov.QuickTimeContext)"
    - Src: "com.drew.metadata.mov.QuickTimeHandlerFactory:67,1"
      Dst: "[com.drew.metadata.mov.media.QuickTimeMusicHandler].<init>(com.drew.metadata.Metadata,com.drew.metadata.mov.QuickTimeContext)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 17
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.mov.metadata.QuickTimeDirectoryHandler].<init>(com.drew.metadata.Metadata)"
    functionSourceFile: "com.drew.metadata.mov.metadata.QuickTimeDirectoryHandler"
    linkageType: ""
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.Metadata"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mov.QuickTimeMetadataHandler].<init>(com.drew.metadata.Metadata)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.metadata.QuickTimeDirectoryHandler:46,1"
      Dst: "[com.drew.metadata.mov.QuickTimeMetadataHandler].<init>(com.drew.metadata.Metadata)"
    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: "[com.drew.metadata.mov.metadata.QuickTimeDataHandler].<init>(com.drew.metadata.Metadata)"
    functionSourceFile: "com.drew.metadata.mov.metadata.QuickTimeDataHandler"
    linkageType: ""
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.Metadata"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].<init>()"
    - "[com.drew.metadata.mov.QuickTimeMetadataHandler].<init>(com.drew.metadata.Metadata)"
    functionUses: 1
    ICount: 8
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.metadata.QuickTimeDataHandler:48,1"
      Dst: "[com.drew.metadata.mov.QuickTimeMetadataHandler].<init>(com.drew.metadata.Metadata)"
    - Src: "com.drew.metadata.mov.metadata.QuickTimeDataHandler:44,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: "[com.drew.metadata.mov.media.QuickTimeSoundHandler].<init>(com.drew.metadata.Metadata,com.drew.metadata.mov.QuickTimeContext)"
    functionSourceFile: "com.drew.metadata.mov.media.QuickTimeSoundHandler"
    linkageType: ""
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.metadata.Metadata"
    - "com.drew.metadata.mov.QuickTimeContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mov.QuickTimeMediaHandler].<init>(com.drew.metadata.Metadata,com.drew.metadata.mov.QuickTimeContext)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.media.QuickTimeSoundHandler:40,1"
      Dst: "[com.drew.metadata.mov.QuickTimeMediaHandler].<init>(com.drew.metadata.Metadata,com.drew.metadata.mov.QuickTimeContext)"
    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: "[com.drew.metadata.mov.media.QuickTimeVideoHandler].<init>(com.drew.metadata.Metadata,com.drew.metadata.mov.QuickTimeContext)"
    functionSourceFile: "com.drew.metadata.mov.media.QuickTimeVideoHandler"
    linkageType: ""
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.metadata.Metadata"
    - "com.drew.metadata.mov.QuickTimeContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mov.QuickTimeMediaHandler].<init>(com.drew.metadata.Metadata,com.drew.metadata.mov.QuickTimeContext)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.media.QuickTimeVideoHandler:43,1"
      Dst: "[com.drew.metadata.mov.QuickTimeMediaHandler].<init>(com.drew.metadata.Metadata,com.drew.metadata.mov.QuickTimeContext)"
    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: "[com.drew.metadata.mov.media.QuickTimeTimecodeHandler].<init>(com.drew.metadata.Metadata,com.drew.metadata.mov.QuickTimeContext)"
    functionSourceFile: "com.drew.metadata.mov.media.QuickTimeTimecodeHandler"
    linkageType: ""
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.metadata.Metadata"
    - "com.drew.metadata.mov.QuickTimeContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mov.QuickTimeMediaHandler].<init>(com.drew.metadata.Metadata,com.drew.metadata.mov.QuickTimeContext)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.media.QuickTimeTimecodeHandler:42,1"
      Dst: "[com.drew.metadata.mov.QuickTimeMediaHandler].<init>(com.drew.metadata.Metadata,com.drew.metadata.mov.QuickTimeContext)"
    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: "[com.drew.metadata.mov.media.QuickTimeTextHandler].<init>(com.drew.metadata.Metadata,com.drew.metadata.mov.QuickTimeContext)"
    functionSourceFile: "com.drew.metadata.mov.media.QuickTimeTextHandler"
    linkageType: ""
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.metadata.Metadata"
    - "com.drew.metadata.mov.QuickTimeContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mov.QuickTimeMediaHandler].<init>(com.drew.metadata.Metadata,com.drew.metadata.mov.QuickTimeContext)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.media.QuickTimeTextHandler:41,1"
      Dst: "[com.drew.metadata.mov.QuickTimeMediaHandler].<init>(com.drew.metadata.Metadata,com.drew.metadata.mov.QuickTimeContext)"
    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: "[com.drew.metadata.mov.media.QuickTimeSubtitleHandler].<init>(com.drew.metadata.Metadata,com.drew.metadata.mov.QuickTimeContext)"
    functionSourceFile: "com.drew.metadata.mov.media.QuickTimeSubtitleHandler"
    linkageType: ""
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.metadata.Metadata"
    - "com.drew.metadata.mov.QuickTimeContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mov.QuickTimeMediaHandler].<init>(com.drew.metadata.Metadata,com.drew.metadata.mov.QuickTimeContext)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.media.QuickTimeSubtitleHandler:40,1"
      Dst: "[com.drew.metadata.mov.QuickTimeMediaHandler].<init>(com.drew.metadata.Metadata,com.drew.metadata.mov.QuickTimeContext)"
    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: "[com.drew.metadata.mov.media.QuickTimeMusicHandler].<init>(com.drew.metadata.Metadata,com.drew.metadata.mov.QuickTimeContext)"
    functionSourceFile: "com.drew.metadata.mov.media.QuickTimeMusicHandler"
    linkageType: ""
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.metadata.Metadata"
    - "com.drew.metadata.mov.QuickTimeContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mov.QuickTimeMediaHandler].<init>(com.drew.metadata.Metadata,com.drew.metadata.mov.QuickTimeContext)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.media.QuickTimeMusicHandler:40,1"
      Dst: "[com.drew.metadata.mov.QuickTimeMediaHandler].<init>(com.drew.metadata.Metadata,com.drew.metadata.mov.QuickTimeContext)"
    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: "[com.drew.metadata.mov.atoms.MediaHeaderAtom].<init>(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom,com.drew.metadata.mov.QuickTimeContext)"
    functionSourceFile: "com.drew.metadata.mov.atoms.MediaHeaderAtom"
    linkageType: ""
    functionLinenumber: 36
    functionLinenumberEnd: 46
    functionDepth: 2
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "com.drew.metadata.mov.atoms.Atom"
    - "com.drew.metadata.mov.QuickTimeContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mov.atoms.FullAtom].<init>(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
    - "[com.drew.lang.SequentialReader].getUInt32()"
    - "[java.lang.Long].valueOf(long)"
    - "[com.drew.lang.SequentialReader].getUInt16()"
    functionUses: 1
    ICount: 20
    EdgeCount: 11
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.atoms.MediaHeaderAtom:37,1"
      Dst: "[com.drew.metadata.mov.atoms.FullAtom].<init>(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
    - Src: "com.drew.metadata.mov.atoms.MediaHeaderAtom:39,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt32()"
    - Src: "com.drew.metadata.mov.atoms.MediaHeaderAtom:39,1"
      Dst: "[java.lang.Long].valueOf(long)"
    - Src: "com.drew.metadata.mov.atoms.MediaHeaderAtom:43,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt16()"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.mov.atoms.canon.CanonThumbnailAtom].<init>(com.drew.lang.SequentialReader)"
    functionSourceFile: "com.drew.metadata.mov.atoms.canon.CanonThumbnailAtom"
    linkageType: ""
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.lang.SequentialReader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mov.atoms.Atom].<init>(com.drew.lang.SequentialReader)"
    - "[com.drew.metadata.mov.atoms.canon.CanonThumbnailAtom].readCNDA(com.drew.lang.SequentialReader)"
    functionUses: 1
    ICount: 5
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.atoms.canon.CanonThumbnailAtom:37,1"
      Dst: "[com.drew.metadata.mov.atoms.Atom].<init>(com.drew.lang.SequentialReader)"
    - Src: "com.drew.metadata.mov.atoms.canon.CanonThumbnailAtom:38,1"
      Dst: "[com.drew.metadata.mov.atoms.canon.CanonThumbnailAtom].readCNDA(com.drew.lang.SequentialReader)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.mov.atoms.Atom].<init>(com.drew.lang.SequentialReader)"
    functionSourceFile: "com.drew.metadata.mov.atoms.Atom"
    linkageType: ""
    functionLinenumber: 37
    functionLinenumberEnd: 57
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.lang.SequentialReader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[com.drew.lang.SequentialReader].getUInt32()"
    - "[com.drew.lang.SequentialReader].getString(int)"
    - "[com.drew.lang.SequentialReader].getInt64()"
    functionUses: 2
    ICount: 23
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "com.drew.metadata.mov.atoms.Atom:45"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.atoms.Atom:49"
        BranchSideFuncs:
        - "getString(int)"
    - Branch String: "com.drew.metadata.mov.atoms.Atom:51"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.atoms.Atom:53"
        BranchSideFuncs:
        - "getInt64()"
      - BranchSide: "com.drew.metadata.mov.atoms.Atom:52"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mov.atoms.Atom:53"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.atoms.Atom:56"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.mov.atoms.Atom:55"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.mov.atoms.Atom:38,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.drew.metadata.mov.atoms.Atom:39,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt32()"
    - Src: "com.drew.metadata.mov.atoms.Atom:50,1"
      Dst: "[com.drew.lang.SequentialReader].getString(int)"
    - Src: "com.drew.metadata.mov.atoms.Atom:52,1"
      Dst: "[com.drew.lang.SequentialReader].getInt64()"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.mov.atoms.canon.CanonThumbnailAtom].readCNDA(com.drew.lang.SequentialReader)"
    functionSourceFile: "com.drew.metadata.mov.atoms.canon.CanonThumbnailAtom"
    linkageType: ""
    functionLinenumber: 45
    functionLinenumberEnd: 80
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.lang.SequentialReader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].equals(java.lang.Object)"
    - "[com.drew.metadata.exif.ExifReader].<init>()"
    - "[java.io.ByteArrayInputStream].<init>(byte[])"
    - "[com.drew.lang.SequentialByteArrayReader].getBytes(int)"
    - "[com.drew.lang.StreamReader].getBytes(int)"
    - "[java.util.HashSet].<init>()"
    - "[com.drew.metadata.exif.ExifReader].getSegmentTypes()"
    - "[com.adobe.internal.xmp.impl.XMPNode$1].hasNext()"
    - "[jdk.internal.module.ModuleBootstrap$2].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIterator].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIteratorChildren].hasNext()"
    - "[java.util.concurrent.ConcurrentHashMap$EntrySetView].iterator()"
    - "[jdk.internal.module.ModuleBootstrap$2].next()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIterator].next()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl].next()"
    - "[com.adobe.internal.xmp.impl.XMPNode$1].next()"
    - "[java.io.BufferedReader$1].next()"
    - "[java.util.HashSet].add(java.lang.Object)"
    - "[com.drew.lang.StreamReader].<init>(java.io.InputStream)"
    - "[com.drew.imaging.jpeg.JpegSegmentReader].readSegments(com.drew.lang.SequentialReader,java.lang.Iterable)"
    - "[com.drew.metadata.Metadata].<init>()"
    - "[com.drew.imaging.jpeg.JpegSegmentData].getSegments(com.drew.imaging.jpeg.JpegSegmentType)"
    - "[com.drew.metadata.exif.ExifReader].readJpegSegments(java.lang.Iterable,com.drew.metadata.Metadata,com.drew.imaging.jpeg.JpegSegmentType)"
    - "[com.drew.metadata.Metadata].getFirstDirectoryOfType(java.lang.Class)"
    - "[com.drew.metadata.Directory].getTags()"
    - "[com.drew.metadata.Tag].getTagType()"
    - "[com.drew.metadata.Tag].getDescription()"
    - "[com.drew.lang.SequentialReader].getBytes(int)"
    - "[com.drew.imaging.jpeg.JpegSegmentMetadataReader].getSegmentTypes()"
    - "[java.lang.Iterable].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.util.Set].add(java.lang.Object)"
    - "[com.drew.imaging.jpeg.JpegSegmentMetadataReader].readJpegSegments(java.lang.Iterable,com.drew.metadata.Metadata,com.drew.imaging.jpeg.JpegSegmentType)"
    - "[java.util.Collection].iterator()"
    functionUses: 1
    ICount: 62
    EdgeCount: 51
    BranchProfiles:
    - Branch String: "com.drew.metadata.mov.atoms.canon.CanonThumbnailAtom:46"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.atoms.canon.CanonThumbnailAtom:79"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.mov.atoms.canon.CanonThumbnailAtom:78"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mov.atoms.canon.CanonThumbnailAtom:47"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.atoms.canon.CanonThumbnailAtom:48"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.mov.atoms.canon.CanonThumbnailAtom:47"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mov.atoms.canon.CanonThumbnailAtom:47"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.atoms.canon.CanonThumbnailAtom:51"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.mov.atoms.canon.CanonThumbnailAtom:50"
        BranchSideFuncs:
        - "<init>(byte[])"
        - "getBytes(int)"
    - Branch String: "com.drew.metadata.mov.atoms.canon.CanonThumbnailAtom:54"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.atoms.canon.CanonThumbnailAtom:59"
        BranchSideFuncs:
        - "add(java.lang.Object)"
      - BranchSide: "com.drew.metadata.mov.atoms.canon.CanonThumbnailAtom:58"
        BranchSideFuncs:
        - "readSegments(com.drew.lang.SequentialReader,java.lang.Iterable)"
        - "<init>(java.io.InputStream)"
    - Branch String: "com.drew.metadata.mov.atoms.canon.CanonThumbnailAtom:66"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.atoms.canon.CanonThumbnailAtom:70"
        BranchSideFuncs:
        - "readJpegSegments(java.lang.Iterable,com.drew.metadata.Metadata,com.drew.imaging.jpeg.JpegSegmentType)"
        - "getSegmentTypes()"
        - "getSegments(com.drew.imaging.jpeg.JpegSegmentType)"
      - BranchSide: "com.drew.metadata.mov.atoms.canon.CanonThumbnailAtom:69"
        BranchSideFuncs:
        - "getFirstDirectoryOfType(java.lang.Class)"
    - Branch String: "com.drew.metadata.mov.atoms.canon.CanonThumbnailAtom:71"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.atoms.canon.CanonThumbnailAtom:79"
        BranchSideFuncs:
        - "getTags()"
        - "hasNext()"
        - "next()"
        - "iterator()"
      - BranchSide: "com.drew.metadata.mov.atoms.canon.CanonThumbnailAtom:78"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mov.atoms.canon.CanonThumbnailAtom:72"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.atoms.canon.CanonThumbnailAtom:79"
        BranchSideFuncs:
        - "getTags()"
        - "hasNext()"
        - "getTagType()"
        - "next()"
        - "iterator()"
      - BranchSide: "com.drew.metadata.mov.atoms.canon.CanonThumbnailAtom:78"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mov.atoms.canon.CanonThumbnailAtom:73"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.atoms.canon.CanonThumbnailAtom:76"
        BranchSideFuncs:
        - "getDescription()"
      - BranchSide: "com.drew.metadata.mov.atoms.canon.CanonThumbnailAtom:75"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.mov.atoms.canon.CanonThumbnailAtom:46,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "com.drew.metadata.mov.atoms.canon.CanonThumbnailAtom:51,1"
      Dst: "[com.drew.metadata.exif.ExifReader].<init>()"
    - Src: "com.drew.metadata.mov.atoms.canon.CanonThumbnailAtom:52,1"
      Dst: "[com.drew.lang.SequentialReader].getBytes(int)"
    - Src: "com.drew.metadata.mov.atoms.canon.CanonThumbnailAtom:52,1"
      Dst: "[java.io.ByteArrayInputStream].<init>(byte[])"
    - Src: "com.drew.metadata.mov.atoms.canon.CanonThumbnailAtom:53,1"
      Dst: "[java.util.HashSet].<init>()"
    - Src: "com.drew.metadata.mov.atoms.canon.CanonThumbnailAtom:54,1"
      Dst: "[com.drew.imaging.jpeg.JpegSegmentMetadataReader].getSegmentTypes()"
    - Src: "com.drew.metadata.mov.atoms.canon.CanonThumbnailAtom:54,1"
      Dst: "[java.lang.Iterable].iterator()"
    - Src: "com.drew.metadata.mov.atoms.canon.CanonThumbnailAtom:54,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.drew.metadata.mov.atoms.canon.CanonThumbnailAtom:54,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.drew.metadata.mov.atoms.canon.CanonThumbnailAtom:55,1"
      Dst: "[java.util.Set].add(java.lang.Object)"
    - Src: "com.drew.metadata.mov.atoms.canon.CanonThumbnailAtom:59,1"
      Dst: "[com.drew.lang.StreamReader].<init>(java.io.InputStream)"
    - Src: "com.drew.metadata.mov.atoms.canon.CanonThumbnailAtom:59,1"
      Dst: "[com.drew.imaging.jpeg.JpegSegmentReader].readSegments(com.drew.lang.SequentialReader,java.lang.Iterable)"
    - Src: "com.drew.metadata.mov.atoms.canon.CanonThumbnailAtom:65,1"
      Dst: "[com.drew.metadata.Metadata].<init>()"
    - Src: "com.drew.metadata.mov.atoms.canon.CanonThumbnailAtom:67,1"
      Dst: "[com.drew.imaging.jpeg.JpegSegmentData].getSegments(com.drew.imaging.jpeg.JpegSegmentType)"
    - Src: "com.drew.metadata.mov.atoms.canon.CanonThumbnailAtom:67,1"
      Dst: "[com.drew.imaging.jpeg.JpegSegmentMetadataReader].readJpegSegments(java.lang.Iterable,com.drew.metadata.Metadata,com.drew.imaging.jpeg.JpegSegmentType)"
    - Src: "com.drew.metadata.mov.atoms.canon.CanonThumbnailAtom:70,1"
      Dst: "[com.drew.metadata.Metadata].getFirstDirectoryOfType(java.lang.Class)"
    - Src: "com.drew.metadata.mov.atoms.canon.CanonThumbnailAtom:72,1"
      Dst: "[com.drew.metadata.Directory].getTags()"
    - Src: "com.drew.metadata.mov.atoms.canon.CanonThumbnailAtom:72,1"
      Dst: "[java.util.Collection].iterator()"
    - Src: "com.drew.metadata.mov.atoms.canon.CanonThumbnailAtom:73,1"
      Dst: "[com.drew.metadata.Tag].getTagType()"
    - Src: "com.drew.metadata.mov.atoms.canon.CanonThumbnailAtom:74,1"
      Dst: "[com.drew.metadata.Tag].getDescription()"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 19
    CyclomaticComplexity: 7
  - functionName: "[com.drew.metadata.exif.ExifReader].<init>()"
    functionSourceFile: "com.drew.metadata.exif.ExifReader"
    linkageType: ""
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 6
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.ExifReader:45,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: "[com.drew.lang.StreamReader].<init>(java.io.InputStream)"
    functionSourceFile: "com.drew.lang.StreamReader"
    linkageType: ""
    functionLinenumber: 48
    functionLinenumberEnd: 56
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.io.InputStream"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.SequentialReader].<init>()"
    - "[java.lang.NullPointerException].<init>()"
    functionUses: 17
    ICount: 10
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.drew.lang.StreamReader:50"
      Branch Sides:
      - BranchSide: "com.drew.lang.StreamReader:53"
        BranchSideFuncs:
        - "<init>()"
      - BranchSide: "com.drew.lang.StreamReader:52"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.lang.StreamReader:49,1"
      Dst: "[com.drew.lang.SequentialReader].<init>()"
    - Src: "com.drew.lang.StreamReader:51,1"
      Dst: "[java.lang.NullPointerException].<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: 3
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.Metadata].<init>()"
    functionSourceFile: "com.drew.metadata.Metadata"
    linkageType: ""
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.util.ArrayList].<init>()"
    functionUses: 18
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.Metadata:36,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.drew.metadata.Metadata:41,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: "[com.drew.imaging.jpeg.JpegSegmentData].getSegments(com.drew.imaging.jpeg.JpegSegmentType)"
    functionSourceFile: "com.drew.imaging.jpeg.JpegSegmentData"
    linkageType: ""
    functionLinenumber: 143
    functionLinenumberEnd: 145
    functionDepth: 2
    returnType: "java.lang.Iterable<byte[]>"
    argCount: 1
    argTypes:
    - "com.drew.imaging.jpeg.JpegSegmentType"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.imaging.jpeg.JpegSegmentData].getSegments(byte)"
    functionUses: 2
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.jpeg.JpegSegmentData:144,1"
      Dst: "[com.drew.imaging.jpeg.JpegSegmentData].getSegments(byte)"
    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: "[com.drew.imaging.jpeg.JpegSegmentData].getSegments(byte)"
    functionSourceFile: "com.drew.imaging.jpeg.JpegSegmentData"
    linkageType: ""
    functionLinenumber: 155
    functionLinenumberEnd: 158
    functionDepth: 1
    returnType: "java.lang.Iterable<byte[]>"
    argCount: 1
    argTypes:
    - "byte"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.imaging.jpeg.JpegSegmentData].getSegmentList(byte)"
    - "[java.util.ArrayList].<init>()"
    functionUses: 1
    ICount: 11
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.drew.imaging.jpeg.JpegSegmentData:157"
      Branch Sides:
      - BranchSide: "com.drew.imaging.jpeg.JpegSegmentData:155"
        BranchSideFuncs:
        - "getSegmentList(byte)"
        - "<init>()"
    Callsites:
    - Src: "com.drew.imaging.jpeg.JpegSegmentData:156,1"
      Dst: "[com.drew.imaging.jpeg.JpegSegmentData].getSegmentList(byte)"
    - Src: "com.drew.imaging.jpeg.JpegSegmentData:157,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: 4
    CyclomaticComplexity: 2
  - functionName: "[com.drew.imaging.jpeg.JpegSegmentData].getSegmentList(byte)"
    functionSourceFile: "com.drew.imaging.jpeg.JpegSegmentData"
    linkageType: ""
    functionLinenumber: 162
    functionLinenumberEnd: 164
    functionDepth: 0
    returnType: "java.util.List<byte[]>"
    argCount: 1
    argTypes:
    - "byte"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.HashMap].get(java.lang.Object)"
    - "[java.util.LinkedHashMap].get(java.lang.Object)"
    - "[java.lang.Byte].valueOf(byte)"
    functionUses: 1
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.jpeg.JpegSegmentData:163,1"
      Dst: "[java.lang.Byte].valueOf(byte)"
    - Src: "com.drew.imaging.jpeg.JpegSegmentData:163,1"
      Dst: "[java.util.HashMap].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: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.Tag].getTagType()"
    functionSourceFile: "com.drew.metadata.Tag"
    linkageType: ""
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionDepth: 0
    returnType: "int"
    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: "[com.drew.metadata.Tag].getDescription()"
    functionSourceFile: "com.drew.metadata.Tag"
    linkageType: ""
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getDescription(int)"
    functionUses: 2
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.Tag:76,1"
      Dst: "[com.drew.metadata.Directory].getDescription(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: "[com.drew.metadata.mov.atoms.canon.CanonThumbnailAtom].addMetadata(com.drew.metadata.mov.QuickTimeDirectory)"
    functionSourceFile: "com.drew.metadata.mov.atoms.canon.CanonThumbnailAtom"
    linkageType: ""
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.mov.QuickTimeDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].setString(int,java.lang.String)"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "com.drew.metadata.mov.atoms.canon.CanonThumbnailAtom:83"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.atoms.canon.CanonThumbnailAtom:86"
        BranchSideFuncs:
        - "setString(int,java.lang.String)"
      - BranchSide: "com.drew.metadata.mov.atoms.canon.CanonThumbnailAtom:85"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.mov.atoms.canon.CanonThumbnailAtom:84,1"
      Dst: "[com.drew.metadata.Directory].setString(int,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: 3
    CyclomaticComplexity: 2
  - functionName: "[com.drew.metadata.xmp.XmpReader].<init>()"
    functionSourceFile: "com.drew.metadata.xmp.XmpReader"
    linkageType: ""
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 11
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.xmp.XmpReader:58,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: "[com.drew.metadata.xmp.XmpReader].extract(byte[],com.drew.metadata.Metadata,com.drew.metadata.Directory)"
    functionSourceFile: "com.drew.metadata.xmp.XmpReader"
    linkageType: ""
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "byte[]"
    - "com.drew.metadata.Metadata"
    - "com.drew.metadata.Directory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.xmp.XmpReader].extract(byte[],int,int,com.drew.metadata.Metadata,com.drew.metadata.Directory)"
    functionUses: 4
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.xmp.XmpReader:150,1"
      Dst: "[com.drew.metadata.xmp.XmpReader].extract(byte[],int,int,com.drew.metadata.Metadata,com.drew.metadata.Directory)"
    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: "[com.drew.metadata.xmp.XmpReader].extract(byte[],int,int,com.drew.metadata.Metadata,com.drew.metadata.Directory)"
    functionSourceFile: "com.drew.metadata.xmp.XmpReader"
    linkageType: ""
    functionLinenumber: 159
    functionLinenumberEnd: 184
    functionDepth: 3
    returnType: "void"
    argCount: 5
    argTypes:
    - "byte[]"
    - "int"
    - "int"
    - "com.drew.metadata.Metadata"
    - "com.drew.metadata.Directory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.xmp.XmpDirectory].<init>()"
    - "[com.drew.metadata.Directory].setParent(com.drew.metadata.Directory)"
    - "[com.adobe.internal.xmp.XMPMetaFactory].parseFromBuffer(byte[],com.adobe.internal.xmp.options.ParseOptions)"
    - "[com.adobe.internal.xmp.impl.ByteBuffer].<init>(byte[],int,int)"
    - "[com.adobe.internal.xmp.impl.ByteBuffer].getByteStream()"
    - "[com.adobe.internal.xmp.XMPMetaFactory].parse(java.io.InputStream,com.adobe.internal.xmp.options.ParseOptions)"
    - "[com.drew.metadata.xmp.XmpDirectory].setXMPMeta(com.adobe.internal.xmp.XMPMeta)"
    - "[java.lang.StringBuilder].<init>()"
    - "[com.drew.metadata.Directory].addError(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.Throwable].getMessage()"
    - "[java.lang.StringBuilder].toString()"
    - "[com.drew.metadata.Directory].isEmpty()"
    - "[com.drew.metadata.Metadata].addDirectory(com.drew.metadata.Directory)"
    functionUses: 3
    ICount: 35
    EdgeCount: 15
    BranchProfiles:
    - Branch String: "com.drew.metadata.xmp.XmpReader:162"
      Branch Sides:
      - BranchSide: "com.drew.metadata.xmp.XmpReader:169"
        BranchSideFuncs:
        - "setParent(com.drew.metadata.Directory)"
      - BranchSide: "com.drew.metadata.xmp.XmpReader:168"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.xmp.XmpReader:169"
      Branch Sides:
      - BranchSide: "com.drew.metadata.xmp.XmpReader:172"
        BranchSideFuncs:
        - "parseFromBuffer(byte[],com.adobe.internal.xmp.options.ParseOptions)"
      - BranchSide: "com.drew.metadata.xmp.XmpReader:171"
        BranchSideFuncs:
        - "parse(java.io.InputStream,com.adobe.internal.xmp.options.ParseOptions)"
        - "<init>(byte[],int,int)"
        - "getByteStream()"
    - Branch String: "com.drew.metadata.xmp.XmpReader:169"
      Branch Sides:
      - BranchSide: "com.drew.metadata.xmp.XmpReader:172"
        BranchSideFuncs:
        - "parseFromBuffer(byte[],com.adobe.internal.xmp.options.ParseOptions)"
      - BranchSide: "com.drew.metadata.xmp.XmpReader:171"
        BranchSideFuncs:
        - "parse(java.io.InputStream,com.adobe.internal.xmp.options.ParseOptions)"
        - "<init>(byte[],int,int)"
        - "getByteStream()"
    - Branch String: "com.drew.metadata.xmp.XmpReader:181"
      Branch Sides:
      - BranchSide: "com.drew.metadata.xmp.XmpReader:183"
        BranchSideFuncs:
        - "addDirectory(com.drew.metadata.Directory)"
      - BranchSide: "com.drew.metadata.xmp.XmpReader:182"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.xmp.XmpReader:160,1"
      Dst: "[com.drew.metadata.xmp.XmpDirectory].<init>()"
    - Src: "com.drew.metadata.xmp.XmpReader:163,1"
      Dst: "[com.drew.metadata.Directory].setParent(com.drew.metadata.Directory)"
    - Src: "com.drew.metadata.xmp.XmpReader:170,1"
      Dst: "[com.adobe.internal.xmp.XMPMetaFactory].parseFromBuffer(byte[],com.adobe.internal.xmp.options.ParseOptions)"
    - Src: "com.drew.metadata.xmp.XmpReader:172,1"
      Dst: "[com.adobe.internal.xmp.impl.ByteBuffer].<init>(byte[],int,int)"
    - Src: "com.drew.metadata.xmp.XmpReader:173,1"
      Dst: "[com.adobe.internal.xmp.impl.ByteBuffer].getByteStream()"
    - Src: "com.drew.metadata.xmp.XmpReader:173,1"
      Dst: "[com.adobe.internal.xmp.XMPMetaFactory].parse(java.io.InputStream,com.adobe.internal.xmp.options.ParseOptions)"
    - Src: "com.drew.metadata.xmp.XmpReader:176,1"
      Dst: "[com.drew.metadata.xmp.XmpDirectory].setXMPMeta(com.adobe.internal.xmp.XMPMeta)"
    - Src: "com.drew.metadata.xmp.XmpReader:178,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.xmp.XmpReader:178,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.xmp.XmpReader:178,1"
      Dst: "[java.lang.Throwable].getMessage()"
    - Src: "com.drew.metadata.xmp.XmpReader:178,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "com.drew.metadata.xmp.XmpReader:178,1"
      Dst: "[com.drew.metadata.Directory].addError(java.lang.String)"
    - Src: "com.drew.metadata.xmp.XmpReader:181,1"
      Dst: "[com.drew.metadata.Directory].isEmpty()"
    - Src: "com.drew.metadata.xmp.XmpReader:182,1"
      Dst: "[com.drew.metadata.Metadata].addDirectory(com.drew.metadata.Directory)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 11
    CyclomaticComplexity: 5
  - functionName: "[com.drew.metadata.xmp.XmpDirectory].<init>()"
    functionSourceFile: "com.drew.metadata.xmp.XmpDirectory"
    linkageType: ""
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].<init>()"
    - "[com.drew.metadata.xmp.XmpDescriptor].<init>(com.drew.metadata.xmp.XmpDirectory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 4
    ICount: 6
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.xmp.XmpDirectory:63,1"
      Dst: "[com.drew.metadata.Directory].<init>()"
    - Src: "com.drew.metadata.xmp.XmpDirectory:64,1"
      Dst: "[com.drew.metadata.xmp.XmpDescriptor].<init>(com.drew.metadata.xmp.XmpDirectory)"
    - Src: "com.drew.metadata.xmp.XmpDirectory:64,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.xmp.XmpDescriptor].<init>(com.drew.metadata.xmp.XmpDirectory)"
    functionSourceFile: "com.drew.metadata.xmp.XmpDescriptor"
    linkageType: ""
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.xmp.XmpDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.xmp.XmpDescriptor:37,1"
      Dst: "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    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: "[com.drew.metadata.xmp.XmpDirectory].setXMPMeta(com.adobe.internal.xmp.XMPMeta)"
    functionSourceFile: "com.drew.metadata.xmp.XmpDirectory"
    linkageType: ""
    functionLinenumber: 112
    functionLinenumberEnd: 128
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.adobe.internal.xmp.XMPMeta"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.adobe.internal.xmp.options.IteratorOptions].<init>()"
    - "[com.adobe.internal.xmp.options.IteratorOptions].setJustLeafnodes(boolean)"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPMetaImpl].iterator(com.adobe.internal.xmp.options.IteratorOptions)"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl].next()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIterator$1].getPath()"
    - "[com.drew.metadata.Directory].setInt(int,int)"
    - "[com.adobe.internal.xmp.XMPMeta].iterator(com.adobe.internal.xmp.options.IteratorOptions)"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[com.adobe.internal.xmp.properties.XMPPropertyInfo].getPath()"
    functionUses: 2
    ICount: 22
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "com.drew.metadata.xmp.XmpDirectory:118"
      Branch Sides:
      - BranchSide: "com.drew.metadata.xmp.XmpDirectory:null"
        BranchSideFuncs:
        - "next()"
        - "getPath()"
    - Branch String: "com.drew.metadata.xmp.XmpDirectory:120"
      Branch Sides:
      - BranchSide: "com.drew.metadata.xmp.XmpDirectory:123"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.xmp.XmpDirectory:122"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.xmp.XmpDirectory:117,1"
      Dst: "[com.adobe.internal.xmp.options.IteratorOptions].<init>()"
    - Src: "com.drew.metadata.xmp.XmpDirectory:117,1"
      Dst: "[com.adobe.internal.xmp.options.IteratorOptions].setJustLeafnodes(boolean)"
    - Src: "com.drew.metadata.xmp.XmpDirectory:118,1"
      Dst: "[com.adobe.internal.xmp.XMPMeta].iterator(com.adobe.internal.xmp.options.IteratorOptions)"
    - Src: "com.drew.metadata.xmp.XmpDirectory:118,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.drew.metadata.xmp.XmpDirectory:119,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.drew.metadata.xmp.XmpDirectory:120,1"
      Dst: "[com.adobe.internal.xmp.properties.XMPPropertyInfo].getPath()"
    - Src: "com.drew.metadata.xmp.XmpDirectory:124,1"
      Dst: "[com.drew.metadata.Directory].setInt(int,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: 8
    CyclomaticComplexity: 3
  - functionName: "[com.drew.metadata.Metadata].addDirectory(com.drew.metadata.Directory)"
    functionSourceFile: "com.drew.metadata.Metadata"
    linkageType: ""
    functionLinenumber: 84
    functionLinenumberEnd: 91
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.Directory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.util.AbstractList:java.util.ArrayList:java.util.LinkedList:java.util.Vector:java.util.concurrent.CopyOnWriteArrayList].add(java.lang.Object)"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 87
    ICount: 9
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.drew.metadata.Metadata:85"
      Branch Sides:
      - BranchSide: "com.drew.metadata.Metadata:89"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "com.drew.metadata.Metadata:88"
        BranchSideFuncs:
        - "add(java.lang.Object)"
    Callsites:
    - Src: "com.drew.metadata.Metadata:86,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.drew.metadata.Metadata:89,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: 3
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.mov.atoms.TrackHeaderAtom].<init>(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
    functionSourceFile: "com.drew.metadata.mov.atoms.TrackHeaderAtom"
    linkageType: ""
    functionLinenumber: 41
    functionLinenumberEnd: 56
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "com.drew.metadata.mov.atoms.Atom"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mov.atoms.FullAtom].<init>(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
    - "[com.drew.lang.StreamReader].skip(long)"
    - "[com.drew.lang.SequentialByteArrayReader].skip(long)"
    - "[com.drew.lang.SequentialReader].getInt32()"
    - "[com.drew.lang.SequentialReader].skip(long)"
    functionUses: 1
    ICount: 25
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "com.drew.metadata.mov.atoms.TrackHeaderAtom:44"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.atoms.TrackHeaderAtom:47"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.mov.atoms.TrackHeaderAtom:46"
        BranchSideFuncs:
        - "skip(long)"
    - Branch String: "com.drew.metadata.mov.atoms.TrackHeaderAtom:50"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.atoms.TrackHeaderAtom:52"
        BranchSideFuncs:
        - "getInt32()"
    Callsites:
    - Src: "com.drew.metadata.mov.atoms.TrackHeaderAtom:42,1"
      Dst: "[com.drew.metadata.mov.atoms.FullAtom].<init>(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
    - Src: "com.drew.metadata.mov.atoms.TrackHeaderAtom:45,1"
      Dst: "[com.drew.lang.SequentialReader].skip(long)"
    - Src: "com.drew.metadata.mov.atoms.TrackHeaderAtom:51,1"
      Dst: "[com.drew.lang.SequentialReader].getInt32()"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.mov.atoms.TrackHeaderAtom].addMetadata(com.drew.metadata.mov.QuickTimeDirectory)"
    functionSourceFile: "com.drew.metadata.mov.atoms.TrackHeaderAtom"
    linkageType: ""
    functionLinenumber: 57
    functionLinenumberEnd: 66
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.mov.QuickTimeDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getDoubleObject(int)"
    - "[java.lang.Math].atan2(double,double)"
    - "[java.lang.Math].toDegrees(double)"
    - "[com.drew.metadata.Directory].setDouble(int,double)"
    functionUses: 1
    ICount: 27
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.drew.metadata.mov.atoms.TrackHeaderAtom:58"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.atoms.TrackHeaderAtom:65"
        BranchSideFuncs:
        - "toDegrees(double)"
        - "atan2(double,double)"
        - "setDouble(int,double)"
      - BranchSide: "com.drew.metadata.mov.atoms.TrackHeaderAtom:64"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mov.atoms.TrackHeaderAtom:58"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.atoms.TrackHeaderAtom:65"
        BranchSideFuncs:
        - "toDegrees(double)"
        - "atan2(double,double)"
        - "setDouble(int,double)"
      - BranchSide: "com.drew.metadata.mov.atoms.TrackHeaderAtom:64"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mov.atoms.TrackHeaderAtom:58"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.atoms.TrackHeaderAtom:65"
        BranchSideFuncs:
        - "toDegrees(double)"
        - "atan2(double,double)"
        - "setDouble(int,double)"
      - BranchSide: "com.drew.metadata.mov.atoms.TrackHeaderAtom:64"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.mov.atoms.TrackHeaderAtom:58,1"
      Dst: "[com.drew.metadata.Directory].getDoubleObject(int)"
    - Src: "com.drew.metadata.mov.atoms.TrackHeaderAtom:61,1"
      Dst: "[java.lang.Math].atan2(double,double)"
    - Src: "com.drew.metadata.mov.atoms.TrackHeaderAtom:62,1"
      Dst: "[java.lang.Math].toDegrees(double)"
    - Src: "com.drew.metadata.mov.atoms.TrackHeaderAtom:63,1"
      Dst: "[com.drew.metadata.Directory].setDouble(int,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: 5
    CyclomaticComplexity: 4
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDirectory].<init>()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDirectory"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].<init>()"
    - "[com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDirectory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDirectory:195,1"
      Dst: "[com.drew.metadata.Directory].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDirectory:196,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDirectory)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDirectory:196,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDirectory].getName()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDirectory"
    linkageType: ""
    functionLinenumber: 202
    functionLinenumberEnd: 204
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDirectory"
    linkageType: ""
    functionLinenumber: 209
    functionLinenumberEnd: 211
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.bmp.BmpHeaderDirectory$BitmapType].values()"
    functionSourceFile: "com.drew.metadata.bmp.BmpHeaderDirectory$BitmapType"
    linkageType: ""
    functionLinenumber: 144
    functionLinenumberEnd: 146
    functionDepth: 0
    returnType: "com.drew.metadata.bmp.BmpHeaderDirectory$BitmapType[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.jar.Attributes].clone()"
    - "[java.util.HashMap].clone()"
    - "[java.util.Hashtable].clone()"
    - "[java.security.Signature].clone()"
    - "[java.text.DecimalFormatSymbols].clone()"
    - "[java.text.DateFormatSymbols].clone()"
    - "[java.lang.invoke.MemberName].clone()"
    - "[java.security.MessageDigestSpi].clone()"
    - "[java.text.Format].clone()"
    - "[java.util.HashSet].clone()"
    - "[java.text.Collator].clone()"
    - "[java.security.SignatureSpi].clone()"
    - "[java.text.BreakIterator].clone()"
    - "[java.util.ArrayDeque].clone()"
    - "[java.util.Properties].clone()"
    - "[java.util.Hashtable$Entry].clone()"
    - "[java.util.concurrent.CopyOnWriteArrayList].clone()"
    - "[com.adobe.internal.xmp.impl.XMPNode].clone()"
    - "[java.util.IdentityHashMap].clone()"
    - "[java.util.SimpleTimeZone].clone()"
    - "[sun.util.calendar.CalendarDate].clone()"
    - "[java.util.LinkedList].clone()"
    - "[java.text.DigitList].clone()"
    - "[com.adobe.internal.xmp.options.SerializeOptions].clone()"
    - "[com.adobe.internal.xmp.impl.XMPMetaImpl].clone()"
    - "[java.util.Calendar].clone()"
    - "[java.util.zip.ZipEntry].clone()"
    - "[java.util.TreeMap].clone()"
    - "[java.lang.Enum].clone()"
    - "[java.util.Vector].clone()"
    - "[java.text.DateFormat].clone()"
    - "[java.util.Locale].clone()"
    - "[java.lang.Thread].clone()"
    - "[java.text.SimpleDateFormat].clone()"
    - "[java.lang.Object].clone()"
    - "[java.util.AbstractMap].clone()"
    - "[java.net.HttpCookie].clone()"
    - "[java.util.jar.Manifest].clone()"
    - "[java.util.TreeSet].clone()"
    - "[java.util.GregorianCalendar].clone()"
    - "[java.text.DecimalFormat].clone()"
    - "[java.lang.ref.Reference].clone()"
    - "[java.security.MessageDigest].clone()"
    - "[java.util.ArrayList].clone()"
    - "[java.util.Date].clone()"
    - "[java.util.TimeZone].clone()"
    - "[java.util.EnumSet].clone()"
    - "[java.text.NumberFormat].clone()"
    - "[java.text.MessageFormat].clone()"
    functionUses: 2
    ICount: 4
    EdgeCount: 49
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.bmp.BmpHeaderDirectory$BitmapType:145,1"
      Dst: "[java.lang.Object].clone()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.bmp.BmpHeaderDirectory$BitmapType].valueOf(java.lang.String)"
    functionSourceFile: "com.drew.metadata.bmp.BmpHeaderDirectory$BitmapType"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.drew.metadata.bmp.BmpHeaderDirectory$BitmapType"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].valueOf(java.lang.Class,java.lang.String)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.bmp.BmpHeaderDirectory$BitmapType:145,1"
      Dst: "[java.lang.Enum].valueOf(java.lang.Class,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: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.bmp.BmpHeaderDirectory$BitmapType].<init>(java.lang.String,int,int)"
    functionSourceFile: "com.drew.metadata.bmp.BmpHeaderDirectory$BitmapType"
    linkageType: ""
    functionLinenumber: 166
    functionLinenumberEnd: 170
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].<init>(java.lang.String,int)"
    functionUses: 6
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.bmp.BmpHeaderDirectory$BitmapType:167,1"
      Dst: "[java.lang.Enum].<init>(java.lang.String,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.bmp.BmpHeaderDirectory$BitmapType].getValue()"
    functionSourceFile: "com.drew.metadata.bmp.BmpHeaderDirectory$BitmapType"
    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: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.bmp.BmpHeaderDirectory$BitmapType].typeOf(int)"
    functionSourceFile: "com.drew.metadata.bmp.BmpHeaderDirectory$BitmapType"
    linkageType: ""
    functionLinenumber: 176
    functionLinenumberEnd: 185
    functionDepth: 1
    returnType: "com.drew.metadata.bmp.BmpHeaderDirectory$BitmapType"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.bmp.BmpHeaderDirectory$BitmapType].values()"
    functionUses: 1
    ICount: 12
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "com.drew.metadata.bmp.BmpHeaderDirectory$BitmapType:177"
      Branch Sides:
      - BranchSide: "com.drew.metadata.bmp.BmpHeaderDirectory$BitmapType:184"
        BranchSideFuncs:
        - "values()"
      - BranchSide: "com.drew.metadata.bmp.BmpHeaderDirectory$BitmapType:183"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.bmp.BmpHeaderDirectory$BitmapType:179"
      Branch Sides:
      - BranchSide: "com.drew.metadata.bmp.BmpHeaderDirectory$BitmapType:176"
        BranchSideFuncs:
        - "values()"
    Callsites:
    - Src: "com.drew.metadata.bmp.BmpHeaderDirectory$BitmapType:177,1"
      Dst: "[com.drew.metadata.bmp.BmpHeaderDirectory$BitmapType].values()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: true
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[com.drew.metadata.bmp.BmpHeaderDirectory$BitmapType].toString()"
    functionSourceFile: "com.drew.metadata.bmp.BmpHeaderDirectory$BitmapType"
    linkageType: ""
    functionLinenumber: 189
    functionLinenumberEnd: 199
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].ordinal()"
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.Enum].toString()"
    functionUses: 15
    ICount: 20
    EdgeCount: 7
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.bmp.BmpHeaderDirectory$BitmapType:190,1"
      Dst: "[java.lang.Enum].ordinal()"
    - Src: "com.drew.metadata.bmp.BmpHeaderDirectory$BitmapType:198,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.bmp.BmpHeaderDirectory$BitmapType:198,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.bmp.BmpHeaderDirectory$BitmapType:198,1"
      Dst: "[java.lang.Enum].toString()"
    - Src: "com.drew.metadata.bmp.BmpHeaderDirectory$BitmapType:198,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "com.drew.metadata.bmp.BmpHeaderDirectory$BitmapType:198,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: true
    BBCount: 8
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.bmp.BmpHeaderDirectory$BitmapType].$values()"
    functionSourceFile: "com.drew.metadata.bmp.BmpHeaderDirectory$BitmapType"
    linkageType: ""
    functionLinenumber: 144
    functionLinenumberEnd: 146
    functionDepth: 0
    returnType: "com.drew.metadata.bmp.BmpHeaderDirectory$BitmapType[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 14
    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: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.bmp.BmpHeaderDirectory].<init>()"
    functionSourceFile: "com.drew.metadata.bmp.BmpHeaderDirectory"
    linkageType: ""
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].<init>()"
    - "[com.drew.metadata.bmp.BmpHeaderDescriptor].<init>(com.drew.metadata.bmp.BmpHeaderDirectory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 1
    ICount: 6
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.bmp.BmpHeaderDirectory:92,1"
      Dst: "[com.drew.metadata.Directory].<init>()"
    - Src: "com.drew.metadata.bmp.BmpHeaderDirectory:93,1"
      Dst: "[com.drew.metadata.bmp.BmpHeaderDescriptor].<init>(com.drew.metadata.bmp.BmpHeaderDirectory)"
    - Src: "com.drew.metadata.bmp.BmpHeaderDirectory:93,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.bmp.BmpHeaderDirectory].getBitmapType()"
    functionSourceFile: "com.drew.metadata.bmp.BmpHeaderDirectory"
    linkageType: ""
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionDepth: 2
    returnType: "com.drew.metadata.bmp.BmpHeaderDirectory$BitmapType"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[com.drew.metadata.bmp.BmpHeaderDirectory$BitmapType].typeOf(int)"
    functionUses: 1
    ICount: 9
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.drew.metadata.bmp.BmpHeaderDirectory:99"
      Branch Sides:
      - BranchSide: "com.drew.metadata.bmp.BmpHeaderDirectory:97"
        BranchSideFuncs:
        - "intValue()"
        - "getInteger(int)"
        - "typeOf(int)"
    Callsites:
    - Src: "com.drew.metadata.bmp.BmpHeaderDirectory:98,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.bmp.BmpHeaderDirectory:99,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.bmp.BmpHeaderDirectory:99,1"
      Dst: "[com.drew.metadata.bmp.BmpHeaderDirectory$BitmapType].typeOf(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: "[com.drew.metadata.bmp.BmpHeaderDirectory].getCompression()"
    functionSourceFile: "com.drew.metadata.bmp.BmpHeaderDirectory"
    linkageType: ""
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionDepth: 2
    returnType: "com.drew.metadata.bmp.BmpHeaderDirectory$Compression"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.bmp.BmpHeaderDirectory$Compression].typeOf(com.drew.metadata.bmp.BmpHeaderDirectory)"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.bmp.BmpHeaderDirectory:104,1"
      Dst: "[com.drew.metadata.bmp.BmpHeaderDirectory$Compression].typeOf(com.drew.metadata.bmp.BmpHeaderDirectory)"
    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: "[com.drew.metadata.bmp.BmpHeaderDirectory$Compression].typeOf(com.drew.metadata.bmp.BmpHeaderDirectory)"
    functionSourceFile: "com.drew.metadata.bmp.BmpHeaderDirectory$Compression"
    linkageType: ""
    functionLinenumber: 252
    functionLinenumberEnd: 261
    functionDepth: 1
    returnType: "com.drew.metadata.bmp.BmpHeaderDirectory$Compression"
    argCount: 1
    argTypes:
    - "com.drew.metadata.bmp.BmpHeaderDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[com.drew.metadata.bmp.BmpHeaderDirectory$Compression].typeOf(int,int)"
    functionUses: 1
    ICount: 12
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "com.drew.metadata.bmp.BmpHeaderDirectory$Compression:254"
      Branch Sides:
      - BranchSide: "com.drew.metadata.bmp.BmpHeaderDirectory$Compression:null"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.bmp.BmpHeaderDirectory$Compression:257"
      Branch Sides:
      - BranchSide: "com.drew.metadata.bmp.BmpHeaderDirectory$Compression:260"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.bmp.BmpHeaderDirectory$Compression:259"
        BranchSideFuncs:
        - "intValue()"
        - "typeOf(int,int)"
    Callsites:
    - Src: "com.drew.metadata.bmp.BmpHeaderDirectory$Compression:253,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.bmp.BmpHeaderDirectory$Compression:260,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.bmp.BmpHeaderDirectory$Compression:260,1"
      Dst: "[com.drew.metadata.bmp.BmpHeaderDirectory$Compression].typeOf(int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: true
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.bmp.BmpHeaderDirectory$Compression].typeOf(int,int)"
    functionSourceFile: "com.drew.metadata.bmp.BmpHeaderDirectory$Compression"
    linkageType: ""
    functionLinenumber: 264
    functionLinenumberEnd: 277
    functionDepth: 0
    returnType: "com.drew.metadata.bmp.BmpHeaderDirectory$Compression"
    argCount: 2
    argTypes:
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 30
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.metadata.bmp.BmpHeaderDirectory$Compression:269"
      Branch Sides:
      - BranchSide: "com.drew.metadata.bmp.BmpHeaderDirectory$Compression:269"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.bmp.BmpHeaderDirectory$Compression:268"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.bmp.BmpHeaderDirectory$Compression:270"
      Branch Sides:
      - BranchSide: "com.drew.metadata.bmp.BmpHeaderDirectory$Compression:270"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.bmp.BmpHeaderDirectory$Compression:269"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: true
    BBCount: 18
    CyclomaticComplexity: 3
  - functionName: "[com.drew.metadata.bmp.BmpHeaderDirectory].getRendering()"
    functionSourceFile: "com.drew.metadata.bmp.BmpHeaderDirectory"
    linkageType: ""
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionDepth: 2
    returnType: "com.drew.metadata.bmp.BmpHeaderDirectory$RenderingHalftoningAlgorithm"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[com.drew.metadata.bmp.BmpHeaderDirectory$RenderingHalftoningAlgorithm].typeOf(int)"
    functionUses: 1
    ICount: 8
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.drew.metadata.bmp.BmpHeaderDirectory:110"
      Branch Sides:
      - BranchSide: "com.drew.metadata.bmp.BmpHeaderDirectory:108"
        BranchSideFuncs:
        - "intValue()"
        - "getInteger(int)"
        - "typeOf(int)"
    Callsites:
    - Src: "com.drew.metadata.bmp.BmpHeaderDirectory:109,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.bmp.BmpHeaderDirectory:110,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.bmp.BmpHeaderDirectory:110,1"
      Dst: "[com.drew.metadata.bmp.BmpHeaderDirectory$RenderingHalftoningAlgorithm].typeOf(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: "[com.drew.metadata.bmp.BmpHeaderDirectory$RenderingHalftoningAlgorithm].typeOf(int)"
    functionSourceFile: "com.drew.metadata.bmp.BmpHeaderDirectory$RenderingHalftoningAlgorithm"
    linkageType: ""
    functionLinenumber: 327
    functionLinenumberEnd: 336
    functionDepth: 1
    returnType: "com.drew.metadata.bmp.BmpHeaderDirectory$RenderingHalftoningAlgorithm"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.bmp.BmpHeaderDirectory$RenderingHalftoningAlgorithm].values()"
    functionUses: 1
    ICount: 12
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "com.drew.metadata.bmp.BmpHeaderDirectory$RenderingHalftoningAlgorithm:328"
      Branch Sides:
      - BranchSide: "com.drew.metadata.bmp.BmpHeaderDirectory$RenderingHalftoningAlgorithm:335"
        BranchSideFuncs:
        - "values()"
      - BranchSide: "com.drew.metadata.bmp.BmpHeaderDirectory$RenderingHalftoningAlgorithm:334"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.bmp.BmpHeaderDirectory$RenderingHalftoningAlgorithm:330"
      Branch Sides:
      - BranchSide: "com.drew.metadata.bmp.BmpHeaderDirectory$RenderingHalftoningAlgorithm:327"
        BranchSideFuncs:
        - "values()"
    Callsites:
    - Src: "com.drew.metadata.bmp.BmpHeaderDirectory$RenderingHalftoningAlgorithm:328,1"
      Dst: "[com.drew.metadata.bmp.BmpHeaderDirectory$RenderingHalftoningAlgorithm].values()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: true
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[com.drew.metadata.bmp.BmpHeaderDirectory$RenderingHalftoningAlgorithm].values()"
    functionSourceFile: "com.drew.metadata.bmp.BmpHeaderDirectory$RenderingHalftoningAlgorithm"
    linkageType: ""
    functionLinenumber: 301
    functionLinenumberEnd: 303
    functionDepth: 0
    returnType: "com.drew.metadata.bmp.BmpHeaderDirectory$RenderingHalftoningAlgorithm[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.jar.Attributes].clone()"
    - "[java.util.HashMap].clone()"
    - "[java.util.Hashtable].clone()"
    - "[java.security.Signature].clone()"
    - "[java.text.DecimalFormatSymbols].clone()"
    - "[java.text.DateFormatSymbols].clone()"
    - "[java.lang.invoke.MemberName].clone()"
    - "[java.security.MessageDigestSpi].clone()"
    - "[java.text.Format].clone()"
    - "[java.util.HashSet].clone()"
    - "[java.text.Collator].clone()"
    - "[java.security.SignatureSpi].clone()"
    - "[java.text.BreakIterator].clone()"
    - "[java.util.ArrayDeque].clone()"
    - "[java.util.Properties].clone()"
    - "[java.util.Hashtable$Entry].clone()"
    - "[java.util.concurrent.CopyOnWriteArrayList].clone()"
    - "[com.adobe.internal.xmp.impl.XMPNode].clone()"
    - "[java.util.IdentityHashMap].clone()"
    - "[java.util.SimpleTimeZone].clone()"
    - "[sun.util.calendar.CalendarDate].clone()"
    - "[java.util.LinkedList].clone()"
    - "[java.text.DigitList].clone()"
    - "[com.adobe.internal.xmp.options.SerializeOptions].clone()"
    - "[com.adobe.internal.xmp.impl.XMPMetaImpl].clone()"
    - "[java.util.Calendar].clone()"
    - "[java.util.zip.ZipEntry].clone()"
    - "[java.util.TreeMap].clone()"
    - "[java.lang.Enum].clone()"
    - "[java.util.Vector].clone()"
    - "[java.text.DateFormat].clone()"
    - "[java.util.Locale].clone()"
    - "[java.lang.Thread].clone()"
    - "[java.text.SimpleDateFormat].clone()"
    - "[java.lang.Object].clone()"
    - "[java.util.AbstractMap].clone()"
    - "[java.net.HttpCookie].clone()"
    - "[java.util.jar.Manifest].clone()"
    - "[java.util.TreeSet].clone()"
    - "[java.util.GregorianCalendar].clone()"
    - "[java.text.DecimalFormat].clone()"
    - "[java.lang.ref.Reference].clone()"
    - "[java.security.MessageDigest].clone()"
    - "[java.util.ArrayList].clone()"
    - "[java.util.Date].clone()"
    - "[java.util.TimeZone].clone()"
    - "[java.util.EnumSet].clone()"
    - "[java.text.NumberFormat].clone()"
    - "[java.text.MessageFormat].clone()"
    functionUses: 2
    ICount: 4
    EdgeCount: 49
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.bmp.BmpHeaderDirectory$RenderingHalftoningAlgorithm:302,1"
      Dst: "[java.lang.Object].clone()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.bmp.BmpHeaderDirectory].getColorEncoding()"
    functionSourceFile: "com.drew.metadata.bmp.BmpHeaderDirectory"
    linkageType: ""
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionDepth: 1
    returnType: "com.drew.metadata.bmp.BmpHeaderDirectory$ColorEncoding"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[com.drew.metadata.bmp.BmpHeaderDirectory$ColorEncoding].typeOf(int)"
    functionUses: 1
    ICount: 8
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.drew.metadata.bmp.BmpHeaderDirectory:116"
      Branch Sides:
      - BranchSide: "com.drew.metadata.bmp.BmpHeaderDirectory:114"
        BranchSideFuncs:
        - "intValue()"
        - "getInteger(int)"
        - "typeOf(int)"
    Callsites:
    - Src: "com.drew.metadata.bmp.BmpHeaderDirectory:115,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.bmp.BmpHeaderDirectory:116,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.bmp.BmpHeaderDirectory:116,1"
      Dst: "[com.drew.metadata.bmp.BmpHeaderDirectory$ColorEncoding].typeOf(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: "[com.drew.metadata.bmp.BmpHeaderDirectory$ColorEncoding].typeOf(int)"
    functionSourceFile: "com.drew.metadata.bmp.BmpHeaderDirectory$ColorEncoding"
    linkageType: ""
    functionLinenumber: 370
    functionLinenumberEnd: 372
    functionDepth: 0
    returnType: "com.drew.metadata.bmp.BmpHeaderDirectory$ColorEncoding"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 6
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.metadata.bmp.BmpHeaderDirectory$ColorEncoding:371"
      Branch Sides:
      - BranchSide: "com.drew.metadata.bmp.BmpHeaderDirectory$ColorEncoding:370"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: true
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.drew.metadata.bmp.BmpHeaderDirectory].getColorSpaceType()"
    functionSourceFile: "com.drew.metadata.bmp.BmpHeaderDirectory"
    linkageType: ""
    functionLinenumber: 120
    functionLinenumberEnd: 123
    functionDepth: 2
    returnType: "com.drew.metadata.bmp.BmpHeaderDirectory$ColorSpaceType"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getLongObject(int)"
    - "[java.lang.Long].longValue()"
    - "[com.drew.metadata.bmp.BmpHeaderDirectory$ColorSpaceType].typeOf(long)"
    functionUses: 1
    ICount: 8
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.drew.metadata.bmp.BmpHeaderDirectory:122"
      Branch Sides:
      - BranchSide: "com.drew.metadata.bmp.BmpHeaderDirectory:120"
        BranchSideFuncs:
        - "getLongObject(int)"
        - "longValue()"
        - "typeOf(long)"
    Callsites:
    - Src: "com.drew.metadata.bmp.BmpHeaderDirectory:121,1"
      Dst: "[com.drew.metadata.Directory].getLongObject(int)"
    - Src: "com.drew.metadata.bmp.BmpHeaderDirectory:122,1"
      Dst: "[java.lang.Long].longValue()"
    - Src: "com.drew.metadata.bmp.BmpHeaderDirectory:122,1"
      Dst: "[com.drew.metadata.bmp.BmpHeaderDirectory$ColorSpaceType].typeOf(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: "[com.drew.metadata.bmp.BmpHeaderDirectory$ColorSpaceType].typeOf(long)"
    functionSourceFile: "com.drew.metadata.bmp.BmpHeaderDirectory$ColorSpaceType"
    linkageType: ""
    functionLinenumber: 403
    functionLinenumberEnd: 412
    functionDepth: 1
    returnType: "com.drew.metadata.bmp.BmpHeaderDirectory$ColorSpaceType"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.bmp.BmpHeaderDirectory$ColorSpaceType].values()"
    functionUses: 1
    ICount: 13
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "com.drew.metadata.bmp.BmpHeaderDirectory$ColorSpaceType:404"
      Branch Sides:
      - BranchSide: "com.drew.metadata.bmp.BmpHeaderDirectory$ColorSpaceType:411"
        BranchSideFuncs:
        - "values()"
      - BranchSide: "com.drew.metadata.bmp.BmpHeaderDirectory$ColorSpaceType:410"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.bmp.BmpHeaderDirectory$ColorSpaceType:406"
      Branch Sides:
      - BranchSide: "com.drew.metadata.bmp.BmpHeaderDirectory$ColorSpaceType:403"
        BranchSideFuncs:
        - "values()"
    Callsites:
    - Src: "com.drew.metadata.bmp.BmpHeaderDirectory$ColorSpaceType:404,1"
      Dst: "[com.drew.metadata.bmp.BmpHeaderDirectory$ColorSpaceType].values()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: true
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[com.drew.metadata.bmp.BmpHeaderDirectory$ColorSpaceType].values()"
    functionSourceFile: "com.drew.metadata.bmp.BmpHeaderDirectory$ColorSpaceType"
    linkageType: ""
    functionLinenumber: 374
    functionLinenumberEnd: 376
    functionDepth: 0
    returnType: "com.drew.metadata.bmp.BmpHeaderDirectory$ColorSpaceType[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.jar.Attributes].clone()"
    - "[java.util.HashMap].clone()"
    - "[java.util.Hashtable].clone()"
    - "[java.security.Signature].clone()"
    - "[java.text.DecimalFormatSymbols].clone()"
    - "[java.text.DateFormatSymbols].clone()"
    - "[java.lang.invoke.MemberName].clone()"
    - "[java.security.MessageDigestSpi].clone()"
    - "[java.text.Format].clone()"
    - "[java.util.HashSet].clone()"
    - "[java.text.Collator].clone()"
    - "[java.security.SignatureSpi].clone()"
    - "[java.text.BreakIterator].clone()"
    - "[java.util.ArrayDeque].clone()"
    - "[java.util.Properties].clone()"
    - "[java.util.Hashtable$Entry].clone()"
    - "[java.util.concurrent.CopyOnWriteArrayList].clone()"
    - "[com.adobe.internal.xmp.impl.XMPNode].clone()"
    - "[java.util.IdentityHashMap].clone()"
    - "[java.util.SimpleTimeZone].clone()"
    - "[sun.util.calendar.CalendarDate].clone()"
    - "[java.util.LinkedList].clone()"
    - "[java.text.DigitList].clone()"
    - "[com.adobe.internal.xmp.options.SerializeOptions].clone()"
    - "[com.adobe.internal.xmp.impl.XMPMetaImpl].clone()"
    - "[java.util.Calendar].clone()"
    - "[java.util.zip.ZipEntry].clone()"
    - "[java.util.TreeMap].clone()"
    - "[java.lang.Enum].clone()"
    - "[java.util.Vector].clone()"
    - "[java.text.DateFormat].clone()"
    - "[java.util.Locale].clone()"
    - "[java.lang.Thread].clone()"
    - "[java.text.SimpleDateFormat].clone()"
    - "[java.lang.Object].clone()"
    - "[java.util.AbstractMap].clone()"
    - "[java.net.HttpCookie].clone()"
    - "[java.util.jar.Manifest].clone()"
    - "[java.util.TreeSet].clone()"
    - "[java.util.GregorianCalendar].clone()"
    - "[java.text.DecimalFormat].clone()"
    - "[java.lang.ref.Reference].clone()"
    - "[java.security.MessageDigest].clone()"
    - "[java.util.ArrayList].clone()"
    - "[java.util.Date].clone()"
    - "[java.util.TimeZone].clone()"
    - "[java.util.EnumSet].clone()"
    - "[java.text.NumberFormat].clone()"
    - "[java.text.MessageFormat].clone()"
    functionUses: 2
    ICount: 4
    EdgeCount: 49
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.bmp.BmpHeaderDirectory$ColorSpaceType:375,1"
      Dst: "[java.lang.Object].clone()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.bmp.BmpHeaderDirectory].getRenderingIntent()"
    functionSourceFile: "com.drew.metadata.bmp.BmpHeaderDirectory"
    linkageType: ""
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionDepth: 2
    returnType: "com.drew.metadata.bmp.BmpHeaderDirectory$RenderingIntent"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[com.drew.metadata.bmp.BmpHeaderDirectory$RenderingIntent].typeOf(long)"
    functionUses: 1
    ICount: 9
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.drew.metadata.bmp.BmpHeaderDirectory:128"
      Branch Sides:
      - BranchSide: "com.drew.metadata.bmp.BmpHeaderDirectory:126"
        BranchSideFuncs:
        - "intValue()"
        - "getInteger(int)"
        - "typeOf(long)"
    Callsites:
    - Src: "com.drew.metadata.bmp.BmpHeaderDirectory:127,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.bmp.BmpHeaderDirectory:128,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.bmp.BmpHeaderDirectory:128,1"
      Dst: "[com.drew.metadata.bmp.BmpHeaderDirectory$RenderingIntent].typeOf(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: "[com.drew.metadata.bmp.BmpHeaderDirectory$RenderingIntent].typeOf(long)"
    functionSourceFile: "com.drew.metadata.bmp.BmpHeaderDirectory$RenderingIntent"
    linkageType: ""
    functionLinenumber: 459
    functionLinenumberEnd: 468
    functionDepth: 1
    returnType: "com.drew.metadata.bmp.BmpHeaderDirectory$RenderingIntent"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.bmp.BmpHeaderDirectory$RenderingIntent].values()"
    functionUses: 1
    ICount: 14
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "com.drew.metadata.bmp.BmpHeaderDirectory$RenderingIntent:460"
      Branch Sides:
      - BranchSide: "com.drew.metadata.bmp.BmpHeaderDirectory$RenderingIntent:467"
        BranchSideFuncs:
        - "values()"
      - BranchSide: "com.drew.metadata.bmp.BmpHeaderDirectory$RenderingIntent:466"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.bmp.BmpHeaderDirectory$RenderingIntent:462"
      Branch Sides:
      - BranchSide: "com.drew.metadata.bmp.BmpHeaderDirectory$RenderingIntent:459"
        BranchSideFuncs:
        - "values()"
    Callsites:
    - Src: "com.drew.metadata.bmp.BmpHeaderDirectory$RenderingIntent:460,1"
      Dst: "[com.drew.metadata.bmp.BmpHeaderDirectory$RenderingIntent].values()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: true
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[com.drew.metadata.bmp.BmpHeaderDirectory$RenderingIntent].values()"
    functionSourceFile: "com.drew.metadata.bmp.BmpHeaderDirectory$RenderingIntent"
    linkageType: ""
    functionLinenumber: 433
    functionLinenumberEnd: 435
    functionDepth: 0
    returnType: "com.drew.metadata.bmp.BmpHeaderDirectory$RenderingIntent[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.jar.Attributes].clone()"
    - "[java.util.HashMap].clone()"
    - "[java.util.Hashtable].clone()"
    - "[java.security.Signature].clone()"
    - "[java.text.DecimalFormatSymbols].clone()"
    - "[java.text.DateFormatSymbols].clone()"
    - "[java.lang.invoke.MemberName].clone()"
    - "[java.security.MessageDigestSpi].clone()"
    - "[java.text.Format].clone()"
    - "[java.util.HashSet].clone()"
    - "[java.text.Collator].clone()"
    - "[java.security.SignatureSpi].clone()"
    - "[java.text.BreakIterator].clone()"
    - "[java.util.ArrayDeque].clone()"
    - "[java.util.Properties].clone()"
    - "[java.util.Hashtable$Entry].clone()"
    - "[java.util.concurrent.CopyOnWriteArrayList].clone()"
    - "[com.adobe.internal.xmp.impl.XMPNode].clone()"
    - "[java.util.IdentityHashMap].clone()"
    - "[java.util.SimpleTimeZone].clone()"
    - "[sun.util.calendar.CalendarDate].clone()"
    - "[java.util.LinkedList].clone()"
    - "[java.text.DigitList].clone()"
    - "[com.adobe.internal.xmp.options.SerializeOptions].clone()"
    - "[com.adobe.internal.xmp.impl.XMPMetaImpl].clone()"
    - "[java.util.Calendar].clone()"
    - "[java.util.zip.ZipEntry].clone()"
    - "[java.util.TreeMap].clone()"
    - "[java.lang.Enum].clone()"
    - "[java.util.Vector].clone()"
    - "[java.text.DateFormat].clone()"
    - "[java.util.Locale].clone()"
    - "[java.lang.Thread].clone()"
    - "[java.text.SimpleDateFormat].clone()"
    - "[java.lang.Object].clone()"
    - "[java.util.AbstractMap].clone()"
    - "[java.net.HttpCookie].clone()"
    - "[java.util.jar.Manifest].clone()"
    - "[java.util.TreeSet].clone()"
    - "[java.util.GregorianCalendar].clone()"
    - "[java.text.DecimalFormat].clone()"
    - "[java.lang.ref.Reference].clone()"
    - "[java.security.MessageDigest].clone()"
    - "[java.util.ArrayList].clone()"
    - "[java.util.Date].clone()"
    - "[java.util.TimeZone].clone()"
    - "[java.util.EnumSet].clone()"
    - "[java.text.NumberFormat].clone()"
    - "[java.text.MessageFormat].clone()"
    functionUses: 2
    ICount: 4
    EdgeCount: 49
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.bmp.BmpHeaderDirectory$RenderingIntent:434,1"
      Dst: "[java.lang.Object].clone()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.bmp.BmpHeaderDirectory].getName()"
    functionSourceFile: "com.drew.metadata.bmp.BmpHeaderDirectory"
    linkageType: ""
    functionLinenumber: 134
    functionLinenumberEnd: 136
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.bmp.BmpHeaderDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.bmp.BmpHeaderDirectory"
    linkageType: ""
    functionLinenumber: 141
    functionLinenumberEnd: 143
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.mov.atoms.TimeToSampleAtom].<init>(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
    functionSourceFile: "com.drew.metadata.mov.atoms.TimeToSampleAtom"
    linkageType: ""
    functionLinenumber: 40
    functionLinenumberEnd: 54
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "com.drew.metadata.mov.atoms.Atom"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mov.atoms.FullAtom].<init>(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
    - "[com.drew.lang.SequentialReader].getUInt32()"
    - "[java.util.ArrayList].<init>(int)"
    - "[com.drew.metadata.mov.atoms.TimeToSampleAtom$Entry].<init>(com.drew.lang.SequentialReader)"
    - "[java.util.ArrayList].add(java.lang.Object)"
    - "[java.util.ArrayList].<init>()"
    functionUses: 1
    ICount: 28
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "com.drew.metadata.mov.atoms.TimeToSampleAtom:44"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.atoms.TimeToSampleAtom:50"
        BranchSideFuncs:
        - "<init>(int)"
      - BranchSide: "com.drew.metadata.mov.atoms.TimeToSampleAtom:49"
        BranchSideFuncs:
        - "<init>()"
    - Branch String: "com.drew.metadata.mov.atoms.TimeToSampleAtom:46"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.atoms.TimeToSampleAtom:44"
        BranchSideFuncs:
        - "<init>(int)"
    Callsites:
    - Src: "com.drew.metadata.mov.atoms.TimeToSampleAtom:41,1"
      Dst: "[com.drew.metadata.mov.atoms.FullAtom].<init>(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
    - Src: "com.drew.metadata.mov.atoms.TimeToSampleAtom:43,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt32()"
    - Src: "com.drew.metadata.mov.atoms.TimeToSampleAtom:45,1"
      Dst: "[java.util.ArrayList].<init>(int)"
    - Src: "com.drew.metadata.mov.atoms.TimeToSampleAtom:47,1"
      Dst: "[com.drew.metadata.mov.atoms.TimeToSampleAtom$Entry].<init>(com.drew.lang.SequentialReader)"
    - Src: "com.drew.metadata.mov.atoms.TimeToSampleAtom:47,1"
      Dst: "[java.util.ArrayList].add(java.lang.Object)"
    - Src: "com.drew.metadata.mov.atoms.TimeToSampleAtom:50,1"
      Dst: "[java.util.ArrayList].<init>()"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.mov.atoms.TimeToSampleAtom].addMetadata(com.drew.metadata.mov.media.QuickTimeVideoDirectory,com.drew.metadata.mov.QuickTimeContext)"
    functionSourceFile: "com.drew.metadata.mov.atoms.TimeToSampleAtom"
    linkageType: ""
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.metadata.mov.media.QuickTimeVideoDirectory"
    - "com.drew.metadata.mov.QuickTimeContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].size()"
    - "[java.util.ArrayList].get(int)"
    - "[java.lang.Long].longValue()"
    - "[com.drew.metadata.Directory].setFloat(int,float)"
    functionUses: 1
    ICount: 19
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.drew.metadata.mov.atoms.TimeToSampleAtom:69"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.atoms.TimeToSampleAtom:73"
        BranchSideFuncs:
        - "get(int)"
        - "longValue()"
        - "setFloat(int,float)"
      - BranchSide: "com.drew.metadata.mov.atoms.TimeToSampleAtom:72"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mov.atoms.TimeToSampleAtom:69"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.atoms.TimeToSampleAtom:73"
        BranchSideFuncs:
        - "get(int)"
        - "longValue()"
        - "setFloat(int,float)"
      - BranchSide: "com.drew.metadata.mov.atoms.TimeToSampleAtom:72"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.mov.atoms.TimeToSampleAtom:69,1"
      Dst: "[java.util.ArrayList].size()"
    - Src: "com.drew.metadata.mov.atoms.TimeToSampleAtom:70,1"
      Dst: "[java.lang.Long].longValue()"
    - Src: "com.drew.metadata.mov.atoms.TimeToSampleAtom:70,1"
      Dst: "[java.util.ArrayList].get(int)"
    - Src: "com.drew.metadata.mov.atoms.TimeToSampleAtom:71,1"
      Dst: "[com.drew.metadata.Directory].setFloat(int,float)"
    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: 3
  - functionName: "[com.drew.imaging.raf.RafMetadataReader].readMetadata(java.io.File)"
    functionSourceFile: "com.drew.imaging.raf.RafMetadataReader"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "com.drew.metadata.Metadata"
    argCount: 1
    argTypes:
    - "java.io.File"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.FileInputStream].<init>(java.io.File)"
    - "[com.drew.imaging.raf.RafMetadataReader].readMetadata(java.io.InputStream)"
    - "[java.io.InputStream].close()"
    - "[com.drew.metadata.file.FileSystemMetadataReader].<init>()"
    - "[com.drew.metadata.file.FileSystemMetadataReader].read(java.io.File,com.drew.metadata.Metadata)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.raf.RafMetadataReader:45,1"
      Dst: "[java.io.FileInputStream].<init>(java.io.File)"
    - Src: "com.drew.imaging.raf.RafMetadataReader:48,1"
      Dst: "[com.drew.imaging.raf.RafMetadataReader].readMetadata(java.io.InputStream)"
    - Src: "com.drew.imaging.raf.RafMetadataReader:50,1"
      Dst: "[java.io.InputStream].close()"
    - Src: "com.drew.imaging.raf.RafMetadataReader:52,1"
      Dst: "[com.drew.metadata.file.FileSystemMetadataReader].<init>()"
    - Src: "com.drew.imaging.raf.RafMetadataReader:52,1"
      Dst: "[com.drew.metadata.file.FileSystemMetadataReader].read(java.io.File,com.drew.metadata.Metadata)"
    JavaMethodInfo:
      exceptions:
      - "com.drew.imaging.jpeg.JpegProcessingException"
      - "java.io.IOException"
      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: "[com.drew.imaging.raf.RafMetadataReader].readMetadata(java.io.InputStream)"
    functionSourceFile: "com.drew.imaging.raf.RafMetadataReader"
    linkageType: ""
    functionLinenumber: 58
    functionLinenumberEnd: 83
    functionDepth: 1
    returnType: "com.drew.metadata.Metadata"
    argCount: 1
    argTypes:
    - "java.io.InputStream"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.zip.InflaterInputStream].markSupported()"
    - "[java.io.IOException].<init>(java.lang.String)"
    - "[java.io.BufferedInputStream:java.io.ByteArrayInputStream:java.io.FilterInputStream:java.io.InputStream:java.util.zip.InflaterInputStream].mark(int)"
    - "[java.io.BufferedInputStream:java.io.ByteArrayInputStream:java.io.FilterInputStream:java.io.InputStream:java.util.zip.InflaterInputStream].read(byte[])"
    - "[java.io.FileInputStream].read(byte[])"
    - "[java.io.InputStream].reset()"
    - "[java.io.InputStream].skip(long)"
    - "[java.io.BufferedInputStream:java.io.ByteArrayInputStream:java.io.FileInputStream:java.io.FilterInputStream:java.io.InputStream$1:java.io.ObjectInputStream$BlockDataInputStream:java.io.ObjectInputStream$PeekInputStream:java.lang.Process$PipeInputStream:java.lang.ProcessImpl$DeferredCloseInputStream:java.util.jar.Manifest$FastInputStream:java.util.zip.InflaterInputStream:java.util.zip.ZipInputStream].skip(long)"
    - "[com.drew.imaging.jpeg.JpegMetadataReader].readMetadata(java.io.InputStream)"
    - "[java.io.InputStream].markSupported()"
    - "[java.io.InputStream].mark(int)"
    - "[java.io.InputStream].read(byte[])"
    functionUses: 1
    ICount: 44
    EdgeCount: 11
    BranchProfiles:
    - Branch String: "com.drew.imaging.raf.RafMetadataReader:59"
      Branch Sides:
      - BranchSide: "com.drew.imaging.raf.RafMetadataReader:62"
        BranchSideFuncs: []
      - BranchSide: "com.drew.imaging.raf.RafMetadataReader:61"
        BranchSideFuncs:
        - "mark(int)"
        - "read(byte[])"
    - Branch String: "com.drew.imaging.raf.RafMetadataReader:67"
      Branch Sides:
      - BranchSide: "com.drew.imaging.raf.RafMetadataReader:70"
        BranchSideFuncs: []
      - BranchSide: "com.drew.imaging.raf.RafMetadataReader:69"
        BranchSideFuncs:
        - "reset()"
    - Branch String: "com.drew.imaging.raf.RafMetadataReader:72"
      Branch Sides:
      - BranchSide: "com.drew.imaging.raf.RafMetadataReader:81"
        BranchSideFuncs:
        - "readMetadata(java.io.InputStream)"
    - Branch String: "com.drew.imaging.raf.RafMetadataReader:74"
      Branch Sides:
      - BranchSide: "com.drew.imaging.raf.RafMetadataReader:70"
        BranchSideFuncs:
        - "skip(long)"
      - BranchSide: "com.drew.imaging.raf.RafMetadataReader:69"
        BranchSideFuncs:
        - "reset()"
    - Branch String: "com.drew.imaging.raf.RafMetadataReader:74"
      Branch Sides:
      - BranchSide: "com.drew.imaging.raf.RafMetadataReader:70"
        BranchSideFuncs:
        - "skip(long)"
      - BranchSide: "com.drew.imaging.raf.RafMetadataReader:69"
        BranchSideFuncs:
        - "reset()"
    - Branch String: "com.drew.imaging.raf.RafMetadataReader:74"
      Branch Sides:
      - BranchSide: "com.drew.imaging.raf.RafMetadataReader:70"
        BranchSideFuncs:
        - "skip(long)"
      - BranchSide: "com.drew.imaging.raf.RafMetadataReader:69"
        BranchSideFuncs:
        - "reset()"
    - Branch String: "com.drew.imaging.raf.RafMetadataReader:76"
      Branch Sides:
      - BranchSide: "com.drew.imaging.raf.RafMetadataReader:82"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "com.drew.imaging.raf.RafMetadataReader:81"
        BranchSideFuncs:
        - "readMetadata(java.io.InputStream)"
    Callsites:
    - Src: "com.drew.imaging.raf.RafMetadataReader:59,1"
      Dst: "[java.io.InputStream].markSupported()"
    - Src: "com.drew.imaging.raf.RafMetadataReader:60,1"
      Dst: "[java.io.IOException].<init>(java.lang.String)"
    - Src: "com.drew.imaging.raf.RafMetadataReader:62,1"
      Dst: "[java.io.InputStream].mark(int)"
    - Src: "com.drew.imaging.raf.RafMetadataReader:65,1"
      Dst: "[java.io.InputStream].read(byte[])"
    - Src: "com.drew.imaging.raf.RafMetadataReader:70,1"
      Dst: "[java.io.InputStream].reset()"
    - Src: "com.drew.imaging.raf.RafMetadataReader:75,1"
      Dst: "[java.io.InputStream].skip(long)"
    - Src: "com.drew.imaging.raf.RafMetadataReader:82,1"
      Dst: "[com.drew.imaging.jpeg.JpegMetadataReader].readMetadata(java.io.InputStream)"
    JavaMethodInfo:
      exceptions:
      - "com.drew.imaging.jpeg.JpegProcessingException"
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 13
    CyclomaticComplexity: 5
  - functionName: "[com.drew.imaging.jpeg.JpegMetadataReader].readMetadata(java.io.InputStream)"
    functionSourceFile: "com.drew.imaging.jpeg.JpegMetadataReader"
    linkageType: ""
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionDepth: 0
    returnType: "com.drew.metadata.Metadata"
    argCount: 1
    argTypes:
    - "java.io.InputStream"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.imaging.jpeg.JpegMetadataReader].readMetadata(java.io.InputStream,java.lang.Iterable)"
    functionUses: 3
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.jpeg.JpegMetadataReader:84,1"
      Dst: "[com.drew.imaging.jpeg.JpegMetadataReader].readMetadata(java.io.InputStream,java.lang.Iterable)"
    JavaMethodInfo:
      exceptions:
      - "com.drew.imaging.jpeg.JpegProcessingException"
      - "java.io.IOException"
      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: "[com.drew.metadata.file.FileSystemMetadataReader].<init>()"
    functionSourceFile: "com.drew.metadata.file.FileSystemMetadataReader"
    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: "com.drew.metadata.file.FileSystemMetadataReader:29,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: "[com.drew.metadata.file.FileSystemMetadataReader].read(java.io.File,com.drew.metadata.Metadata)"
    functionSourceFile: "com.drew.metadata.file.FileSystemMetadataReader"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.io.File"
    - "com.drew.metadata.Metadata"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.File].isFile()"
    - "[java.io.IOException].<init>(java.lang.String)"
    - "[java.io.File].exists()"
    - "[java.io.File].canRead()"
    - "[com.drew.metadata.Metadata].getFirstDirectoryOfType(java.lang.Class)"
    - "[com.drew.metadata.file.FileSystemDirectory].<init>()"
    - "[com.drew.metadata.Metadata].addDirectory(com.drew.metadata.Directory)"
    - "[java.io.File].getName()"
    - "[com.drew.metadata.Directory].setString(int,java.lang.String)"
    - "[java.io.File].length()"
    - "[com.drew.metadata.Directory].setLong(int,long)"
    - "[java.io.File].lastModified()"
    - "[java.util.Date].<init>(long)"
    - "[com.drew.metadata.Directory].setDate(int,java.util.Date)"
    functionUses: 0
    ICount: 34
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.metadata.file.FileSystemMetadataReader:33"
      Branch Sides:
      - BranchSide: "com.drew.metadata.file.FileSystemMetadataReader:35"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.file.FileSystemMetadataReader:34"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.file.FileSystemMetadataReader:35"
      Branch Sides:
      - BranchSide: "com.drew.metadata.file.FileSystemMetadataReader:37"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.file.FileSystemMetadataReader:36"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.file.FileSystemMetadataReader:37"
      Branch Sides:
      - BranchSide: "com.drew.metadata.file.FileSystemMetadataReader:40"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.file.FileSystemMetadataReader:39"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.file.FileSystemMetadataReader:42"
      Branch Sides:
      - BranchSide: "com.drew.metadata.file.FileSystemMetadataReader:47"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.file.FileSystemMetadataReader:46"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.file.FileSystemMetadataReader:33,1"
      Dst: "[java.io.File].isFile()"
    - Src: "com.drew.metadata.file.FileSystemMetadataReader:34,1"
      Dst: "[java.io.IOException].<init>(java.lang.String)"
    - Src: "com.drew.metadata.file.FileSystemMetadataReader:35,1"
      Dst: "[java.io.File].exists()"
    - Src: "com.drew.metadata.file.FileSystemMetadataReader:37,1"
      Dst: "[java.io.File].canRead()"
    - Src: "com.drew.metadata.file.FileSystemMetadataReader:40,1"
      Dst: "[com.drew.metadata.Metadata].getFirstDirectoryOfType(java.lang.Class)"
    - Src: "com.drew.metadata.file.FileSystemMetadataReader:43,1"
      Dst: "[com.drew.metadata.file.FileSystemDirectory].<init>()"
    - Src: "com.drew.metadata.file.FileSystemMetadataReader:44,1"
      Dst: "[com.drew.metadata.Metadata].addDirectory(com.drew.metadata.Directory)"
    - Src: "com.drew.metadata.file.FileSystemMetadataReader:47,1"
      Dst: "[java.io.File].getName()"
    - Src: "com.drew.metadata.file.FileSystemMetadataReader:47,1"
      Dst: "[com.drew.metadata.Directory].setString(int,java.lang.String)"
    - Src: "com.drew.metadata.file.FileSystemMetadataReader:48,1"
      Dst: "[java.io.File].length()"
    - Src: "com.drew.metadata.file.FileSystemMetadataReader:48,1"
      Dst: "[com.drew.metadata.Directory].setLong(int,long)"
    - Src: "com.drew.metadata.file.FileSystemMetadataReader:49,1"
      Dst: "[java.io.File].lastModified()"
    - Src: "com.drew.metadata.file.FileSystemMetadataReader:49,1"
      Dst: "[java.util.Date].<init>(long)"
    - Src: "com.drew.metadata.file.FileSystemMetadataReader:49,1"
      Dst: "[com.drew.metadata.Directory].setDate(int,java.util.Date)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 9
    CyclomaticComplexity: 2
  - functionName: "[com.drew.metadata.file.FileSystemDirectory].<init>()"
    functionSourceFile: "com.drew.metadata.file.FileSystemDirectory"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].<init>()"
    - "[com.drew.metadata.file.FileSystemDescriptor].<init>(com.drew.metadata.file.FileSystemDirectory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.file.FileSystemDirectory:48,1"
      Dst: "[com.drew.metadata.Directory].<init>()"
    - Src: "com.drew.metadata.file.FileSystemDirectory:49,1"
      Dst: "[com.drew.metadata.file.FileSystemDescriptor].<init>(com.drew.metadata.file.FileSystemDirectory)"
    - Src: "com.drew.metadata.file.FileSystemDirectory:49,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.file.FileSystemDescriptor].<init>(com.drew.metadata.file.FileSystemDirectory)"
    functionSourceFile: "com.drew.metadata.file.FileSystemDescriptor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.file.FileSystemDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.file.FileSystemDescriptor:37,1"
      Dst: "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    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: "[com.drew.imaging.raf.RafMetadataReader].<init>()"
    functionSourceFile: "com.drew.imaging.raf.RafMetadataReader"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.lang.Exception].<init>(java.lang.String)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.raf.RafMetadataReader:86,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.drew.imaging.raf.RafMetadataReader:87,1"
      Dst: "[java.lang.Exception].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions:
      - "java.lang.Exception"
      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: "[com.drew.metadata.exif.makernotes.PentaxMakernoteDirectory].<init>()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PentaxMakernoteDirectory"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].<init>()"
    - "[com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.PentaxMakernoteDirectory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PentaxMakernoteDirectory:154,1"
      Dst: "[com.drew.metadata.Directory].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.PentaxMakernoteDirectory:155,1"
      Dst: "[com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.PentaxMakernoteDirectory)"
    - Src: "com.drew.metadata.exif.makernotes.PentaxMakernoteDirectory:155,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.exif.makernotes.PentaxMakernoteDirectory].getName()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PentaxMakernoteDirectory"
    linkageType: ""
    functionLinenumber: 161
    functionLinenumberEnd: 163
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.exif.makernotes.PentaxMakernoteDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PentaxMakernoteDirectory"
    linkageType: ""
    functionLinenumber: 168
    functionLinenumberEnd: 170
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.mov.atoms.TimeToSampleAtom$Entry].<init>(com.drew.lang.SequentialReader)"
    functionSourceFile: "com.drew.metadata.mov.atoms.TimeToSampleAtom$Entry"
    linkageType: ""
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.lang.SequentialReader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[com.drew.lang.SequentialReader].getUInt32()"
    functionUses: 1
    ICount: 8
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.atoms.TimeToSampleAtom$Entry:61,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.drew.metadata.mov.atoms.TimeToSampleAtom$Entry:62,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt32()"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.exif.PanasonicRawWbInfoDirectory].<init>()"
    functionSourceFile: "com.drew.metadata.exif.PanasonicRawWbInfoDirectory"
    linkageType: ""
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].<init>()"
    - "[com.drew.metadata.exif.PanasonicRawWbInfoDescriptor].<init>(com.drew.metadata.exif.PanasonicRawWbInfoDirectory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 1
    ICount: 6
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.PanasonicRawWbInfoDirectory:85,1"
      Dst: "[com.drew.metadata.Directory].<init>()"
    - Src: "com.drew.metadata.exif.PanasonicRawWbInfoDirectory:86,1"
      Dst: "[com.drew.metadata.exif.PanasonicRawWbInfoDescriptor].<init>(com.drew.metadata.exif.PanasonicRawWbInfoDirectory)"
    - Src: "com.drew.metadata.exif.PanasonicRawWbInfoDirectory:86,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.exif.PanasonicRawWbInfoDirectory].getName()"
    functionSourceFile: "com.drew.metadata.exif.PanasonicRawWbInfoDirectory"
    linkageType: ""
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.exif.PanasonicRawWbInfoDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.exif.PanasonicRawWbInfoDirectory"
    linkageType: ""
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.iptc.IptcDescriptor].<init>(com.drew.metadata.iptc.IptcDirectory)"
    functionSourceFile: "com.drew.metadata.iptc.IptcDescriptor"
    linkageType: ""
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.iptc.IptcDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.iptc.IptcDescriptor:42,1"
      Dst: "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    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: "[com.drew.metadata.iptc.IptcDescriptor].getDescription(int)"
    functionSourceFile: "com.drew.metadata.iptc.IptcDescriptor"
    linkageType: ""
    functionLinenumber: 48
    functionLinenumberEnd: 78
    functionDepth: 3
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.iptc.IptcDescriptor].getDateCreatedDescription()"
    - "[com.drew.metadata.iptc.IptcDescriptor].getDigitalDateCreatedDescription()"
    - "[com.drew.metadata.iptc.IptcDescriptor].getDateSentDescription()"
    - "[com.drew.metadata.iptc.IptcDescriptor].getExpirationDateDescription()"
    - "[com.drew.metadata.iptc.IptcDescriptor].getExpirationTimeDescription()"
    - "[com.drew.metadata.iptc.IptcDescriptor].getFileFormatDescription()"
    - "[com.drew.metadata.iptc.IptcDescriptor].getKeywordsDescription()"
    - "[com.drew.metadata.iptc.IptcDescriptor].getReferenceDateDescription()"
    - "[com.drew.metadata.iptc.IptcDescriptor].getReleaseDateDescription()"
    - "[com.drew.metadata.iptc.IptcDescriptor].getReleaseTimeDescription()"
    - "[com.drew.metadata.iptc.IptcDescriptor].getTimeCreatedDescription()"
    - "[com.drew.metadata.iptc.IptcDescriptor].getDigitalTimeCreatedDescription()"
    - "[com.drew.metadata.iptc.IptcDescriptor].getTimeSentDescription()"
    - "[com.drew.metadata.TagDescriptor].getDescription(int)"
    functionUses: 1
    ICount: 31
    EdgeCount: 14
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.iptc.IptcDescriptor:51,1"
      Dst: "[com.drew.metadata.iptc.IptcDescriptor].getDateCreatedDescription()"
    - Src: "com.drew.metadata.iptc.IptcDescriptor:53,1"
      Dst: "[com.drew.metadata.iptc.IptcDescriptor].getDigitalDateCreatedDescription()"
    - Src: "com.drew.metadata.iptc.IptcDescriptor:55,1"
      Dst: "[com.drew.metadata.iptc.IptcDescriptor].getDateSentDescription()"
    - Src: "com.drew.metadata.iptc.IptcDescriptor:57,1"
      Dst: "[com.drew.metadata.iptc.IptcDescriptor].getExpirationDateDescription()"
    - Src: "com.drew.metadata.iptc.IptcDescriptor:59,1"
      Dst: "[com.drew.metadata.iptc.IptcDescriptor].getExpirationTimeDescription()"
    - Src: "com.drew.metadata.iptc.IptcDescriptor:61,1"
      Dst: "[com.drew.metadata.iptc.IptcDescriptor].getFileFormatDescription()"
    - Src: "com.drew.metadata.iptc.IptcDescriptor:63,1"
      Dst: "[com.drew.metadata.iptc.IptcDescriptor].getKeywordsDescription()"
    - Src: "com.drew.metadata.iptc.IptcDescriptor:65,1"
      Dst: "[com.drew.metadata.iptc.IptcDescriptor].getReferenceDateDescription()"
    - Src: "com.drew.metadata.iptc.IptcDescriptor:67,1"
      Dst: "[com.drew.metadata.iptc.IptcDescriptor].getReleaseDateDescription()"
    - Src: "com.drew.metadata.iptc.IptcDescriptor:69,1"
      Dst: "[com.drew.metadata.iptc.IptcDescriptor].getReleaseTimeDescription()"
    - Src: "com.drew.metadata.iptc.IptcDescriptor:71,1"
      Dst: "[com.drew.metadata.iptc.IptcDescriptor].getTimeCreatedDescription()"
    - Src: "com.drew.metadata.iptc.IptcDescriptor:73,1"
      Dst: "[com.drew.metadata.iptc.IptcDescriptor].getDigitalTimeCreatedDescription()"
    - Src: "com.drew.metadata.iptc.IptcDescriptor:75,1"
      Dst: "[com.drew.metadata.iptc.IptcDescriptor].getTimeSentDescription()"
    - Src: "com.drew.metadata.iptc.IptcDescriptor:77,1"
      Dst: "[com.drew.metadata.TagDescriptor].getDescription(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: 15
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.iptc.IptcDescriptor].getDateCreatedDescription()"
    functionSourceFile: "com.drew.metadata.iptc.IptcDescriptor"
    linkageType: ""
    functionLinenumber: 190
    functionLinenumberEnd: 192
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.iptc.IptcDescriptor].getDateDescription(int)"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.iptc.IptcDescriptor:191,1"
      Dst: "[com.drew.metadata.iptc.IptcDescriptor].getDateDescription(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: "[com.drew.metadata.iptc.IptcDescriptor].getDateDescription(int)"
    functionSourceFile: "com.drew.metadata.iptc.IptcDescriptor"
    linkageType: ""
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getString(int)"
    - "[java.lang.String].length()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.String].substring(int)"
    - "[java.lang.String].substring(int,int)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.StringBuilder].append(char)"
    functionUses: 6
    ICount: 22
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "com.drew.metadata.iptc.IptcDescriptor:85"
      Branch Sides:
      - BranchSide: "com.drew.metadata.iptc.IptcDescriptor:87"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.iptc.IptcDescriptor:86"
        BranchSideFuncs:
        - "length()"
    - Branch String: "com.drew.metadata.iptc.IptcDescriptor:87"
      Branch Sides:
      - BranchSide: "com.drew.metadata.iptc.IptcDescriptor:89"
        BranchSideFuncs:
        - "substring(int)"
        - "<init>()"
        - "append(java.lang.String)"
        - "toString()"
        - "substring(int,int)"
      - BranchSide: "com.drew.metadata.iptc.IptcDescriptor:88"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.iptc.IptcDescriptor:84,1"
      Dst: "[com.drew.metadata.Directory].getString(int)"
    - Src: "com.drew.metadata.iptc.IptcDescriptor:87,1"
      Dst: "[java.lang.String].length()"
    - Src: "com.drew.metadata.iptc.IptcDescriptor:88,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.iptc.IptcDescriptor:88,1"
      Dst: "[java.lang.String].substring(int,int)"
    - Src: "com.drew.metadata.iptc.IptcDescriptor:88,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.iptc.IptcDescriptor:88,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "com.drew.metadata.iptc.IptcDescriptor:88,1"
      Dst: "[java.lang.String].substring(int)"
    - Src: "com.drew.metadata.iptc.IptcDescriptor:88,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: 5
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.iptc.IptcDescriptor].getDigitalDateCreatedDescription()"
    functionSourceFile: "com.drew.metadata.iptc.IptcDescriptor"
    linkageType: ""
    functionLinenumber: 196
    functionLinenumberEnd: 198
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.iptc.IptcDescriptor].getDateDescription(int)"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.iptc.IptcDescriptor:197,1"
      Dst: "[com.drew.metadata.iptc.IptcDescriptor].getDateDescription(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: "[com.drew.metadata.iptc.IptcDescriptor].getDateSentDescription()"
    functionSourceFile: "com.drew.metadata.iptc.IptcDescriptor"
    linkageType: ""
    functionLinenumber: 202
    functionLinenumberEnd: 204
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.iptc.IptcDescriptor].getDateDescription(int)"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.iptc.IptcDescriptor:203,1"
      Dst: "[com.drew.metadata.iptc.IptcDescriptor].getDateDescription(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: "[com.drew.metadata.iptc.IptcDescriptor].getExpirationDateDescription()"
    functionSourceFile: "com.drew.metadata.iptc.IptcDescriptor"
    linkageType: ""
    functionLinenumber: 208
    functionLinenumberEnd: 210
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.iptc.IptcDescriptor].getDateDescription(int)"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.iptc.IptcDescriptor:209,1"
      Dst: "[com.drew.metadata.iptc.IptcDescriptor].getDateDescription(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: "[com.drew.metadata.iptc.IptcDescriptor].getExpirationTimeDescription()"
    functionSourceFile: "com.drew.metadata.iptc.IptcDescriptor"
    linkageType: ""
    functionLinenumber: 214
    functionLinenumberEnd: 216
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.iptc.IptcDescriptor].getTimeDescription(int)"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.iptc.IptcDescriptor:215,1"
      Dst: "[com.drew.metadata.iptc.IptcDescriptor].getTimeDescription(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: "[com.drew.metadata.iptc.IptcDescriptor].getTimeDescription(int)"
    functionSourceFile: "com.drew.metadata.iptc.IptcDescriptor"
    linkageType: ""
    functionLinenumber: 94
    functionLinenumberEnd: 101
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getString(int)"
    - "[java.lang.String].length()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.String].substring(int)"
    - "[java.lang.String].substring(int,int)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.StringBuilder].append(char)"
    functionUses: 5
    ICount: 24
    EdgeCount: 9
    BranchProfiles:
    - Branch String: "com.drew.metadata.iptc.IptcDescriptor:96"
      Branch Sides:
      - BranchSide: "com.drew.metadata.iptc.IptcDescriptor:98"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.iptc.IptcDescriptor:97"
        BranchSideFuncs:
        - "length()"
    - Branch String: "com.drew.metadata.iptc.IptcDescriptor:98"
      Branch Sides:
      - BranchSide: "com.drew.metadata.iptc.IptcDescriptor:99"
        BranchSideFuncs:
        - "substring(int)"
        - "<init>()"
        - "append(java.lang.String)"
        - "toString()"
        - "substring(int,int)"
      - BranchSide: "com.drew.metadata.iptc.IptcDescriptor:98"
        BranchSideFuncs:
        - "substring(int)"
        - "<init>()"
        - "append(java.lang.String)"
        - "toString()"
        - "substring(int,int)"
    - Branch String: "com.drew.metadata.iptc.IptcDescriptor:98"
      Branch Sides:
      - BranchSide: "com.drew.metadata.iptc.IptcDescriptor:100"
        BranchSideFuncs:
        - "substring(int)"
        - "<init>()"
        - "append(java.lang.String)"
        - "toString()"
        - "substring(int,int)"
      - BranchSide: "com.drew.metadata.iptc.IptcDescriptor:99"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.iptc.IptcDescriptor:95,1"
      Dst: "[com.drew.metadata.Directory].getString(int)"
    - Src: "com.drew.metadata.iptc.IptcDescriptor:98,1"
      Dst: "[java.lang.String].length()"
    - Src: "com.drew.metadata.iptc.IptcDescriptor:99,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.iptc.IptcDescriptor:99,1"
      Dst: "[java.lang.String].substring(int,int)"
    - Src: "com.drew.metadata.iptc.IptcDescriptor:99,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.iptc.IptcDescriptor:99,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "com.drew.metadata.iptc.IptcDescriptor:99,1"
      Dst: "[java.lang.String].substring(int)"
    - Src: "com.drew.metadata.iptc.IptcDescriptor:99,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: 6
    CyclomaticComplexity: 2
  - functionName: "[com.drew.metadata.iptc.IptcDescriptor].getFileFormatDescription()"
    functionSourceFile: "com.drew.metadata.iptc.IptcDescriptor"
    linkageType: ""
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 34
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.iptc.IptcDescriptor:106,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.iptc.IptcDescriptor].getKeywordsDescription()"
    functionSourceFile: "com.drew.metadata.iptc.IptcDescriptor"
    linkageType: ""
    functionLinenumber: 226
    functionLinenumberEnd: 231
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getStringArray(int)"
    - "[com.drew.lang.StringUtil].join(java.lang.CharSequence[],java.lang.String)"
    functionUses: 1
    ICount: 8
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.drew.metadata.iptc.IptcDescriptor:228"
      Branch Sides:
      - BranchSide: "com.drew.metadata.iptc.IptcDescriptor:230"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.iptc.IptcDescriptor:229"
        BranchSideFuncs:
        - "join(java.lang.CharSequence[],java.lang.String)"
    Callsites:
    - Src: "com.drew.metadata.iptc.IptcDescriptor:227,1"
      Dst: "[com.drew.metadata.Directory].getStringArray(int)"
    - Src: "com.drew.metadata.iptc.IptcDescriptor:230,1"
      Dst: "[com.drew.lang.StringUtil].join(java.lang.CharSequence[],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: 3
    CyclomaticComplexity: 1
  - functionName: "[com.drew.lang.StringUtil].join(java.lang.CharSequence[],java.lang.String)"
    functionSourceFile: "com.drew.lang.StringUtil"
    linkageType: ""
    functionLinenumber: 62
    functionLinenumberEnd: 79
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 2
    argTypes:
    - "java.lang.CharSequence[]"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].length()"
    - "[java.lang.AbstractStringBuilder].length()"
    - "[java.lang.StringBuilder].<init>(int)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.CharSequence)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.CharSequence].length()"
    functionUses: 1
    ICount: 29
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "com.drew.lang.StringUtil:65"
      Branch Sides:
      - BranchSide: "com.drew.lang.StringUtil:67"
        BranchSideFuncs:
        - "<init>(int)"
    - Branch String: "com.drew.lang.StringUtil:70"
      Branch Sides:
      - BranchSide: "com.drew.lang.StringUtil:78"
        BranchSideFuncs: []
      - BranchSide: "com.drew.lang.StringUtil:77"
        BranchSideFuncs:
        - "toString()"
    - Branch String: "com.drew.lang.StringUtil:71"
      Branch Sides:
      - BranchSide: "com.drew.lang.StringUtil:74"
        BranchSideFuncs:
        - "append(java.lang.String)"
      - BranchSide: "com.drew.lang.StringUtil:73"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.lang.StringUtil:64,1"
      Dst: "[java.lang.String].length()"
    - Src: "com.drew.lang.StringUtil:66,1"
      Dst: "[java.lang.CharSequence].length()"
    - Src: "com.drew.lang.StringUtil:68,1"
      Dst: "[java.lang.StringBuilder].<init>(int)"
    - Src: "com.drew.lang.StringUtil:72,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.lang.StringUtil:76,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.CharSequence)"
    - Src: "com.drew.lang.StringUtil:78,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: 10
    CyclomaticComplexity: 4
  - functionName: "[com.drew.metadata.iptc.IptcDescriptor].getReferenceDateDescription()"
    functionSourceFile: "com.drew.metadata.iptc.IptcDescriptor"
    linkageType: ""
    functionLinenumber: 265
    functionLinenumberEnd: 267
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.iptc.IptcDescriptor].getDateDescription(int)"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.iptc.IptcDescriptor:266,1"
      Dst: "[com.drew.metadata.iptc.IptcDescriptor].getDateDescription(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: "[com.drew.metadata.iptc.IptcDescriptor].getReleaseDateDescription()"
    functionSourceFile: "com.drew.metadata.iptc.IptcDescriptor"
    linkageType: ""
    functionLinenumber: 271
    functionLinenumberEnd: 273
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.iptc.IptcDescriptor].getDateDescription(int)"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.iptc.IptcDescriptor:272,1"
      Dst: "[com.drew.metadata.iptc.IptcDescriptor].getDateDescription(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: "[com.drew.metadata.iptc.IptcDescriptor].getReleaseTimeDescription()"
    functionSourceFile: "com.drew.metadata.iptc.IptcDescriptor"
    linkageType: ""
    functionLinenumber: 277
    functionLinenumberEnd: 279
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.iptc.IptcDescriptor].getTimeDescription(int)"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.iptc.IptcDescriptor:278,1"
      Dst: "[com.drew.metadata.iptc.IptcDescriptor].getTimeDescription(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: "[com.drew.metadata.iptc.IptcDescriptor].getTimeCreatedDescription()"
    functionSourceFile: "com.drew.metadata.iptc.IptcDescriptor"
    linkageType: ""
    functionLinenumber: 301
    functionLinenumberEnd: 303
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.iptc.IptcDescriptor].getTimeDescription(int)"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.iptc.IptcDescriptor:302,1"
      Dst: "[com.drew.metadata.iptc.IptcDescriptor].getTimeDescription(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: "[com.drew.metadata.iptc.IptcDescriptor].getDigitalTimeCreatedDescription()"
    functionSourceFile: "com.drew.metadata.iptc.IptcDescriptor"
    linkageType: ""
    functionLinenumber: 307
    functionLinenumberEnd: 309
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.iptc.IptcDescriptor].getTimeDescription(int)"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.iptc.IptcDescriptor:308,1"
      Dst: "[com.drew.metadata.iptc.IptcDescriptor].getTimeDescription(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: "[com.drew.metadata.iptc.IptcDescriptor].getTimeSentDescription()"
    functionSourceFile: "com.drew.metadata.iptc.IptcDescriptor"
    linkageType: ""
    functionLinenumber: 313
    functionLinenumberEnd: 315
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.iptc.IptcDescriptor].getTimeDescription(int)"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.iptc.IptcDescriptor:314,1"
      Dst: "[com.drew.metadata.iptc.IptcDescriptor].getTimeDescription(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: "[com.drew.metadata.iptc.IptcDescriptor].getByLineDescription()"
    functionSourceFile: "com.drew.metadata.iptc.IptcDescriptor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getString(int)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.iptc.IptcDescriptor:143,1"
      Dst: "[com.drew.metadata.Directory].getString(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: "[com.drew.metadata.iptc.IptcDescriptor].getByLineTitleDescription()"
    functionSourceFile: "com.drew.metadata.iptc.IptcDescriptor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getString(int)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.iptc.IptcDescriptor:149,1"
      Dst: "[com.drew.metadata.Directory].getString(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: "[com.drew.metadata.iptc.IptcDescriptor].getCaptionDescription()"
    functionSourceFile: "com.drew.metadata.iptc.IptcDescriptor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getString(int)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.iptc.IptcDescriptor:155,1"
      Dst: "[com.drew.metadata.Directory].getString(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: "[com.drew.metadata.iptc.IptcDescriptor].getCategoryDescription()"
    functionSourceFile: "com.drew.metadata.iptc.IptcDescriptor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getString(int)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.iptc.IptcDescriptor:161,1"
      Dst: "[com.drew.metadata.Directory].getString(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: "[com.drew.metadata.iptc.IptcDescriptor].getCityDescription()"
    functionSourceFile: "com.drew.metadata.iptc.IptcDescriptor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getString(int)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.iptc.IptcDescriptor:167,1"
      Dst: "[com.drew.metadata.Directory].getString(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: "[com.drew.metadata.iptc.IptcDescriptor].getCopyrightNoticeDescription()"
    functionSourceFile: "com.drew.metadata.iptc.IptcDescriptor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getString(int)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.iptc.IptcDescriptor:173,1"
      Dst: "[com.drew.metadata.Directory].getString(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: "[com.drew.metadata.iptc.IptcDescriptor].getCountryOrPrimaryLocationDescription()"
    functionSourceFile: "com.drew.metadata.iptc.IptcDescriptor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getString(int)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.iptc.IptcDescriptor:179,1"
      Dst: "[com.drew.metadata.Directory].getString(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: "[com.drew.metadata.iptc.IptcDescriptor].getCreditDescription()"
    functionSourceFile: "com.drew.metadata.iptc.IptcDescriptor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getString(int)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.iptc.IptcDescriptor:185,1"
      Dst: "[com.drew.metadata.Directory].getString(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: "[com.drew.metadata.iptc.IptcDescriptor].getHeadlineDescription()"
    functionSourceFile: "com.drew.metadata.iptc.IptcDescriptor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getString(int)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.iptc.IptcDescriptor:221,1"
      Dst: "[com.drew.metadata.Directory].getString(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: "[com.drew.metadata.iptc.IptcDescriptor].getObjectNameDescription()"
    functionSourceFile: "com.drew.metadata.iptc.IptcDescriptor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getString(int)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.iptc.IptcDescriptor:236,1"
      Dst: "[com.drew.metadata.Directory].getString(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: "[com.drew.metadata.iptc.IptcDescriptor].getOriginalTransmissionReferenceDescription()"
    functionSourceFile: "com.drew.metadata.iptc.IptcDescriptor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getString(int)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.iptc.IptcDescriptor:242,1"
      Dst: "[com.drew.metadata.Directory].getString(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: "[com.drew.metadata.iptc.IptcDescriptor].getOriginatingProgramDescription()"
    functionSourceFile: "com.drew.metadata.iptc.IptcDescriptor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getString(int)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.iptc.IptcDescriptor:248,1"
      Dst: "[com.drew.metadata.Directory].getString(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: "[com.drew.metadata.iptc.IptcDescriptor].getProvinceOrStateDescription()"
    functionSourceFile: "com.drew.metadata.iptc.IptcDescriptor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getString(int)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.iptc.IptcDescriptor:254,1"
      Dst: "[com.drew.metadata.Directory].getString(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: "[com.drew.metadata.iptc.IptcDescriptor].getRecordVersionDescription()"
    functionSourceFile: "com.drew.metadata.iptc.IptcDescriptor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getString(int)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.iptc.IptcDescriptor:260,1"
      Dst: "[com.drew.metadata.Directory].getString(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: "[com.drew.metadata.iptc.IptcDescriptor].getSourceDescription()"
    functionSourceFile: "com.drew.metadata.iptc.IptcDescriptor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getString(int)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.iptc.IptcDescriptor:284,1"
      Dst: "[com.drew.metadata.Directory].getString(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: "[com.drew.metadata.iptc.IptcDescriptor].getSpecialInstructionsDescription()"
    functionSourceFile: "com.drew.metadata.iptc.IptcDescriptor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getString(int)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.iptc.IptcDescriptor:290,1"
      Dst: "[com.drew.metadata.Directory].getString(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: "[com.drew.metadata.iptc.IptcDescriptor].getSupplementalCategoriesDescription()"
    functionSourceFile: "com.drew.metadata.iptc.IptcDescriptor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getString(int)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.iptc.IptcDescriptor:296,1"
      Dst: "[com.drew.metadata.Directory].getString(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: "[com.drew.metadata.iptc.IptcDescriptor].getUrgencyDescription()"
    functionSourceFile: "com.drew.metadata.iptc.IptcDescriptor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getString(int)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.iptc.IptcDescriptor:320,1"
      Dst: "[com.drew.metadata.Directory].getString(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: "[com.drew.metadata.iptc.IptcDescriptor].getWriterDescription()"
    functionSourceFile: "com.drew.metadata.iptc.IptcDescriptor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getString(int)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.iptc.IptcDescriptor:326,1"
      Dst: "[com.drew.metadata.Directory].getString(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: "[com.drew.imaging.PhotographicConversions].<init>()"
    functionSourceFile: "com.drew.imaging.PhotographicConversions"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.lang.Exception].<init>(java.lang.String)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.PhotographicConversions:33,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.drew.imaging.PhotographicConversions:34,1"
      Dst: "[java.lang.Exception].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions:
      - "java.lang.Exception"
      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: "[com.drew.imaging.PhotographicConversions].apertureToFStop(double)"
    functionSourceFile: "com.drew.imaging.PhotographicConversions"
    linkageType: ""
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionDepth: 0
    returnType: "double"
    argCount: 1
    argTypes:
    - "double"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Math].pow(double,double)"
    functionUses: 3
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.PhotographicConversions:45,1"
      Dst: "[java.lang.Math].pow(double,double)"
    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: "[com.drew.imaging.PhotographicConversions].shutterSpeedToExposureTime(double)"
    functionSourceFile: "com.drew.imaging.PhotographicConversions"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "double"
    argCount: 1
    argTypes:
    - "double"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Math].log(double)"
    - "[java.lang.Math].exp(double)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.PhotographicConversions:59,1"
      Dst: "[java.lang.Math].log(double)"
    - Src: "com.drew.imaging.PhotographicConversions:59,1"
      Dst: "[java.lang.Math].exp(double)"
    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: "[com.drew.metadata.heif.boxes.ItemLocationBox$1].<init>(com.drew.metadata.heif.boxes.ItemLocationBox)"
    functionSourceFile: "com.drew.metadata.heif.boxes.ItemLocationBox$1"
    linkageType: ""
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.heif.boxes.ItemLocationBox"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.heif.boxes.ItemLocationBox$1:43,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: "[com.drew.metadata.heif.boxes.ItemLocationBox$1].compare(com.drew.metadata.heif.boxes.ItemLocationBox$Extent,com.drew.metadata.heif.boxes.ItemLocationBox$Extent)"
    functionSourceFile: "com.drew.metadata.heif.boxes.ItemLocationBox$1"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 2
    argTypes:
    - "com.drew.metadata.heif.boxes.ItemLocationBox$Extent"
    - "com.drew.metadata.heif.boxes.ItemLocationBox$Extent"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 18
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.metadata.heif.boxes.ItemLocationBox$1:46"
      Branch Sides:
      - BranchSide: "com.drew.metadata.heif.boxes.ItemLocationBox$1:45"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.heif.boxes.ItemLocationBox$1:46"
      Branch Sides:
      - BranchSide: "com.drew.metadata.heif.boxes.ItemLocationBox$1:45"
        BranchSideFuncs: []
    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: 6
    CyclomaticComplexity: 3
  - functionName: "[com.drew.metadata.heif.boxes.ItemLocationBox$1].compare(java.lang.Object,java.lang.Object)"
    functionSourceFile: "com.drew.metadata.heif.boxes.ItemLocationBox$1"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "int"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.heif.boxes.ItemLocationBox$1].compare(com.drew.metadata.heif.boxes.ItemLocationBox$Extent,com.drew.metadata.heif.boxes.ItemLocationBox$Extent)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.heif.boxes.ItemLocationBox$1:43,1"
      Dst: "[com.drew.metadata.heif.boxes.ItemLocationBox$1].compare(com.drew.metadata.heif.boxes.ItemLocationBox$Extent,com.drew.metadata.heif.boxes.ItemLocationBox$Extent)"
    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: "[com.drew.metadata.file.FileSystemDirectory].getName()"
    functionSourceFile: "com.drew.metadata.file.FileSystemDirectory"
    linkageType: ""
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.file.FileSystemDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.file.FileSystemDirectory"
    linkageType: ""
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.mov.atoms.VideoSampleDescriptionAtom$VideoSampleDescription].<init>(com.drew.lang.SequentialReader)"
    functionSourceFile: "com.drew.metadata.mov.atoms.VideoSampleDescriptionAtom$VideoSampleDescription"
    linkageType: ""
    functionLinenumber: 100
    functionLinenumberEnd: 118
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.lang.SequentialReader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mov.atoms.SampleDescription].<init>(com.drew.lang.SequentialReader)"
    - "[com.drew.lang.SequentialReader].getUInt16()"
    - "[com.drew.lang.SequentialReader].getString(int)"
    - "[com.drew.lang.SequentialReader].getUInt32()"
    - "[com.drew.lang.SequentialReader].getInt16()"
    functionUses: 1
    ICount: 33
    EdgeCount: 15
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.atoms.VideoSampleDescriptionAtom$VideoSampleDescription:101,1"
      Dst: "[com.drew.metadata.mov.atoms.SampleDescription].<init>(com.drew.lang.SequentialReader)"
    - Src: "com.drew.metadata.mov.atoms.VideoSampleDescriptionAtom$VideoSampleDescription:103,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt16()"
    - Src: "com.drew.metadata.mov.atoms.VideoSampleDescriptionAtom$VideoSampleDescription:105,1"
      Dst: "[com.drew.lang.SequentialReader].getString(int)"
    - Src: "com.drew.metadata.mov.atoms.VideoSampleDescriptionAtom$VideoSampleDescription:106,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt32()"
    - Src: "com.drew.metadata.mov.atoms.VideoSampleDescriptionAtom$VideoSampleDescription:116,1"
      Dst: "[com.drew.lang.SequentialReader].getInt16()"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.mov.media.QuickTimeMusicDescriptor].<init>(com.drew.metadata.mov.QuickTimeDirectory)"
    functionSourceFile: "com.drew.metadata.mov.media.QuickTimeMusicDescriptor"
    linkageType: ""
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.mov.QuickTimeDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mov.QuickTimeDescriptor].<init>(com.drew.metadata.mov.QuickTimeDirectory)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.media.QuickTimeMusicDescriptor:33,1"
      Dst: "[com.drew.metadata.mov.QuickTimeDescriptor].<init>(com.drew.metadata.mov.QuickTimeDirectory)"
    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: "[com.drew.metadata.heif.HeifContainerTypes].<init>()"
    functionSourceFile: "com.drew.metadata.heif.HeifContainerTypes"
    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: "com.drew.metadata.heif.HeifContainerTypes:28,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: "[com.drew.metadata.xmp.XmpReader].getSegmentTypes()"
    functionSourceFile: "com.drew.metadata.xmp.XmpReader"
    linkageType: ""
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionDepth: 0
    returnType: "java.lang.Iterable"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Collections].singletonList(java.lang.Object)"
    functionUses: 2
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.xmp.XmpReader:82,1"
      Dst: "[java.util.Collections].singletonList(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: "[com.drew.metadata.xmp.XmpReader].readJpegSegments(java.lang.Iterable<byte[]>,com.drew.metadata.Metadata,com.drew.imaging.jpeg.JpegSegmentType)"
    functionSourceFile: "com.drew.metadata.xmp.XmpReader"
    linkageType: ""
    functionLinenumber: 94
    functionLinenumberEnd: 132
    functionDepth: 6
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.Iterable<byte[]>"
    - "com.drew.metadata.Metadata"
    - "com.drew.imaging.jpeg.JpegSegmentType"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].length()"
    - "[com.adobe.internal.xmp.impl.XMPNode$1].hasNext()"
    - "[jdk.internal.module.ModuleBootstrap$2].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIterator].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIteratorChildren].hasNext()"
    - "[java.nio.file.FileTreeIterator].hasNext()"
    - "[java.util.concurrent.ConcurrentHashMap$EntrySetView].iterator()"
    - "[jdk.internal.module.ModuleBootstrap$2].next()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIterator].next()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl].next()"
    - "[com.adobe.internal.xmp.impl.XMPNode$1].next()"
    - "[java.io.BufferedReader$1].next()"
    - "[java.lang.String].<init>(byte[],int,int)"
    - "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    - "[com.drew.metadata.xmp.XmpReader].extract(byte[],com.drew.metadata.Metadata)"
    - "[com.drew.metadata.xmp.XmpReader].getExtendedXMPGUID(com.drew.metadata.Metadata)"
    - "[com.drew.metadata.xmp.XmpReader].processExtendedXMPChunk(com.drew.metadata.Metadata,byte[],java.lang.String,byte[])"
    - "[java.lang.Iterable].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    functionUses: 1
    ICount: 48
    EdgeCount: 25
    BranchProfiles:
    - Branch String: "com.drew.metadata.xmp.XmpReader:100"
      Branch Sides:
      - BranchSide: "com.drew.metadata.xmp.XmpReader:128"
        BranchSideFuncs:
        - "hasNext()"
        - "iterator()"
        - "next()"
      - BranchSide: "com.drew.metadata.xmp.XmpReader:127"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.xmp.XmpReader:102"
      Branch Sides:
      - BranchSide: "com.drew.metadata.xmp.XmpReader:118"
        BranchSideFuncs:
        - "<init>(byte[],int,int)"
    - Branch String: "com.drew.metadata.xmp.XmpReader:106"
      Branch Sides:
      - BranchSide: "com.drew.metadata.xmp.XmpReader:109"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.xmp.XmpReader:108"
        BranchSideFuncs:
        - "getExtendedXMPGUID(com.drew.metadata.Metadata)"
        - "arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    - Branch String: "com.drew.metadata.xmp.XmpReader:107"
      Branch Sides:
      - BranchSide: "com.drew.metadata.xmp.XmpReader:118"
        BranchSideFuncs:
        - "<init>(byte[],int,int)"
    - Branch String: "com.drew.metadata.xmp.XmpReader:119"
      Branch Sides:
      - BranchSide: "com.drew.metadata.xmp.XmpReader:125"
        BranchSideFuncs:
        - "<init>(byte[],int,int)"
        - "equalsIgnoreCase(java.lang.String)"
      - BranchSide: "com.drew.metadata.xmp.XmpReader:124"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.xmp.XmpReader:119"
      Branch Sides:
      - BranchSide: "com.drew.metadata.xmp.XmpReader:125"
        BranchSideFuncs:
        - "<init>(byte[],int,int)"
        - "equalsIgnoreCase(java.lang.String)"
      - BranchSide: "com.drew.metadata.xmp.XmpReader:124"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.xmp.XmpReader:121"
      Branch Sides:
      - BranchSide: "com.drew.metadata.xmp.XmpReader:124"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.xmp.XmpReader:128"
      Branch Sides:
      - BranchSide: "com.drew.metadata.xmp.XmpReader:131"
        BranchSideFuncs:
        - "extract(byte[],com.drew.metadata.Metadata)"
      - BranchSide: "com.drew.metadata.xmp.XmpReader:130"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.xmp.XmpReader:95,1"
      Dst: "[java.lang.String].length()"
    - Src: "com.drew.metadata.xmp.XmpReader:100,1"
      Dst: "[java.lang.Iterable].iterator()"
    - Src: "com.drew.metadata.xmp.XmpReader:100,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.drew.metadata.xmp.XmpReader:100,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.drew.metadata.xmp.XmpReader:106,1"
      Dst: "[java.lang.String].<init>(byte[],int,int)"
    - Src: "com.drew.metadata.xmp.XmpReader:106,1"
      Dst: "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - Src: "com.drew.metadata.xmp.XmpReader:110,1"
      Dst: "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    - Src: "com.drew.metadata.xmp.XmpReader:111,1"
      Dst: "[com.drew.metadata.xmp.XmpReader].extract(byte[],com.drew.metadata.Metadata)"
    - Src: "com.drew.metadata.xmp.XmpReader:113,1"
      Dst: "[com.drew.metadata.xmp.XmpReader].getExtendedXMPGUID(com.drew.metadata.Metadata)"
    - Src: "com.drew.metadata.xmp.XmpReader:123,1"
      Dst: "[com.drew.metadata.xmp.XmpReader].processExtendedXMPChunk(com.drew.metadata.Metadata,byte[],java.lang.String,byte[])"
    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: 9
  - functionName: "[com.drew.metadata.xmp.XmpReader].extract(byte[],com.drew.metadata.Metadata)"
    functionSourceFile: "com.drew.metadata.xmp.XmpReader"
    linkageType: ""
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionDepth: 5
    returnType: "void"
    argCount: 2
    argTypes:
    - "byte[]"
    - "com.drew.metadata.Metadata"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.xmp.XmpReader].extract(byte[],com.drew.metadata.Metadata,com.drew.metadata.Directory)"
    functionUses: 6
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.xmp.XmpReader:140,1"
      Dst: "[com.drew.metadata.xmp.XmpReader].extract(byte[],com.drew.metadata.Metadata,com.drew.metadata.Directory)"
    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: "[com.drew.metadata.xmp.XmpReader].getExtendedXMPGUID(com.drew.metadata.Metadata)"
    functionSourceFile: "com.drew.metadata.xmp.XmpReader"
    linkageType: ""
    functionLinenumber: 234
    functionLinenumberEnd: 257
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "com.drew.metadata.Metadata"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Metadata].getDirectoriesOfType(java.lang.Class)"
    - "[com.adobe.internal.xmp.impl.XMPNode$1].hasNext()"
    - "[jdk.internal.module.ModuleBootstrap$2].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIterator].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIteratorChildren].hasNext()"
    - "[java.nio.file.FileTreeIterator].hasNext()"
    - "[java.nio.file.Files$2].hasNext()"
    - "[java.io.BufferedReader$1].hasNext()"
    - "[java.util.concurrent.ConcurrentHashMap$EntrySetView].iterator()"
    - "[java.util.concurrent.CopyOnWriteArrayList].iterator()"
    - "[java.util.concurrent.LinkedBlockingQueue].iterator()"
    - "[java.util.ArrayDeque].iterator()"
    - "[java.util.AbstractSequentialList].iterator()"
    - "[java.util.TreeSet].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$KeySetView].iterator()"
    - "[java.util.Vector].iterator()"
    - "[java.util.HashSet].iterator()"
    - "[java.util.AbstractList].iterator()"
    - "[java.util.TreeMap$EntrySet].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$ValuesView].iterator()"
    - "[java.util.TreeMap$KeySet].iterator()"
    - "[java.util.ArrayList].iterator()"
    - "[java.io.BufferedReader$1].next()"
    - "[jdk.internal.module.ModuleBootstrap$2].next()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIterator].next()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl].next()"
    - "[com.adobe.internal.xmp.impl.XMPNode$1].next()"
    - "[java.nio.file.Files$2].next()"
    - "[java.nio.file.FileTreeIterator].next()"
    - "[com.drew.metadata.xmp.XmpDirectory].getXMPMeta()"
    - "[com.adobe.internal.xmp.impl.XMPMetaImpl].iterator(java.lang.String,java.lang.String,com.adobe.internal.xmp.options.IteratorOptions)"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIterator$1].getPath()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIterator$1].getValue()"
    - "[java.util.Collection].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[com.adobe.internal.xmp.XMPMeta].iterator(java.lang.String,java.lang.String,com.adobe.internal.xmp.options.IteratorOptions)"
    - "[com.adobe.internal.xmp.properties.XMPPropertyInfo].getPath()"
    - "[com.adobe.internal.xmp.properties.XMPPropertyInfo].getValue()"
    functionUses: 1
    ICount: 26
    EdgeCount: 37
    BranchProfiles:
    - Branch String: "com.drew.metadata.xmp.XmpReader:237"
      Branch Sides:
      - BranchSide: "com.drew.metadata.xmp.XmpReader:256"
        BranchSideFuncs:
        - "getXMPMeta()"
        - "iterator()"
        - "iterator(java.lang.String,java.lang.String,com.adobe.internal.xmp.options.IteratorOptions)"
      - BranchSide: "com.drew.metadata.xmp.XmpReader:255"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.xmp.XmpReader:242"
      Branch Sides:
      - BranchSide: "com.drew.metadata.xmp.XmpReader:245"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.xmp.XmpReader:244"
        BranchSideFuncs:
        - "hasNext()"
    - Branch String: "com.drew.metadata.xmp.XmpReader:245"
      Branch Sides:
      - BranchSide: "com.drew.metadata.xmp.XmpReader:253"
        BranchSideFuncs:
        - "next()"
        - "equals(java.lang.Object)"
        - "getPath()"
      - BranchSide: "com.drew.metadata.xmp.XmpReader:252"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.xmp.XmpReader:247"
      Branch Sides:
      - BranchSide: "com.drew.metadata.xmp.XmpReader:250"
        BranchSideFuncs:
        - "getValue()"
      - BranchSide: "com.drew.metadata.xmp.XmpReader:249"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.xmp.XmpReader:235,1"
      Dst: "[com.drew.metadata.Metadata].getDirectoriesOfType(java.lang.Class)"
    - Src: "com.drew.metadata.xmp.XmpReader:237,1"
      Dst: "[java.util.Collection].iterator()"
    - Src: "com.drew.metadata.xmp.XmpReader:237,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.drew.metadata.xmp.XmpReader:237,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.drew.metadata.xmp.XmpReader:238,1"
      Dst: "[com.drew.metadata.xmp.XmpDirectory].getXMPMeta()"
    - Src: "com.drew.metadata.xmp.XmpReader:241,1"
      Dst: "[com.adobe.internal.xmp.XMPMeta].iterator(java.lang.String,java.lang.String,com.adobe.internal.xmp.options.IteratorOptions)"
    - Src: "com.drew.metadata.xmp.XmpReader:247,1"
      Dst: "[com.adobe.internal.xmp.properties.XMPPropertyInfo].getPath()"
    - Src: "com.drew.metadata.xmp.XmpReader:247,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "com.drew.metadata.xmp.XmpReader:248,1"
      Dst: "[com.adobe.internal.xmp.properties.XMPPropertyInfo].getValue()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 12
    CyclomaticComplexity: 4
  - functionName: "[com.drew.metadata.xmp.XmpDirectory].getXMPMeta()"
    functionSourceFile: "com.drew.metadata.xmp.XmpDirectory"
    linkageType: ""
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionDepth: 0
    returnType: "com.adobe.internal.xmp.XMPMeta"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.adobe.internal.xmp.impl.XMPMetaImpl].<init>()"
    functionUses: 1
    ICount: 8
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "com.drew.metadata.xmp.XmpDirectory:136"
      Branch Sides:
      - BranchSide: "com.drew.metadata.xmp.XmpDirectory:138"
        BranchSideFuncs:
        - "<init>()"
      - BranchSide: "com.drew.metadata.xmp.XmpDirectory:137"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.xmp.XmpDirectory:137,1"
      Dst: "[com.adobe.internal.xmp.impl.XMPMetaImpl].<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: 3
    CyclomaticComplexity: 2
  - functionName: "[com.drew.metadata.xmp.XmpReader].processExtendedXMPChunk(com.drew.metadata.Metadata,byte[],java.lang.String,byte[])"
    functionSourceFile: "com.drew.metadata.xmp.XmpReader"
    linkageType: ""
    functionLinenumber: 268
    functionLinenumberEnd: 311
    functionDepth: 3
    returnType: "byte[]"
    argCount: 4
    argTypes:
    - "com.drew.metadata.Metadata"
    - "byte[]"
    - "java.lang.String"
    - "byte[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].length()"
    - "[com.drew.lang.SequentialByteArrayReader].<init>(byte[])"
    - "[com.drew.lang.SequentialByteArrayReader].skip(long)"
    - "[com.drew.lang.SequentialReader].getString(int)"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[com.drew.lang.SequentialReader].getUInt32()"
    - "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    - "[com.drew.metadata.xmp.XmpDirectory].<init>()"
    - "[com.drew.metadata.Directory].addError(java.lang.String)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.lang.Integer].valueOf(int)"
    - "[com.drew.metadata.Metadata].addDirectory(com.drew.metadata.Directory)"
    - "[java.io.InvalidClassException].getMessage()"
    - "[java.lang.Throwable].getMessage()"
    - "[java.nio.file.FileSystemException].getMessage()"
    - "[com.drew.lang.SequentialReader].skip(long)"
    functionUses: 1
    ICount: 49
    EdgeCount: 20
    BranchProfiles:
    - Branch String: "com.drew.metadata.xmp.XmpReader:273"
      Branch Sides:
      - BranchSide: "com.drew.metadata.xmp.XmpReader:309"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.xmp.XmpReader:288"
      Branch Sides:
      - BranchSide: "com.drew.metadata.xmp.XmpReader:307"
        BranchSideFuncs:
        - "getUInt32()"
      - BranchSide: "com.drew.metadata.xmp.XmpReader:306"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.xmp.XmpReader:292"
      Branch Sides:
      - BranchSide: "com.drew.metadata.xmp.XmpReader:295"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.xmp.XmpReader:294"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.xmp.XmpReader:295"
      Branch Sides:
      - BranchSide: "com.drew.metadata.xmp.XmpReader:298"
        BranchSideFuncs:
        - "arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
      - BranchSide: "com.drew.metadata.xmp.XmpReader:297"
        BranchSideFuncs:
        - "format(java.lang.String,java.lang.Object[])"
        - "valueOf(int)"
    Callsites:
    - Src: "com.drew.metadata.xmp.XmpReader:269,1"
      Dst: "[java.lang.String].length()"
    - Src: "com.drew.metadata.xmp.XmpReader:284,1"
      Dst: "[com.drew.lang.SequentialByteArrayReader].<init>(byte[])"
    - Src: "com.drew.metadata.xmp.XmpReader:285,1"
      Dst: "[com.drew.lang.SequentialReader].skip(long)"
    - Src: "com.drew.metadata.xmp.XmpReader:286,1"
      Dst: "[com.drew.lang.SequentialReader].getString(int)"
    - Src: "com.drew.metadata.xmp.XmpReader:288,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "com.drew.metadata.xmp.XmpReader:289,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt32()"
    - Src: "com.drew.metadata.xmp.XmpReader:296,1"
      Dst: "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    - Src: "com.drew.metadata.xmp.XmpReader:298,1"
      Dst: "[com.drew.metadata.xmp.XmpDirectory].<init>()"
    - Src: "com.drew.metadata.xmp.XmpReader:299,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.drew.metadata.xmp.XmpReader:299,1"
      Dst: "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - Src: "com.drew.metadata.xmp.XmpReader:299,1"
      Dst: "[com.drew.metadata.Directory].addError(java.lang.String)"
    - Src: "com.drew.metadata.xmp.XmpReader:300,1"
      Dst: "[com.drew.metadata.Metadata].addDirectory(com.drew.metadata.Directory)"
    - Src: "com.drew.metadata.xmp.XmpReader:305,1"
      Dst: "[java.lang.Throwable].getMessage()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 10
    CyclomaticComplexity: 5
  - functionName: "[com.drew.metadata.xmp.XmpReader].extract(java.lang.String,com.drew.metadata.Metadata)"
    functionSourceFile: "com.drew.metadata.xmp.XmpReader"
    linkageType: ""
    functionLinenumber: 191
    functionLinenumberEnd: 194
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "com.drew.metadata.Metadata"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.xmp.XmpReader].extract(java.lang.String,com.drew.metadata.Metadata,com.drew.metadata.Directory)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.xmp.XmpReader:192,1"
      Dst: "[com.drew.metadata.xmp.XmpReader].extract(java.lang.String,com.drew.metadata.Metadata,com.drew.metadata.Directory)"
    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: "[com.drew.metadata.xmp.XmpReader].extract(java.lang.String,com.drew.metadata.Metadata,com.drew.metadata.Directory)"
    functionSourceFile: "com.drew.metadata.xmp.XmpReader"
    linkageType: ""
    functionLinenumber: 211
    functionLinenumberEnd: 227
    functionDepth: 3
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "com.drew.metadata.Metadata"
    - "com.drew.metadata.Directory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.xmp.XmpDirectory].<init>()"
    - "[com.drew.metadata.Directory].setParent(com.drew.metadata.Directory)"
    - "[com.adobe.internal.xmp.XMPMetaFactory].parseFromString(java.lang.String,com.adobe.internal.xmp.options.ParseOptions)"
    - "[com.drew.metadata.xmp.XmpDirectory].setXMPMeta(com.adobe.internal.xmp.XMPMeta)"
    - "[java.lang.StringBuilder].<init>()"
    - "[com.drew.metadata.Directory].addError(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.Throwable].getMessage()"
    - "[java.lang.StringBuilder].toString()"
    - "[com.drew.metadata.Directory].isEmpty()"
    - "[com.drew.metadata.Metadata].addDirectory(com.drew.metadata.Directory)"
    functionUses: 1
    ICount: 24
    EdgeCount: 12
    BranchProfiles:
    - Branch String: "com.drew.metadata.xmp.XmpReader:214"
      Branch Sides:
      - BranchSide: "com.drew.metadata.xmp.XmpReader:218"
        BranchSideFuncs:
        - "setParent(com.drew.metadata.Directory)"
      - BranchSide: "com.drew.metadata.xmp.XmpReader:217"
        BranchSideFuncs:
        - "<init>()"
        - "append(java.lang.String)"
        - "toString()"
        - "addError(java.lang.String)"
        - "getMessage()"
        - "parseFromString(java.lang.String,com.adobe.internal.xmp.options.ParseOptions)"
        - "setXMPMeta(com.adobe.internal.xmp.XMPMeta)"
    - Branch String: "com.drew.metadata.xmp.XmpReader:224"
      Branch Sides:
      - BranchSide: "com.drew.metadata.xmp.XmpReader:226"
        BranchSideFuncs:
        - "addDirectory(com.drew.metadata.Directory)"
      - BranchSide: "com.drew.metadata.xmp.XmpReader:225"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.xmp.XmpReader:212,1"
      Dst: "[com.drew.metadata.xmp.XmpDirectory].<init>()"
    - Src: "com.drew.metadata.xmp.XmpReader:215,1"
      Dst: "[com.drew.metadata.Directory].setParent(com.drew.metadata.Directory)"
    - Src: "com.drew.metadata.xmp.XmpReader:218,1"
      Dst: "[com.adobe.internal.xmp.XMPMetaFactory].parseFromString(java.lang.String,com.adobe.internal.xmp.options.ParseOptions)"
    - Src: "com.drew.metadata.xmp.XmpReader:219,1"
      Dst: "[com.drew.metadata.xmp.XmpDirectory].setXMPMeta(com.adobe.internal.xmp.XMPMeta)"
    - Src: "com.drew.metadata.xmp.XmpReader:221,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.xmp.XmpReader:221,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.xmp.XmpReader:221,1"
      Dst: "[java.lang.Throwable].getMessage()"
    - Src: "com.drew.metadata.xmp.XmpReader:221,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "com.drew.metadata.xmp.XmpReader:221,1"
      Dst: "[com.drew.metadata.Directory].addError(java.lang.String)"
    - Src: "com.drew.metadata.xmp.XmpReader:224,1"
      Dst: "[com.drew.metadata.Directory].isEmpty()"
    - Src: "com.drew.metadata.xmp.XmpReader:225,1"
      Dst: "[com.drew.metadata.Metadata].addDirectory(com.drew.metadata.Directory)"
    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: "[com.drew.metadata.xmp.XmpReader].extract(com.drew.metadata.StringValue,com.drew.metadata.Metadata)"
    functionSourceFile: "com.drew.metadata.xmp.XmpReader"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.metadata.StringValue"
    - "com.drew.metadata.Metadata"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.StringValue].getBytes()"
    - "[com.drew.metadata.xmp.XmpReader].extract(byte[],com.drew.metadata.Metadata,com.drew.metadata.Directory)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.xmp.XmpReader:202,1"
      Dst: "[com.drew.metadata.StringValue].getBytes()"
    - Src: "com.drew.metadata.xmp.XmpReader:202,1"
      Dst: "[com.drew.metadata.xmp.XmpReader].extract(byte[],com.drew.metadata.Metadata,com.drew.metadata.Directory)"
    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: "[com.drew.metadata.StringValue].getBytes()"
    functionSourceFile: "com.drew.metadata.StringValue"
    linkageType: ""
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionDepth: 0
    returnType: "byte[]"
    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: "[com.drew.metadata.jfif.JfifDirectory].<init>()"
    functionSourceFile: "com.drew.metadata.jfif.JfifDirectory"
    linkageType: ""
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].<init>()"
    - "[com.drew.metadata.jfif.JfifDescriptor].<init>(com.drew.metadata.jfif.JfifDirectory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 1
    ICount: 6
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.jfif.JfifDirectory:59,1"
      Dst: "[com.drew.metadata.Directory].<init>()"
    - Src: "com.drew.metadata.jfif.JfifDirectory:60,1"
      Dst: "[com.drew.metadata.jfif.JfifDescriptor].<init>(com.drew.metadata.jfif.JfifDirectory)"
    - Src: "com.drew.metadata.jfif.JfifDirectory:60,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.jfif.JfifDirectory].getName()"
    functionSourceFile: "com.drew.metadata.jfif.JfifDirectory"
    linkageType: ""
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.jfif.JfifDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.jfif.JfifDirectory"
    linkageType: ""
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.jfif.JfifDirectory].getVersion()"
    functionSourceFile: "com.drew.metadata.jfif.JfifDirectory"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInt(int)"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.jfif.JfifDirectory:79,1"
      Dst: "[com.drew.metadata.Directory].getInt(int)"
    JavaMethodInfo:
      exceptions:
      - "com.drew.metadata.MetadataException"
      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: "[com.drew.metadata.jfif.JfifDirectory].getResUnits()"
    functionSourceFile: "com.drew.metadata.jfif.JfifDirectory"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInt(int)"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.jfif.JfifDirectory:84,1"
      Dst: "[com.drew.metadata.Directory].getInt(int)"
    JavaMethodInfo:
      exceptions:
      - "com.drew.metadata.MetadataException"
      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: "[com.drew.metadata.jfif.JfifDirectory].getImageWidth()"
    functionSourceFile: "com.drew.metadata.jfif.JfifDirectory"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInt(int)"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.jfif.JfifDirectory:93,1"
      Dst: "[com.drew.metadata.Directory].getInt(int)"
    JavaMethodInfo:
      exceptions:
      - "com.drew.metadata.MetadataException"
      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: "[com.drew.metadata.jfif.JfifDirectory].getResY()"
    functionSourceFile: "com.drew.metadata.jfif.JfifDirectory"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInt(int)"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.jfif.JfifDirectory:98,1"
      Dst: "[com.drew.metadata.Directory].getInt(int)"
    JavaMethodInfo:
      exceptions:
      - "com.drew.metadata.MetadataException"
      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: "[com.drew.metadata.jfif.JfifDirectory].getImageHeight()"
    functionSourceFile: "com.drew.metadata.jfif.JfifDirectory"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInt(int)"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.jfif.JfifDirectory:107,1"
      Dst: "[com.drew.metadata.Directory].getInt(int)"
    JavaMethodInfo:
      exceptions:
      - "com.drew.metadata.MetadataException"
      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: "[com.drew.metadata.jfif.JfifDirectory].getResX()"
    functionSourceFile: "com.drew.metadata.jfif.JfifDirectory"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInt(int)"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.jfif.JfifDirectory:112,1"
      Dst: "[com.drew.metadata.Directory].getInt(int)"
    JavaMethodInfo:
      exceptions:
      - "com.drew.metadata.MetadataException"
      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: "[com.drew.metadata.exif.ExifIFD0Descriptor].<init>(com.drew.metadata.exif.ExifIFD0Directory)"
    functionSourceFile: "com.drew.metadata.exif.ExifIFD0Descriptor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.exif.ExifIFD0Directory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.ExifDescriptorBase].<init>(com.drew.metadata.Directory)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.ExifIFD0Descriptor:36,1"
      Dst: "[com.drew.metadata.exif.ExifDescriptorBase].<init>(com.drew.metadata.Directory)"
    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: "[com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDirectory)"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor:46,1"
      Dst: "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    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: "[com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor].getDescription(int)"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 52
    functionLinenumberEnd: 74
    functionDepth: 3
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor].getRawDevVersionDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor].getRawDevExposureBiasValueDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor].getRawDevColorSpaceDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor].getRawDevNoiseReductionDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor].getRawDevEngineDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor].getRawDevPictureModeDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor].getRawDevPmBwFilterDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor].getRawDevPmPictureToneDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor].getRawDevArtFilterDescription()"
    - "[com.drew.metadata.TagDescriptor].getDescription(int)"
    functionUses: 1
    ICount: 23
    EdgeCount: 10
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor:55,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor].getRawDevVersionDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor:57,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor].getRawDevExposureBiasValueDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor:59,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor].getRawDevColorSpaceDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor:61,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor].getRawDevNoiseReductionDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor:63,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor].getRawDevEngineDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor:65,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor].getRawDevPictureModeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor:67,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor].getRawDevPmBwFilterDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor:69,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor].getRawDevPmPictureToneDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor:71,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor].getRawDevArtFilterDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor:73,1"
      Dst: "[com.drew.metadata.TagDescriptor].getDescription(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: 11
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor].getRawDevVersionDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getVersionBytesDescription(int,int)"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor:80,1"
      Dst: "[com.drew.metadata.TagDescriptor].getVersionBytesDescription(int,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: "[com.drew.metadata.TagDescriptor].getVersionBytesDescription(int,int)"
    functionSourceFile: "com.drew.metadata.TagDescriptor"
    linkageType: ""
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 2
    argTypes:
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getIntArray(int)"
    - "[com.drew.metadata.TagDescriptor].convertBytesToVersionString(int[],int)"
    functionUses: 20
    ICount: 10
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.drew.metadata.TagDescriptor:131"
      Branch Sides:
      - BranchSide: "com.drew.metadata.TagDescriptor:129"
        BranchSideFuncs:
        - "convertBytesToVersionString(int[],int)"
        - "getIntArray(int)"
    Callsites:
    - Src: "com.drew.metadata.TagDescriptor:130,1"
      Dst: "[com.drew.metadata.Directory].getIntArray(int)"
    - Src: "com.drew.metadata.TagDescriptor:131,1"
      Dst: "[com.drew.metadata.TagDescriptor].convertBytesToVersionString(int[],int)"
    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: "[com.drew.metadata.TagDescriptor].convertBytesToVersionString(int[],int)"
    functionSourceFile: "com.drew.metadata.TagDescriptor"
    linkageType: ""
    functionLinenumber: 110
    functionLinenumberEnd: 125
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 2
    argTypes:
    - "int[]"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 29
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.drew.metadata.TagDescriptor:111"
      Branch Sides:
      - BranchSide: "com.drew.metadata.TagDescriptor:113"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.TagDescriptor:112"
        BranchSideFuncs:
        - "<init>()"
    - Branch String: "com.drew.metadata.TagDescriptor:114"
      Branch Sides:
      - BranchSide: "com.drew.metadata.TagDescriptor:124"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.TagDescriptor:123"
        BranchSideFuncs:
        - "toString()"
    - Branch String: "com.drew.metadata.TagDescriptor:114"
      Branch Sides:
      - BranchSide: "com.drew.metadata.TagDescriptor:124"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.TagDescriptor:123"
        BranchSideFuncs:
        - "toString()"
    - Branch String: "com.drew.metadata.TagDescriptor:115"
      Branch Sides:
      - BranchSide: "com.drew.metadata.TagDescriptor:117"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.TagDescriptor:116"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.TagDescriptor:118"
      Branch Sides:
      - BranchSide: "com.drew.metadata.TagDescriptor:120"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.TagDescriptor:119"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.TagDescriptor:120"
      Branch Sides:
      - BranchSide: "com.drew.metadata.TagDescriptor:122"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.TagDescriptor:121"
        BranchSideFuncs:
        - "append(char)"
    - Branch String: "com.drew.metadata.TagDescriptor:120"
      Branch Sides:
      - BranchSide: "com.drew.metadata.TagDescriptor:122"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.TagDescriptor:121"
        BranchSideFuncs:
        - "append(char)"
    Callsites:
    - Src: "com.drew.metadata.TagDescriptor:113,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.TagDescriptor:116,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "com.drew.metadata.TagDescriptor:124,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: 15
    CyclomaticComplexity: 7
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor].getRawDevExposureBiasValueDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,java.lang.String[])"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor:86,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,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: "[com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor].getRawDevColorSpaceDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor:93,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor].getRawDevNoiseReductionDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 99
    functionLinenumberEnd: 119
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].length()"
    - "[java.lang.StringBuilder].delete(int,int)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 35
    EdgeCount: 12
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor:101"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor:104"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor:103"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor:104"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor:107"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor:106"
        BranchSideFuncs:
        - "<init>()"
        - "intValue()"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor:110"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor:111"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor:110"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor:111"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor:112"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor:111"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor:112"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor:113"
        BranchSideFuncs:
        - "append(java.lang.String)"
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor:112"
        BranchSideFuncs:
        - "append(java.lang.String)"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor:113"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor:114"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor:115"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor:118"
        BranchSideFuncs:
        - "delete(int,int)"
        - "length()"
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor:117"
        BranchSideFuncs:
        - "toString()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor:100,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor:104,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor:107,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor:110,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor:115,1"
      Dst: "[java.lang.StringBuilder].length()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor:116,1"
      Dst: "[java.lang.StringBuilder].delete(int,int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor:118,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: 15
    CyclomaticComplexity: 6
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor].getRawDevEngineDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 8
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor:124,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor].getRawDevPictureModeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 130
    functionLinenumberEnd: 149
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 20
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor:132"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor:135"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor:134"
        BranchSideFuncs:
        - "intValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor:131,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor:135,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor:148,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor:148,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor:148,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor:148,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: 9
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor].getRawDevPmBwFilterDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 154
    functionLinenumberEnd: 156
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 9
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor:155,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor].getRawDevPmPictureToneDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 161
    functionLinenumberEnd: 163
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 9
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor:162,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor].getRawDevArtFilterDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 168
    functionLinenumberEnd: 170
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor].getFilterDescription(int)"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor:169,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor].getFilterDescription(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: "[com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor].getFilterDescription(int)"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 174
    functionLinenumberEnd: 189
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getIntArray(int)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.util.HashMap].containsKey(java.lang.Object)"
    - "[java.util.HashMap].get(java.lang.Object)"
    - "[java.util.LinkedHashMap].get(java.lang.Object)"
    - "[java.lang.Integer].valueOf(int)"
    - "[java.lang.StringBuilder].append(int)"
    - "[java.lang.StringBuilder].length()"
    - "[java.lang.StringBuilder].substring(int,int)"
    functionUses: 1
    ICount: 39
    EdgeCount: 13
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor:176"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor:177"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor:176"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor:176"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor:179"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor:178"
        BranchSideFuncs:
        - "<init>()"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor:180"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor:188"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor:187"
        BranchSideFuncs:
        - "length()"
        - "substring(int,int)"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor:181"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor:184"
        BranchSideFuncs:
        - "containsKey(java.lang.Object)"
        - "valueOf(int)"
        - "get(java.lang.Object)"
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor:183"
        BranchSideFuncs:
        - "append(int)"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor:182"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor:181"
        BranchSideFuncs:
        - "containsKey(java.lang.Object)"
        - "valueOf(int)"
        - "get(java.lang.Object)"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor:175,1"
      Dst: "[com.drew.metadata.Directory].getIntArray(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor:179,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor:182,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor:182,1"
      Dst: "[java.util.HashMap].containsKey(java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor:182,1"
      Dst: "[java.util.HashMap].get(java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor:182,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor:184,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor:188,1"
      Dst: "[java.lang.StringBuilder].length()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor:188,1"
      Dst: "[java.lang.StringBuilder].substring(int,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: 13
    CyclomaticComplexity: 5
  - functionName: "[com.drew.metadata.mp4.media.Mp4SoundDescriptor].<init>(com.drew.metadata.mp4.media.Mp4SoundDirectory)"
    functionSourceFile: "com.drew.metadata.mp4.media.Mp4SoundDescriptor"
    linkageType: ""
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.mp4.media.Mp4SoundDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mp4.media.Mp4SoundDescriptor:29,1"
      Dst: "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    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: "[com.drew.metadata.heif.boxes.ColourInformationBox].<init>(com.drew.lang.SequentialReader,com.drew.metadata.heif.boxes.Box,com.drew.metadata.Metadata)"
    functionSourceFile: "com.drew.metadata.heif.boxes.ColourInformationBox"
    linkageType: ""
    functionLinenumber: 23
    functionLinenumberEnd: 41
    functionDepth: 5
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "com.drew.metadata.heif.boxes.Box"
    - "com.drew.metadata.Metadata"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.heif.boxes.Box].<init>(com.drew.metadata.heif.boxes.Box)"
    - "[com.drew.lang.SequentialReader].getString(int)"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[com.drew.lang.SequentialReader].getUInt16()"
    - "[com.drew.lang.SequentialReader].getUInt8()"
    - "[com.drew.lang.SequentialByteArrayReader].getBytes(int)"
    - "[com.drew.lang.StreamReader].getBytes(int)"
    - "[com.drew.lang.ByteArrayReader].<init>(byte[])"
    - "[com.drew.metadata.icc.IccReader].<init>()"
    - "[com.drew.metadata.icc.IccReader].extract(com.drew.lang.RandomAccessReader,com.drew.metadata.Metadata)"
    - "[com.drew.lang.SequentialReader].getBytes(int)"
    functionUses: 1
    ICount: 48
    EdgeCount: 19
    BranchProfiles:
    - Branch String: "com.drew.metadata.heif.boxes.ColourInformationBox:27"
      Branch Sides:
      - BranchSide: "com.drew.metadata.heif.boxes.ColourInformationBox:33"
        BranchSideFuncs:
        - "getUInt8()"
        - "getUInt16()"
      - BranchSide: "com.drew.metadata.heif.boxes.ColourInformationBox:32"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "com.drew.metadata.heif.boxes.ColourInformationBox:33"
      Branch Sides:
      - BranchSide: "com.drew.metadata.heif.boxes.ColourInformationBox:33"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.heif.boxes.ColourInformationBox:32"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "com.drew.metadata.heif.boxes.ColourInformationBox:33"
      Branch Sides:
      - BranchSide: "com.drew.metadata.heif.boxes.ColourInformationBox:40"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.heif.boxes.ColourInformationBox:39"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.heif.boxes.ColourInformationBox:24,1"
      Dst: "[com.drew.metadata.heif.boxes.Box].<init>(com.drew.metadata.heif.boxes.Box)"
    - Src: "com.drew.metadata.heif.boxes.ColourInformationBox:26,1"
      Dst: "[com.drew.lang.SequentialReader].getString(int)"
    - Src: "com.drew.metadata.heif.boxes.ColourInformationBox:27,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "com.drew.metadata.heif.boxes.ColourInformationBox:28,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt16()"
    - Src: "com.drew.metadata.heif.boxes.ColourInformationBox:32,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt8()"
    - Src: "com.drew.metadata.heif.boxes.ColourInformationBox:34,1"
      Dst: "[com.drew.lang.SequentialReader].getBytes(int)"
    - Src: "com.drew.metadata.heif.boxes.ColourInformationBox:35,1"
      Dst: "[com.drew.metadata.icc.IccReader].<init>()"
    - Src: "com.drew.metadata.heif.boxes.ColourInformationBox:35,1"
      Dst: "[com.drew.lang.ByteArrayReader].<init>(byte[])"
    - Src: "com.drew.metadata.heif.boxes.ColourInformationBox:35,1"
      Dst: "[com.drew.metadata.icc.IccReader].extract(com.drew.lang.RandomAccessReader,com.drew.metadata.Metadata)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.heif.boxes.ColourInformationBox].addMetadata(com.drew.metadata.heif.HeifDirectory)"
    functionSourceFile: "com.drew.metadata.heif.boxes.ColourInformationBox"
    linkageType: ""
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.heif.HeifDirectory"
    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: "[com.drew.metadata.avi.AviDescriptor].<init>(com.drew.metadata.avi.AviDirectory)"
    functionSourceFile: "com.drew.metadata.avi.AviDescriptor"
    linkageType: ""
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.avi.AviDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.avi.AviDescriptor:34,1"
      Dst: "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    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: "[com.drew.metadata.avi.AviDescriptor].getDescription(int)"
    functionSourceFile: "com.drew.metadata.avi.AviDescriptor"
    linkageType: ""
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.avi.AviDescriptor].getSizeDescription(int)"
    - "[com.drew.metadata.TagDescriptor].getDescription(int)"
    functionUses: 1
    ICount: 7
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.avi.AviDescriptor:44,1"
      Dst: "[com.drew.metadata.avi.AviDescriptor].getSizeDescription(int)"
    - Src: "com.drew.metadata.avi.AviDescriptor:46,1"
      Dst: "[com.drew.metadata.TagDescriptor].getDescription(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: 3
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.avi.AviDescriptor].getSizeDescription(int)"
    functionSourceFile: "com.drew.metadata.avi.AviDescriptor"
    linkageType: ""
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[com.drew.metadata.Directory].getString(int)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 11
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.avi.AviDescriptor:51,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.avi.AviDescriptor:51,1"
      Dst: "[com.drew.metadata.Directory].getString(int)"
    - Src: "com.drew.metadata.avi.AviDescriptor:51,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.avi.AviDescriptor:51,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: "[com.drew.metadata.jfxx.JfxxDirectory].<init>()"
    functionSourceFile: "com.drew.metadata.jfxx.JfxxDirectory"
    linkageType: ""
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].<init>()"
    - "[com.drew.metadata.jfxx.JfxxDescriptor].<init>(com.drew.metadata.jfxx.JfxxDirectory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 1
    ICount: 6
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.jfxx.JfxxDirectory:48,1"
      Dst: "[com.drew.metadata.Directory].<init>()"
    - Src: "com.drew.metadata.jfxx.JfxxDirectory:49,1"
      Dst: "[com.drew.metadata.jfxx.JfxxDescriptor].<init>(com.drew.metadata.jfxx.JfxxDirectory)"
    - Src: "com.drew.metadata.jfxx.JfxxDirectory:49,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.jfxx.JfxxDirectory].getName()"
    functionSourceFile: "com.drew.metadata.jfxx.JfxxDirectory"
    linkageType: ""
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.jfxx.JfxxDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.jfxx.JfxxDirectory"
    linkageType: ""
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.jfxx.JfxxDirectory].getExtensionCode()"
    functionSourceFile: "com.drew.metadata.jfxx.JfxxDirectory"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInt(int)"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.jfxx.JfxxDirectory:68,1"
      Dst: "[com.drew.metadata.Directory].getInt(int)"
    JavaMethodInfo:
      exceptions:
      - "com.drew.metadata.MetadataException"
      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: "[com.drew.metadata.exif.makernotes.LeicaMakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.LeicaMakernoteDirectory)"
    functionSourceFile: "com.drew.metadata.exif.makernotes.LeicaMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.exif.makernotes.LeicaMakernoteDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.LeicaMakernoteDescriptor:41,1"
      Dst: "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    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: "[com.drew.metadata.exif.makernotes.LeicaMakernoteDescriptor].getDescription(int)"
    functionSourceFile: "com.drew.metadata.exif.makernotes.LeicaMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 47
    functionLinenumberEnd: 71
    functionDepth: 5
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.makernotes.LeicaMakernoteDescriptor].getQualityDescription()"
    - "[com.drew.metadata.exif.makernotes.LeicaMakernoteDescriptor].getUserProfileDescription()"
    - "[com.drew.metadata.exif.makernotes.LeicaMakernoteDescriptor].getWhiteBalanceDescription()"
    - "[com.drew.metadata.exif.makernotes.LeicaMakernoteDescriptor].getExternalSensorBrightnessValueDescription()"
    - "[com.drew.metadata.exif.makernotes.LeicaMakernoteDescriptor].getMeasuredLvDescription()"
    - "[com.drew.metadata.exif.makernotes.LeicaMakernoteDescriptor].getApproximateFNumberDescription()"
    - "[com.drew.metadata.exif.makernotes.LeicaMakernoteDescriptor].getCameraTemperatureDescription()"
    - "[com.drew.metadata.TagDescriptor].getSimpleRational(int)"
    - "[com.drew.metadata.TagDescriptor].getDescription(int)"
    functionUses: 1
    ICount: 21
    EdgeCount: 9
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.LeicaMakernoteDescriptor:50,1"
      Dst: "[com.drew.metadata.exif.makernotes.LeicaMakernoteDescriptor].getQualityDescription()"
    - Src: "com.drew.metadata.exif.makernotes.LeicaMakernoteDescriptor:52,1"
      Dst: "[com.drew.metadata.exif.makernotes.LeicaMakernoteDescriptor].getUserProfileDescription()"
    - Src: "com.drew.metadata.exif.makernotes.LeicaMakernoteDescriptor:56,1"
      Dst: "[com.drew.metadata.exif.makernotes.LeicaMakernoteDescriptor].getWhiteBalanceDescription()"
    - Src: "com.drew.metadata.exif.makernotes.LeicaMakernoteDescriptor:58,1"
      Dst: "[com.drew.metadata.exif.makernotes.LeicaMakernoteDescriptor].getExternalSensorBrightnessValueDescription()"
    - Src: "com.drew.metadata.exif.makernotes.LeicaMakernoteDescriptor:60,1"
      Dst: "[com.drew.metadata.exif.makernotes.LeicaMakernoteDescriptor].getMeasuredLvDescription()"
    - Src: "com.drew.metadata.exif.makernotes.LeicaMakernoteDescriptor:62,1"
      Dst: "[com.drew.metadata.exif.makernotes.LeicaMakernoteDescriptor].getApproximateFNumberDescription()"
    - Src: "com.drew.metadata.exif.makernotes.LeicaMakernoteDescriptor:64,1"
      Dst: "[com.drew.metadata.exif.makernotes.LeicaMakernoteDescriptor].getCameraTemperatureDescription()"
    - Src: "com.drew.metadata.exif.makernotes.LeicaMakernoteDescriptor:68,1"
      Dst: "[com.drew.metadata.TagDescriptor].getSimpleRational(int)"
    - Src: "com.drew.metadata.exif.makernotes.LeicaMakernoteDescriptor:70,1"
      Dst: "[com.drew.metadata.TagDescriptor].getDescription(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: 10
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.LeicaMakernoteDescriptor].getQualityDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.LeicaMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 125
    functionLinenumberEnd: 127
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,java.lang.String[])"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.LeicaMakernoteDescriptor:126,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,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: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.LeicaMakernoteDescriptor].getUserProfileDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.LeicaMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,java.lang.String[])"
    functionUses: 1
    ICount: 8
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.LeicaMakernoteDescriptor:115,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,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: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.LeicaMakernoteDescriptor].getWhiteBalanceDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.LeicaMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 11
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.LeicaMakernoteDescriptor:101,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.LeicaMakernoteDescriptor].getExternalSensorBrightnessValueDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.LeicaMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionDepth: 4
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getSimpleRational(int)"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.LeicaMakernoteDescriptor:95,1"
      Dst: "[com.drew.metadata.TagDescriptor].getSimpleRational(int)"
    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: "[com.drew.metadata.TagDescriptor].getSimpleRational(int)"
    functionSourceFile: "com.drew.metadata.TagDescriptor"
    linkageType: ""
    functionLinenumber: 166
    functionLinenumberEnd: 171
    functionDepth: 3
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getRational(int)"
    - "[com.drew.lang.Rational].toSimpleString(boolean)"
    functionUses: 4
    ICount: 8
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.drew.metadata.TagDescriptor:168"
      Branch Sides:
      - BranchSide: "com.drew.metadata.TagDescriptor:170"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.TagDescriptor:169"
        BranchSideFuncs:
        - "toSimpleString(boolean)"
    Callsites:
    - Src: "com.drew.metadata.TagDescriptor:167,1"
      Dst: "[com.drew.metadata.Directory].getRational(int)"
    - Src: "com.drew.metadata.TagDescriptor:170,1"
      Dst: "[com.drew.lang.Rational].toSimpleString(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: 3
    CyclomaticComplexity: 1
  - functionName: "[com.drew.lang.Rational].toSimpleString(boolean)"
    functionSourceFile: "com.drew.lang.Rational"
    linkageType: ""
    functionLinenumber: 215
    functionLinenumberEnd: 229
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.Rational].toString()"
    - "[com.drew.lang.Rational].isInteger()"
    - "[com.drew.lang.Rational].intValue()"
    - "[java.lang.Integer].toString(int)"
    - "[com.drew.lang.Rational].getSimplifiedInstance()"
    - "[com.drew.lang.Rational].doubleValue()"
    - "[java.lang.Double].toString(double)"
    - "[java.lang.String].length()"
    functionUses: 18
    ICount: 24
    EdgeCount: 9
    BranchProfiles:
    - Branch String: "com.drew.lang.Rational:216"
      Branch Sides:
      - BranchSide: "com.drew.lang.Rational:218"
        BranchSideFuncs: []
      - BranchSide: "com.drew.lang.Rational:217"
        BranchSideFuncs:
        - "isInteger()"
    - Branch String: "com.drew.lang.Rational:216"
      Branch Sides:
      - BranchSide: "com.drew.lang.Rational:218"
        BranchSideFuncs: []
      - BranchSide: "com.drew.lang.Rational:217"
        BranchSideFuncs:
        - "isInteger()"
    - Branch String: "com.drew.lang.Rational:218"
      Branch Sides:
      - BranchSide: "com.drew.lang.Rational:221"
        BranchSideFuncs:
        - "intValue()"
        - "toString(int)"
      - BranchSide: "com.drew.lang.Rational:220"
        BranchSideFuncs:
        - "getSimplifiedInstance()"
    - Branch String: "com.drew.lang.Rational:222"
      Branch Sides:
      - BranchSide: "com.drew.lang.Rational:228"
        BranchSideFuncs:
        - "doubleValue()"
        - "toString(double)"
        - "length()"
      - BranchSide: "com.drew.lang.Rational:227"
        BranchSideFuncs:
        - "toString()"
    - Branch String: "com.drew.lang.Rational:224"
      Branch Sides:
      - BranchSide: "com.drew.lang.Rational:228"
        BranchSideFuncs: []
      - BranchSide: "com.drew.lang.Rational:227"
        BranchSideFuncs:
        - "toString()"
    Callsites:
    - Src: "com.drew.lang.Rational:217,1"
      Dst: "[com.drew.lang.Rational].toString()"
    - Src: "com.drew.lang.Rational:218,1"
      Dst: "[com.drew.lang.Rational].isInteger()"
    - Src: "com.drew.lang.Rational:219,1"
      Dst: "[com.drew.lang.Rational].intValue()"
    - Src: "com.drew.lang.Rational:219,1"
      Dst: "[java.lang.Integer].toString(int)"
    - Src: "com.drew.lang.Rational:221,1"
      Dst: "[com.drew.lang.Rational].getSimplifiedInstance()"
    - Src: "com.drew.lang.Rational:223,1"
      Dst: "[com.drew.lang.Rational].doubleValue()"
    - Src: "com.drew.lang.Rational:223,1"
      Dst: "[java.lang.Double].toString(double)"
    - Src: "com.drew.lang.Rational:224,1"
      Dst: "[java.lang.String].length()"
    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: "[com.drew.lang.Rational].toString()"
    functionSourceFile: "com.drew.lang.Rational"
    linkageType: ""
    functionLinenumber: 208
    functionLinenumberEnd: 210
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(long)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 21
    ICount: 10
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.lang.Rational:209,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.lang.Rational:209,1"
      Dst: "[java.lang.StringBuilder].append(long)"
    - Src: "com.drew.lang.Rational:209,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.lang.Rational:209,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: "[com.drew.lang.Rational].isInteger()"
    functionSourceFile: "com.drew.lang.Rational"
    linkageType: ""
    functionLinenumber: 182
    functionLinenumberEnd: 184
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 22
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.lang.Rational:183"
      Branch Sides:
      - BranchSide: "com.drew.lang.Rational:182"
        BranchSideFuncs: []
    - Branch String: "com.drew.lang.Rational:183"
      Branch Sides:
      - BranchSide: "com.drew.lang.Rational:182"
        BranchSideFuncs: []
    - Branch String: "com.drew.lang.Rational:183"
      Branch Sides:
      - BranchSide: "com.drew.lang.Rational:182"
        BranchSideFuncs: []
    - Branch String: "com.drew.lang.Rational:183"
      Branch Sides:
      - BranchSide: "com.drew.lang.Rational:-2"
        BranchSideFuncs: []
    - Branch String: "com.drew.lang.Rational:183"
      Branch Sides:
      - BranchSide: "com.drew.lang.Rational:-2"
        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: 8
    CyclomaticComplexity: 6
  - functionName: "[com.drew.lang.Rational].intValue()"
    functionSourceFile: "com.drew.lang.Rational"
    linkageType: ""
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionDepth: 1
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.Rational].doubleValue()"
    functionUses: 8
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.lang.Rational:115,1"
      Dst: "[com.drew.lang.Rational].doubleValue()"
    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: "[com.drew.lang.Rational].doubleValue()"
    functionSourceFile: "com.drew.lang.Rational"
    linkageType: ""
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionDepth: 0
    returnType: "double"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 45
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.lang.Rational:70"
      Branch Sides:
      - BranchSide: "com.drew.lang.Rational:null"
        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: "[com.drew.lang.Rational].getSimplifiedInstance()"
    functionSourceFile: "com.drew.lang.Rational"
    linkageType: ""
    functionLinenumber: 312
    functionLinenumberEnd: 324
    functionDepth: 1
    returnType: "com.drew.lang.Rational"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.Rational].GCD(long,long)"
    - "[com.drew.lang.Rational].<init>(long,long)"
    functionUses: 1
    ICount: 14
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.drew.lang.Rational:316"
      Branch Sides:
      - BranchSide: "com.drew.lang.Rational:321"
        BranchSideFuncs: []
      - BranchSide: "com.drew.lang.Rational:320"
        BranchSideFuncs:
        - "GCD(long,long)"
        - "<init>(long,long)"
    Callsites:
    - Src: "com.drew.lang.Rational:321,1"
      Dst: "[com.drew.lang.Rational].GCD(long,long)"
    - Src: "com.drew.lang.Rational:323,1"
      Dst: "[com.drew.lang.Rational].<init>(long,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: 3
    CyclomaticComplexity: 2
  - functionName: "[com.drew.lang.Rational].GCD(long,long)"
    functionSourceFile: "com.drew.lang.Rational"
    linkageType: ""
    functionLinenumber: 327
    functionLinenumberEnd: 342
    functionDepth: 0
    returnType: "long"
    argCount: 2
    argTypes:
    - "long"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 27
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.lang.Rational:328"
      Branch Sides:
      - BranchSide: "com.drew.lang.Rational:330"
        BranchSideFuncs: []
      - BranchSide: "com.drew.lang.Rational:329"
        BranchSideFuncs: []
    - Branch String: "com.drew.lang.Rational:330"
      Branch Sides:
      - BranchSide: "com.drew.lang.Rational:333"
        BranchSideFuncs: []
      - BranchSide: "com.drew.lang.Rational:332"
        BranchSideFuncs: []
    - Branch String: "com.drew.lang.Rational:333"
      Branch Sides:
      - BranchSide: "com.drew.lang.Rational:340"
        BranchSideFuncs: []
    - Branch String: "com.drew.lang.Rational:333"
      Branch Sides:
      - BranchSide: "com.drew.lang.Rational:340"
        BranchSideFuncs: []
    - Branch String: "com.drew.lang.Rational:335"
      Branch Sides:
      - BranchSide: "com.drew.lang.Rational:338"
        BranchSideFuncs: []
      - BranchSide: "com.drew.lang.Rational:337"
        BranchSideFuncs: []
    - Branch String: "com.drew.lang.Rational:341"
      Branch Sides:
      - BranchSide: "com.drew.lang.Rational:340"
        BranchSideFuncs: []
    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: 13
    CyclomaticComplexity: 7
  - functionName: "[com.drew.metadata.exif.makernotes.LeicaMakernoteDescriptor].getMeasuredLvDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.LeicaMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionDepth: 4
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getSimpleRational(int)"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.LeicaMakernoteDescriptor:89,1"
      Dst: "[com.drew.metadata.TagDescriptor].getSimpleRational(int)"
    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: "[com.drew.metadata.exif.makernotes.LeicaMakernoteDescriptor].getApproximateFNumberDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.LeicaMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionDepth: 4
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getSimpleRational(int)"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.LeicaMakernoteDescriptor:83,1"
      Dst: "[com.drew.metadata.TagDescriptor].getSimpleRational(int)"
    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: "[com.drew.metadata.exif.makernotes.LeicaMakernoteDescriptor].getCameraTemperatureDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.LeicaMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getFormattedInt(int,java.lang.String)"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.LeicaMakernoteDescriptor:77,1"
      Dst: "[com.drew.metadata.TagDescriptor].getFormattedInt(int,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: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.heif.boxes.Box].<init>(com.drew.lang.SequentialReader)"
    functionSourceFile: "com.drew.metadata.heif.boxes.Box"
    linkageType: ""
    functionLinenumber: 36
    functionLinenumberEnd: 49
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.lang.SequentialReader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[com.drew.lang.SequentialReader].getUInt32()"
    - "[com.drew.lang.SequentialReader].getString(int)"
    - "[com.drew.lang.SequentialReader].getInt64()"
    - "[java.lang.String].equals(java.lang.Object)"
    functionUses: 3
    ICount: 23
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "com.drew.metadata.heif.boxes.Box:40"
      Branch Sides:
      - BranchSide: "com.drew.metadata.heif.boxes.Box:42"
        BranchSideFuncs:
        - "getInt64()"
      - BranchSide: "com.drew.metadata.heif.boxes.Box:41"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.heif.boxes.Box:42"
      Branch Sides:
      - BranchSide: "com.drew.metadata.heif.boxes.Box:45"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.heif.boxes.Box:44"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "com.drew.metadata.heif.boxes.Box:45"
      Branch Sides:
      - BranchSide: "com.drew.metadata.heif.boxes.Box:48"
        BranchSideFuncs:
        - "getString(int)"
      - BranchSide: "com.drew.metadata.heif.boxes.Box:47"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.heif.boxes.Box:37,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.drew.metadata.heif.boxes.Box:38,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt32()"
    - Src: "com.drew.metadata.heif.boxes.Box:39,1"
      Dst: "[com.drew.lang.SequentialReader].getString(int)"
    - Src: "com.drew.metadata.heif.boxes.Box:41,1"
      Dst: "[com.drew.lang.SequentialReader].getInt64()"
    - Src: "com.drew.metadata.heif.boxes.Box:45,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.Schema].<init>()"
    functionSourceFile: "com.drew.metadata.Schema"
    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: "com.drew.metadata.Schema: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: "[com.drew.metadata.exif.ExifThumbnailDirectory].<init>(int)"
    functionSourceFile: "com.drew.metadata.exif.ExifThumbnailDirectory"
    linkageType: ""
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.ExifDirectoryBase].<init>()"
    - "[com.drew.metadata.exif.ExifThumbnailDescriptor].<init>(com.drew.metadata.exif.ExifThumbnailDirectory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 1
    ICount: 8
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.ExifThumbnailDirectory:69,1"
      Dst: "[com.drew.metadata.exif.ExifDirectoryBase].<init>()"
    - Src: "com.drew.metadata.exif.ExifThumbnailDirectory:71,1"
      Dst: "[com.drew.metadata.exif.ExifThumbnailDescriptor].<init>(com.drew.metadata.exif.ExifThumbnailDirectory)"
    - Src: "com.drew.metadata.exif.ExifThumbnailDirectory:71,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.exif.ExifThumbnailDirectory].getName()"
    functionSourceFile: "com.drew.metadata.exif.ExifThumbnailDirectory"
    linkageType: ""
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.exif.ExifThumbnailDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.exif.ExifThumbnailDirectory"
    linkageType: ""
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.ExifThumbnailDirectory].getExifStartOffset()"
    functionSourceFile: "com.drew.metadata.exif.ExifThumbnailDirectory"
    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: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.ExifThumbnailDirectory].getAdjustedThumbnailOffset()"
    functionSourceFile: "com.drew.metadata.exif.ExifThumbnailDirectory"
    linkageType: ""
    functionLinenumber: 109
    functionLinenumberEnd: 117
    functionDepth: 0
    returnType: "java.lang.Integer"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.Integer].valueOf(int)"
    functionUses: 1
    ICount: 9
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.ExifThumbnailDirectory:112"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifThumbnailDirectory:116"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.ExifThumbnailDirectory:115"
        BranchSideFuncs:
        - "intValue()"
        - "valueOf(int)"
    Callsites:
    - Src: "com.drew.metadata.exif.ExifThumbnailDirectory:110,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.ExifThumbnailDirectory:116,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.ExifThumbnailDirectory:116,1"
      Dst: "[java.lang.Integer].valueOf(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: 3
    CyclomaticComplexity: 1
  - functionName: "[com.drew.lang.Charsets].<init>()"
    functionSourceFile: "com.drew.lang.Charsets"
    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: "com.drew.lang.Charsets:32,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: "[com.drew.metadata.heif.HeifBoxTypes].<init>()"
    functionSourceFile: "com.drew.metadata.heif.HeifBoxTypes"
    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: "com.drew.metadata.heif.HeifBoxTypes:28,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: "[com.drew.metadata.exif.makernotes.SanyoMakernoteDirectory].<init>()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SanyoMakernoteDirectory"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].<init>()"
    - "[com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.SanyoMakernoteDirectory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SanyoMakernoteDirectory:108,1"
      Dst: "[com.drew.metadata.Directory].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.SanyoMakernoteDirectory:109,1"
      Dst: "[com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.SanyoMakernoteDirectory)"
    - Src: "com.drew.metadata.exif.makernotes.SanyoMakernoteDirectory:109,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.exif.makernotes.SanyoMakernoteDirectory].getName()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SanyoMakernoteDirectory"
    linkageType: ""
    functionLinenumber: 115
    functionLinenumberEnd: 117
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.exif.makernotes.SanyoMakernoteDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SanyoMakernoteDirectory"
    linkageType: ""
    functionLinenumber: 122
    functionLinenumberEnd: 124
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.mp4.Mp4Dictionary].<init>()"
    functionSourceFile: "com.drew.metadata.mp4.Mp4Dictionary"
    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: "com.drew.metadata.mp4.Mp4Dictionary:28,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: "[com.drew.metadata.mp4.Mp4Dictionary].lookup(int,java.lang.String)"
    functionSourceFile: "com.drew.metadata.mp4.Mp4Dictionary"
    linkageType: ""
    functionLinenumber: 274
    functionLinenumberEnd: 279
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 2
    argTypes:
    - "int"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.HashMap].containsKey(java.lang.Object)"
    - "[java.util.HashMap].get(java.lang.Object)"
    - "[java.util.LinkedHashMap].get(java.lang.Object)"
    - "[java.lang.Integer].valueOf(int)"
    functionUses: 3
    ICount: 20
    EdgeCount: 11
    BranchProfiles:
    - Branch String: "com.drew.metadata.mp4.Mp4Dictionary:275"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mp4.Mp4Dictionary:278"
        BranchSideFuncs:
        - "valueOf(int)"
        - "get(java.lang.Object)"
      - BranchSide: "com.drew.metadata.mp4.Mp4Dictionary:277"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mp4.Mp4Dictionary:275"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mp4.Mp4Dictionary:278"
        BranchSideFuncs:
        - "valueOf(int)"
        - "get(java.lang.Object)"
      - BranchSide: "com.drew.metadata.mp4.Mp4Dictionary:277"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.mp4.Mp4Dictionary:275,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.drew.metadata.mp4.Mp4Dictionary:275,1"
      Dst: "[java.util.HashMap].containsKey(java.lang.Object)"
    - Src: "com.drew.metadata.mp4.Mp4Dictionary:275,1"
      Dst: "[java.util.HashMap].get(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: "[com.drew.metadata.mp4.Mp4Dictionary].setLookup(int,java.lang.String,com.drew.metadata.mp4.Mp4Directory)"
    functionSourceFile: "com.drew.metadata.mp4.Mp4Dictionary"
    linkageType: ""
    functionLinenumber: 283
    functionLinenumberEnd: 287
    functionDepth: 1
    returnType: "void"
    argCount: 3
    argTypes:
    - "int"
    - "java.lang.String"
    - "com.drew.metadata.mp4.Mp4Directory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mp4.Mp4Dictionary].lookup(int,java.lang.String)"
    - "[com.drew.metadata.Directory].setString(int,java.lang.String)"
    functionUses: 2
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mp4.Mp4Dictionary:284,1"
      Dst: "[com.drew.metadata.mp4.Mp4Dictionary].lookup(int,java.lang.String)"
    - Src: "com.drew.metadata.mp4.Mp4Dictionary:285,1"
      Dst: "[com.drew.metadata.Directory].setString(int,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: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.photoshop.Subpath].<init>()"
    functionSourceFile: "com.drew.metadata.photoshop.Subpath"
    linkageType: ""
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.photoshop.Subpath].<init>(java.lang.String)"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.photoshop.Subpath:23,1"
      Dst: "[com.drew.metadata.photoshop.Subpath].<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: "[com.drew.metadata.photoshop.Subpath].<init>(java.lang.String)"
    functionSourceFile: "com.drew.metadata.photoshop.Subpath"
    linkageType: ""
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].<init>()"
    - "[java.lang.Object].<init>()"
    functionUses: 3
    ICount: 8
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.photoshop.Subpath:27,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.drew.metadata.photoshop.Subpath:18,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: "[com.drew.metadata.photoshop.Subpath].add(com.drew.metadata.photoshop.Knot)"
    functionSourceFile: "com.drew.metadata.photoshop.Subpath"
    linkageType: ""
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.photoshop.Knot"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].add(java.lang.Object)"
    functionUses: 2
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.photoshop.Subpath:36,1"
      Dst: "[java.util.ArrayList].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: "[com.drew.metadata.photoshop.Subpath].size()"
    functionSourceFile: "com.drew.metadata.photoshop.Subpath"
    linkageType: ""
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].size()"
    functionUses: 4
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.photoshop.Subpath:46,1"
      Dst: "[java.util.ArrayList].size()"
    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: "[com.drew.metadata.photoshop.Subpath].getKnots()"
    functionSourceFile: "com.drew.metadata.photoshop.Subpath"
    linkageType: ""
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionDepth: 0
    returnType: "java.lang.Iterable"
    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: "[com.drew.metadata.photoshop.Subpath].getType()"
    functionSourceFile: "com.drew.metadata.photoshop.Subpath"
    linkageType: ""
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionDepth: 0
    returnType: "java.lang.String"
    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: "[com.drew.metadata.ico.IcoDirectory].<init>()"
    functionSourceFile: "com.drew.metadata.ico.IcoDirectory"
    linkageType: ""
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].<init>()"
    - "[com.drew.metadata.ico.IcoDescriptor].<init>(com.drew.metadata.ico.IcoDirectory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 5
    ICount: 6
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.ico.IcoDirectory:63,1"
      Dst: "[com.drew.metadata.Directory].<init>()"
    - Src: "com.drew.metadata.ico.IcoDirectory:64,1"
      Dst: "[com.drew.metadata.ico.IcoDescriptor].<init>(com.drew.metadata.ico.IcoDirectory)"
    - Src: "com.drew.metadata.ico.IcoDirectory:64,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.ico.IcoDirectory].getName()"
    functionSourceFile: "com.drew.metadata.ico.IcoDirectory"
    linkageType: ""
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.ico.IcoDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.ico.IcoDirectory"
    linkageType: ""
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.mp4.media.Mp4VideoHandler].<init>(com.drew.metadata.Metadata,com.drew.metadata.mp4.Mp4Context)"
    functionSourceFile: "com.drew.metadata.mp4.media.Mp4VideoHandler"
    linkageType: ""
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.metadata.Metadata"
    - "com.drew.metadata.mp4.Mp4Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mp4.Mp4MediaHandler].<init>(com.drew.metadata.Metadata,com.drew.metadata.mp4.Mp4Context)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mp4.media.Mp4VideoHandler:38,1"
      Dst: "[com.drew.metadata.mp4.Mp4MediaHandler].<init>(com.drew.metadata.Metadata,com.drew.metadata.mp4.Mp4Context)"
    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: "[com.drew.metadata.mp4.media.Mp4VideoHandler].getMediaInformation()"
    functionSourceFile: "com.drew.metadata.mp4.media.Mp4VideoHandler"
    linkageType: ""
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 2
    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: "[com.drew.metadata.mp4.media.Mp4VideoHandler].getDirectory()"
    functionSourceFile: "com.drew.metadata.mp4.media.Mp4VideoHandler"
    linkageType: ""
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionDepth: 3
    returnType: "com.drew.metadata.mp4.media.Mp4VideoDirectory"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mp4.media.Mp4VideoDirectory].<init>()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mp4.media.Mp4VideoHandler:51,1"
      Dst: "[com.drew.metadata.mp4.media.Mp4VideoDirectory].<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: "[com.drew.metadata.mp4.media.Mp4VideoDirectory].<init>()"
    functionSourceFile: "com.drew.metadata.mp4.media.Mp4VideoDirectory"
    linkageType: ""
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mp4.media.Mp4MediaDirectory].<init>()"
    - "[com.drew.metadata.mp4.media.Mp4VideoDescriptor].<init>(com.drew.metadata.mp4.media.Mp4VideoDirectory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 1
    ICount: 6
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mp4.media.Mp4VideoDirectory:48,1"
      Dst: "[com.drew.metadata.mp4.media.Mp4MediaDirectory].<init>()"
    - Src: "com.drew.metadata.mp4.media.Mp4VideoDirectory:49,1"
      Dst: "[com.drew.metadata.mp4.media.Mp4VideoDescriptor].<init>(com.drew.metadata.mp4.media.Mp4VideoDirectory)"
    - Src: "com.drew.metadata.mp4.media.Mp4VideoDirectory:49,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.mp4.media.Mp4VideoDescriptor].<init>(com.drew.metadata.mp4.media.Mp4VideoDirectory)"
    functionSourceFile: "com.drew.metadata.mp4.media.Mp4VideoDescriptor"
    linkageType: ""
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.mp4.media.Mp4VideoDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mp4.media.Mp4VideoDescriptor:32,1"
      Dst: "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    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: "[com.drew.metadata.mp4.media.Mp4VideoHandler].processSampleDescription(com.drew.lang.SequentialReader)"
    functionSourceFile: "com.drew.metadata.mp4.media.Mp4VideoHandler"
    linkageType: ""
    functionLinenumber: 58
    functionLinenumberEnd: 108
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.lang.SequentialReader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.StreamReader].skip(long)"
    - "[com.drew.lang.SequentialByteArrayReader].skip(long)"
    - "[com.drew.lang.SequentialReader].getUInt32()"
    - "[com.drew.lang.SequentialReader].getString(int)"
    - "[com.drew.lang.SequentialReader].getUInt16()"
    - "[com.drew.lang.SequentialReader].getInt16()"
    - "[com.drew.lang.SequentialReader].getInt32()"
    - "[com.drew.metadata.mp4.Mp4Dictionary].setLookup(int,java.lang.String,com.drew.metadata.mp4.Mp4Directory)"
    - "[com.drew.metadata.Directory].setInt(int,int)"
    - "[java.lang.String].trim()"
    - "[java.lang.String].isEmpty()"
    - "[com.drew.metadata.Directory].setString(int,java.lang.String)"
    - "[java.lang.Math].pow(double,double)"
    - "[com.drew.metadata.Directory].setDouble(int,double)"
    - "[com.drew.lang.SequentialReader].skip(long)"
    functionUses: 1
    ICount: 62
    EdgeCount: 35
    BranchProfiles:
    - Branch String: "com.drew.metadata.mp4.media.Mp4VideoHandler:93"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mp4.media.Mp4VideoHandler:97"
        BranchSideFuncs:
        - "setString(int,java.lang.String)"
      - BranchSide: "com.drew.metadata.mp4.media.Mp4VideoHandler:96"
        BranchSideFuncs:
        - "setDouble(int,double)"
        - "pow(double,double)"
        - "setInt(int,int)"
    Callsites:
    - Src: "com.drew.metadata.mp4.media.Mp4VideoHandler:59,1"
      Dst: "[com.drew.lang.SequentialReader].skip(long)"
    - Src: "com.drew.metadata.mp4.media.Mp4VideoHandler:63,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt32()"
    - Src: "com.drew.metadata.mp4.media.Mp4VideoHandler:65,1"
      Dst: "[com.drew.lang.SequentialReader].getString(int)"
    - Src: "com.drew.metadata.mp4.media.Mp4VideoHandler:67,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt16()"
    - Src: "com.drew.metadata.mp4.media.Mp4VideoHandler:71,1"
      Dst: "[com.drew.lang.SequentialReader].getInt16()"
    - Src: "com.drew.metadata.mp4.media.Mp4VideoHandler:74,1"
      Dst: "[com.drew.lang.SequentialReader].getInt32()"
    - Src: "com.drew.metadata.mp4.media.Mp4VideoHandler:87,1"
      Dst: "[com.drew.metadata.mp4.Mp4Dictionary].setLookup(int,java.lang.String,com.drew.metadata.mp4.Mp4Directory)"
    - Src: "com.drew.metadata.mp4.media.Mp4VideoHandler:89,1"
      Dst: "[com.drew.metadata.Directory].setInt(int,int)"
    - Src: "com.drew.metadata.mp4.media.Mp4VideoHandler:92,1"
      Dst: "[java.lang.String].trim()"
    - Src: "com.drew.metadata.mp4.media.Mp4VideoHandler:93,1"
      Dst: "[java.lang.String].isEmpty()"
    - Src: "com.drew.metadata.mp4.media.Mp4VideoHandler:94,1"
      Dst: "[com.drew.metadata.Directory].setString(int,java.lang.String)"
    - Src: "com.drew.metadata.mp4.media.Mp4VideoHandler:101,1"
      Dst: "[java.lang.Math].pow(double,double)"
    - Src: "com.drew.metadata.mp4.media.Mp4VideoHandler:102,1"
      Dst: "[com.drew.metadata.Directory].setDouble(int,double)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.mp4.media.Mp4VideoHandler].processMediaInformation(com.drew.lang.SequentialReader)"
    functionSourceFile: "com.drew.metadata.mp4.media.Mp4VideoHandler"
    linkageType: ""
    functionLinenumber: 113
    functionLinenumberEnd: 124
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.lang.SequentialReader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.SequentialByteArrayReader].skip(long)"
    - "[com.drew.lang.StreamReader].skip(long)"
    - "[com.drew.lang.SequentialReader].getUInt16()"
    - "[com.drew.metadata.Directory].setIntArray(int,int[])"
    - "[com.drew.metadata.Directory].setInt(int,int)"
    - "[com.drew.lang.SequentialReader].skip(long)"
    functionUses: 1
    ICount: 18
    EdgeCount: 8
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mp4.media.Mp4VideoHandler:114,1"
      Dst: "[com.drew.lang.SequentialReader].skip(long)"
    - Src: "com.drew.metadata.mp4.media.Mp4VideoHandler:118,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt16()"
    - Src: "com.drew.metadata.mp4.media.Mp4VideoHandler:121,1"
      Dst: "[com.drew.metadata.Directory].setIntArray(int,int[])"
    - Src: "com.drew.metadata.mp4.media.Mp4VideoHandler:122,1"
      Dst: "[com.drew.metadata.Directory].setInt(int,int)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.mp4.media.Mp4VideoHandler].processTimeToSample(com.drew.lang.SequentialReader,com.drew.metadata.mp4.Mp4Context)"
    functionSourceFile: "com.drew.metadata.mp4.media.Mp4VideoHandler"
    linkageType: ""
    functionLinenumber: 129
    functionLinenumberEnd: 148
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "com.drew.metadata.mp4.Mp4Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.SequentialByteArrayReader].skip(long)"
    - "[com.drew.lang.StreamReader].skip(long)"
    - "[com.drew.lang.SequentialReader].getUInt32()"
    - "[java.lang.Long].longValue()"
    - "[com.drew.metadata.Directory].setFloat(int,float)"
    - "[com.drew.lang.SequentialReader].skip(long)"
    functionUses: 1
    ICount: 33
    EdgeCount: 9
    BranchProfiles:
    - Branch String: "com.drew.metadata.mp4.media.Mp4VideoHandler:138"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mp4.media.Mp4VideoHandler:142"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mp4.media.Mp4VideoHandler:143"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mp4.media.Mp4VideoHandler:147"
        BranchSideFuncs:
        - "longValue()"
        - "setFloat(int,float)"
      - BranchSide: "com.drew.metadata.mp4.media.Mp4VideoHandler:146"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mp4.media.Mp4VideoHandler:143"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mp4.media.Mp4VideoHandler:147"
        BranchSideFuncs:
        - "longValue()"
        - "setFloat(int,float)"
      - BranchSide: "com.drew.metadata.mp4.media.Mp4VideoHandler:146"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.mp4.media.Mp4VideoHandler:130,1"
      Dst: "[com.drew.lang.SequentialReader].skip(long)"
    - Src: "com.drew.metadata.mp4.media.Mp4VideoHandler:136,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt32()"
    - Src: "com.drew.metadata.mp4.media.Mp4VideoHandler:144,1"
      Dst: "[java.lang.Long].longValue()"
    - Src: "com.drew.metadata.mp4.media.Mp4VideoHandler:145,1"
      Dst: "[com.drew.metadata.Directory].setFloat(int,float)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.wav.WavDirectory].<init>()"
    functionSourceFile: "com.drew.metadata.wav.WavDirectory"
    linkageType: ""
    functionLinenumber: 322
    functionLinenumberEnd: 326
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].<init>()"
    - "[com.drew.metadata.wav.WavDescriptor].<init>(com.drew.metadata.wav.WavDirectory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 1
    ICount: 6
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.wav.WavDirectory:323,1"
      Dst: "[com.drew.metadata.Directory].<init>()"
    - Src: "com.drew.metadata.wav.WavDirectory:324,1"
      Dst: "[com.drew.metadata.wav.WavDescriptor].<init>(com.drew.metadata.wav.WavDirectory)"
    - Src: "com.drew.metadata.wav.WavDirectory:324,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.wav.WavDirectory].getName()"
    functionSourceFile: "com.drew.metadata.wav.WavDirectory"
    linkageType: ""
    functionLinenumber: 330
    functionLinenumberEnd: 332
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.wav.WavDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.wav.WavDirectory"
    linkageType: ""
    functionLinenumber: 337
    functionLinenumberEnd: 339
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.heif.boxes.ItemProtectionBox$ProtectionSchemeInfoBox].<init>(com.drew.lang.SequentialReader,com.drew.metadata.heif.boxes.Box)"
    functionSourceFile: "com.drew.metadata.heif.boxes.ItemProtectionBox$ProtectionSchemeInfoBox"
    linkageType: ""
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "com.drew.metadata.heif.boxes.Box"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.heif.boxes.Box].<init>(com.drew.metadata.heif.boxes.Box)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.heif.boxes.ItemProtectionBox$ProtectionSchemeInfoBox:51,1"
      Dst: "[com.drew.metadata.heif.boxes.Box].<init>(com.drew.metadata.heif.boxes.Box)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.exif.ExifInteropDescriptor].<init>(com.drew.metadata.exif.ExifInteropDirectory)"
    functionSourceFile: "com.drew.metadata.exif.ExifInteropDescriptor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.exif.ExifInteropDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.ExifDescriptorBase].<init>(com.drew.metadata.Directory)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.ExifInteropDescriptor:35,1"
      Dst: "[com.drew.metadata.exif.ExifDescriptorBase].<init>(com.drew.metadata.Directory)"
    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: "[com.drew.metadata.gif.GifControlDirectory$DisposalMethod].values()"
    functionSourceFile: "com.drew.metadata.gif.GifControlDirectory$DisposalMethod"
    linkageType: ""
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionDepth: 0
    returnType: "com.drew.metadata.gif.GifControlDirectory$DisposalMethod[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.adobe.internal.xmp.impl.XMPNode].clone()"
    - "[com.adobe.internal.xmp.options.SerializeOptions].clone()"
    - "[com.adobe.internal.xmp.impl.XMPMetaImpl].clone()"
    - "[java.lang.Enum].clone()"
    - "[java.lang.Thread].clone()"
    - "[java.lang.Object:java.lang.invoke.MemberName:java.lang.ref.Reference:java.net.HttpCookie:java.security.MessageDigest:java.security.MessageDigestSpi:java.security.Signature:java.security.SignatureSpi:java.text.BreakIterator:java.text.Collator:java.text.DateFormat:java.text.DateFormatSymbols:java.text.DecimalFormat:java.text.DecimalFormatSymbols:java.text.DigitList:java.text.Format:java.text.MessageFormat:java.text.NumberFormat:java.text.SimpleDateFormat:java.util.AbstractMap:java.util.ArrayDeque:java.util.ArrayList:java.util.Calendar:java.util.Date:java.util.EnumSet:java.util.GregorianCalendar:java.util.HashMap:java.util.HashSet:java.util.Hashtable:java.util.Hashtable$Entry:java.util.IdentityHashMap:java.util.LinkedList:java.util.Locale:java.util.Properties:java.util.SimpleTimeZone:java.util.TimeZone:java.util.TreeMap:java.util.TreeSet:java.util.Vector:java.util.concurrent.CopyOnWriteArrayList:java.util.jar.Attributes:java.util.jar.Manifest:java.util.zip.ZipEntry:sun.util.calendar.CalendarDate].clone()"
    - "[java.lang.Object].clone()"
    functionUses: 1
    ICount: 4
    EdgeCount: 6
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.gif.GifControlDirectory$DisposalMethod:92,1"
      Dst: "[java.lang.Object].clone()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.gif.GifControlDirectory$DisposalMethod].valueOf(java.lang.String)"
    functionSourceFile: "com.drew.metadata.gif.GifControlDirectory$DisposalMethod"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.drew.metadata.gif.GifControlDirectory$DisposalMethod"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].valueOf(java.lang.Class,java.lang.String)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.gif.GifControlDirectory$DisposalMethod:92,1"
      Dst: "[java.lang.Enum].valueOf(java.lang.Class,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: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.gif.GifControlDirectory$DisposalMethod].<init>(java.lang.String,int)"
    functionSourceFile: "com.drew.metadata.gif.GifControlDirectory$DisposalMethod"
    linkageType: ""
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].<init>(java.lang.String,int)"
    functionUses: 6
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.gif.GifControlDirectory$DisposalMethod:92,1"
      Dst: "[java.lang.Enum].<init>(java.lang.String,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.gif.GifControlDirectory$DisposalMethod].typeOf(int)"
    functionSourceFile: "com.drew.metadata.gif.GifControlDirectory$DisposalMethod"
    linkageType: ""
    functionLinenumber: 100
    functionLinenumberEnd: 111
    functionDepth: 0
    returnType: "com.drew.metadata.gif.GifControlDirectory$DisposalMethod"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 14
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: true
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.gif.GifControlDirectory$DisposalMethod].toString()"
    functionSourceFile: "com.drew.metadata.gif.GifControlDirectory$DisposalMethod"
    linkageType: ""
    functionLinenumber: 115
    functionLinenumberEnd: 131
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].ordinal()"
    - "[java.lang.Enum].toString()"
    functionUses: 14
    ICount: 13
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.gif.GifControlDirectory$DisposalMethod:116,1"
      Dst: "[java.lang.Enum].ordinal()"
    - Src: "com.drew.metadata.gif.GifControlDirectory$DisposalMethod:130,1"
      Dst: "[java.lang.Enum].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: true
    BBCount: 8
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.gif.GifControlDirectory$DisposalMethod].$values()"
    functionSourceFile: "com.drew.metadata.gif.GifControlDirectory$DisposalMethod"
    linkageType: ""
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionDepth: 0
    returnType: "com.drew.metadata.gif.GifControlDirectory$DisposalMethod[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 14
    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: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.heif.boxes.ItemLocationBox].<init>(com.drew.lang.SequentialReader,com.drew.metadata.heif.boxes.Box)"
    functionSourceFile: "com.drew.metadata.heif.boxes.ItemLocationBox"
    linkageType: ""
    functionLinenumber: 51
    functionLinenumberEnd: 103
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "com.drew.metadata.heif.boxes.Box"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.TreeSet].<init>(java.util.Comparator)"
    - "[com.drew.metadata.heif.boxes.ItemLocationBox$1].<init>(com.drew.metadata.heif.boxes.ItemLocationBox)"
    - "[com.drew.metadata.heif.boxes.FullBox].<init>(com.drew.lang.SequentialReader,com.drew.metadata.heif.boxes.Box)"
    - "[com.drew.lang.SequentialReader].getUInt8()"
    - "[com.drew.lang.SequentialReader].getUInt16()"
    - "[com.drew.lang.SequentialReader].getUInt32()"
    - "[com.drew.lang.SequentialReader].getInt32()"
    - "[com.drew.lang.SequentialReader].getInt64()"
    - "[com.drew.metadata.heif.boxes.ItemLocationBox].getIntFromUnknownByte(int,com.drew.lang.SequentialReader)"
    - "[java.lang.Long].longValue()"
    - "[com.drew.metadata.heif.boxes.ItemLocationBox$Extent].<init>(long,java.lang.Long,long,long)"
    - "[java.util.AbstractCollection:java.util.TreeSet].add(java.lang.Object)"
    - "[java.util.Set].add(java.lang.Object)"
    functionUses: 1
    ICount: 108
    EdgeCount: 21
    BranchProfiles:
    - Branch String: "com.drew.metadata.heif.boxes.ItemLocationBox:60"
      Branch Sides:
      - BranchSide: "com.drew.metadata.heif.boxes.ItemLocationBox:61"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.heif.boxes.ItemLocationBox:60"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.heif.boxes.ItemLocationBox:60"
      Branch Sides:
      - BranchSide: "com.drew.metadata.heif.boxes.ItemLocationBox:65"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.heif.boxes.ItemLocationBox:64"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.heif.boxes.ItemLocationBox:65"
      Branch Sides:
      - BranchSide: "com.drew.metadata.heif.boxes.ItemLocationBox:67"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.heif.boxes.ItemLocationBox:66"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.heif.boxes.ItemLocationBox:67"
      Branch Sides:
      - BranchSide: "com.drew.metadata.heif.boxes.ItemLocationBox:70"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.heif.boxes.ItemLocationBox:69"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.heif.boxes.ItemLocationBox:70"
      Branch Sides:
      - BranchSide: "com.drew.metadata.heif.boxes.ItemLocationBox:102"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.heif.boxes.ItemLocationBox:101"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.heif.boxes.ItemLocationBox:71"
      Branch Sides:
      - BranchSide: "com.drew.metadata.heif.boxes.ItemLocationBox:73"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.heif.boxes.ItemLocationBox:72"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.heif.boxes.ItemLocationBox:73"
      Branch Sides:
      - BranchSide: "com.drew.metadata.heif.boxes.ItemLocationBox:76"
        BranchSideFuncs:
        - "getUInt32()"
      - BranchSide: "com.drew.metadata.heif.boxes.ItemLocationBox:75"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.heif.boxes.ItemLocationBox:76"
      Branch Sides:
      - BranchSide: "com.drew.metadata.heif.boxes.ItemLocationBox:77"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.heif.boxes.ItemLocationBox:76"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.heif.boxes.ItemLocationBox:76"
      Branch Sides:
      - BranchSide: "com.drew.metadata.heif.boxes.ItemLocationBox:80"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.heif.boxes.ItemLocationBox:79"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.heif.boxes.ItemLocationBox:81"
      Branch Sides:
      - BranchSide: "com.drew.metadata.heif.boxes.ItemLocationBox:83"
        BranchSideFuncs:
        - "getInt32()"
      - BranchSide: "com.drew.metadata.heif.boxes.ItemLocationBox:82"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.heif.boxes.ItemLocationBox:83"
      Branch Sides:
      - BranchSide: "com.drew.metadata.heif.boxes.ItemLocationBox:86"
        BranchSideFuncs:
        - "getInt64()"
      - BranchSide: "com.drew.metadata.heif.boxes.ItemLocationBox:85"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.heif.boxes.ItemLocationBox:93"
      Branch Sides:
      - BranchSide: "com.drew.metadata.heif.boxes.ItemLocationBox:70"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.heif.boxes.ItemLocationBox:69"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.heif.boxes.ItemLocationBox:94"
      Branch Sides:
      - BranchSide: "com.drew.metadata.heif.boxes.ItemLocationBox:95"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.heif.boxes.ItemLocationBox:94"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.heif.boxes.ItemLocationBox:94"
      Branch Sides:
      - BranchSide: "com.drew.metadata.heif.boxes.ItemLocationBox:null"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.heif.boxes.ItemLocationBox:94"
      Branch Sides:
      - BranchSide: "com.drew.metadata.heif.boxes.ItemLocationBox:null"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.heif.boxes.ItemLocationBox:52,1"
      Dst: "[com.drew.metadata.heif.boxes.FullBox].<init>(com.drew.lang.SequentialReader,com.drew.metadata.heif.boxes.Box)"
    - Src: "com.drew.metadata.heif.boxes.ItemLocationBox:43,1"
      Dst: "[com.drew.metadata.heif.boxes.ItemLocationBox$1].<init>(com.drew.metadata.heif.boxes.ItemLocationBox)"
    - Src: "com.drew.metadata.heif.boxes.ItemLocationBox:43,1"
      Dst: "[java.util.TreeSet].<init>(java.util.Comparator)"
    - Src: "com.drew.metadata.heif.boxes.ItemLocationBox:54,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt8()"
    - Src: "com.drew.metadata.heif.boxes.ItemLocationBox:66,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt16()"
    - Src: "com.drew.metadata.heif.boxes.ItemLocationBox:68,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt32()"
    - Src: "com.drew.metadata.heif.boxes.ItemLocationBox:82,1"
      Dst: "[com.drew.lang.SequentialReader].getInt32()"
    - Src: "com.drew.metadata.heif.boxes.ItemLocationBox:84,1"
      Dst: "[com.drew.lang.SequentialReader].getInt64()"
    - Src: "com.drew.metadata.heif.boxes.ItemLocationBox:95,1"
      Dst: "[com.drew.metadata.heif.boxes.ItemLocationBox].getIntFromUnknownByte(int,com.drew.lang.SequentialReader)"
    - Src: "com.drew.metadata.heif.boxes.ItemLocationBox:97,1"
      Dst: "[java.lang.Long].longValue()"
    - Src: "com.drew.metadata.heif.boxes.ItemLocationBox:99,1"
      Dst: "[com.drew.metadata.heif.boxes.ItemLocationBox$Extent].<init>(long,java.lang.Long,long,long)"
    - Src: "com.drew.metadata.heif.boxes.ItemLocationBox:99,1"
      Dst: "[java.util.Set].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 30
    CyclomaticComplexity: 16
  - functionName: "[com.drew.metadata.heif.boxes.ItemLocationBox].getIntFromUnknownByte(int,com.drew.lang.SequentialReader)"
    functionSourceFile: "com.drew.metadata.heif.boxes.ItemLocationBox"
    linkageType: ""
    functionLinenumber: 105
    functionLinenumberEnd: 117
    functionDepth: 0
    returnType: "java.lang.Long"
    argCount: 2
    argTypes:
    - "int"
    - "com.drew.lang.SequentialReader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.SequentialReader].getUInt8()"
    - "[java.lang.Long].valueOf(long)"
    - "[com.drew.lang.SequentialReader].getUInt16()"
    - "[com.drew.lang.SequentialReader].getUInt32()"
    - "[com.drew.lang.SequentialReader].getInt64()"
    functionUses: 3
    ICount: 19
    EdgeCount: 8
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.heif.boxes.ItemLocationBox:108,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt8()"
    - Src: "com.drew.metadata.heif.boxes.ItemLocationBox:108,1"
      Dst: "[java.lang.Long].valueOf(long)"
    - Src: "com.drew.metadata.heif.boxes.ItemLocationBox:110,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt16()"
    - Src: "com.drew.metadata.heif.boxes.ItemLocationBox:112,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt32()"
    - Src: "com.drew.metadata.heif.boxes.ItemLocationBox:114,1"
      Dst: "[com.drew.lang.SequentialReader].getInt64()"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.heif.boxes.ItemLocationBox].getExtents()"
    functionSourceFile: "com.drew.metadata.heif.boxes.ItemLocationBox"
    linkageType: ""
    functionLinenumber: 147
    functionLinenumberEnd: 149
    functionDepth: 0
    returnType: "java.util.SortedSet"
    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: "[com.drew.metadata.ErrorDirectory].<init>()"
    functionSourceFile: "com.drew.metadata.ErrorDirectory"
    linkageType: ""
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.ErrorDirectory:36,1"
      Dst: "[com.drew.metadata.Directory].<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: "[com.drew.metadata.ErrorDirectory].<init>(java.lang.String)"
    functionSourceFile: "com.drew.metadata.ErrorDirectory"
    linkageType: ""
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].<init>()"
    - "[com.drew.metadata.Directory].addError(java.lang.String)"
    functionUses: 11
    ICount: 5
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.ErrorDirectory:39,1"
      Dst: "[com.drew.metadata.Directory].<init>()"
    - Src: "com.drew.metadata.ErrorDirectory:40,1"
      Dst: "[com.drew.metadata.Directory].addError(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: "[com.drew.metadata.ErrorDirectory].getName()"
    functionSourceFile: "com.drew.metadata.ErrorDirectory"
    linkageType: ""
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.ErrorDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.ErrorDirectory"
    linkageType: ""
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionDepth: 0
    returnType: "java.util.HashMap"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.HashMap].<init>()"
    functionUses: 2
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.ErrorDirectory:54,1"
      Dst: "[java.util.HashMap].<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: "[com.drew.metadata.ErrorDirectory].getTagName(int)"
    functionSourceFile: "com.drew.metadata.ErrorDirectory"
    linkageType: ""
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    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: "[com.drew.metadata.ErrorDirectory].hasTagName(int)"
    functionSourceFile: "com.drew.metadata.ErrorDirectory"
    linkageType: ""
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "int"
    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: "[com.drew.metadata.ErrorDirectory].setObject(int,java.lang.Object)"
    functionSourceFile: "com.drew.metadata.ErrorDirectory"
    linkageType: ""
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "int"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.UnsupportedOperationException].<init>(java.lang.String)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.lang.Class].getName()"
    functionUses: 12
    ICount: 11
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.ErrorDirectory:73,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "com.drew.metadata.ErrorDirectory:73,1"
      Dst: "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - Src: "com.drew.metadata.ErrorDirectory:73,1"
      Dst: "[java.lang.UnsupportedOperationException].<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: "[com.drew.metadata.heif.boxes.ItemInfoBox].<init>(com.drew.lang.SequentialReader,com.drew.metadata.heif.boxes.Box)"
    functionSourceFile: "com.drew.metadata.heif.boxes.ItemInfoBox"
    linkageType: ""
    functionLinenumber: 41
    functionLinenumberEnd: 58
    functionDepth: 3
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "com.drew.metadata.heif.boxes.Box"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.heif.boxes.FullBox].<init>(com.drew.lang.SequentialReader,com.drew.metadata.heif.boxes.Box)"
    - "[com.drew.lang.SequentialReader].getUInt16()"
    - "[com.drew.lang.SequentialReader].getUInt32()"
    - "[java.util.HashMap].<init>()"
    - "[com.drew.metadata.heif.boxes.Box].<init>(com.drew.lang.SequentialReader)"
    - "[com.drew.lang.SequentialByteArrayReader].<init>(byte[])"
    - "[com.drew.lang.SequentialByteArrayReader].getBytes(int)"
    - "[com.drew.lang.StreamReader].getBytes(int)"
    - "[com.drew.metadata.heif.boxes.ItemInfoBox$ItemInfoEntry].<init>(com.drew.lang.SequentialReader,com.drew.metadata.heif.boxes.Box)"
    - "[java.security.Provider:java.util.AbstractMap:java.util.HashMap:java.util.Hashtable:java.util.IdentityHashMap:java.util.Properties:java.util.TreeMap:java.util.WeakHashMap:java.util.concurrent.ConcurrentHashMap:java.util.jar.Attributes].put(java.lang.Object,java.lang.Object)"
    - "[java.lang.Long].valueOf(long)"
    - "[com.drew.lang.SequentialReader].getBytes(int)"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    functionUses: 1
    ICount: 38
    EdgeCount: 11
    BranchProfiles:
    - Branch String: "com.drew.metadata.heif.boxes.ItemInfoBox:44"
      Branch Sides:
      - BranchSide: "com.drew.metadata.heif.boxes.ItemInfoBox:47"
        BranchSideFuncs:
        - "getUInt16()"
      - BranchSide: "com.drew.metadata.heif.boxes.ItemInfoBox:46"
        BranchSideFuncs:
        - "getUInt32()"
    - Branch String: "com.drew.metadata.heif.boxes.ItemInfoBox:50"
      Branch Sides:
      - BranchSide: "com.drew.metadata.heif.boxes.ItemInfoBox:56"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.heif.boxes.ItemInfoBox:42,1"
      Dst: "[com.drew.metadata.heif.boxes.FullBox].<init>(com.drew.lang.SequentialReader,com.drew.metadata.heif.boxes.Box)"
    - Src: "com.drew.metadata.heif.boxes.ItemInfoBox:45,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt16()"
    - Src: "com.drew.metadata.heif.boxes.ItemInfoBox:47,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt32()"
    - Src: "com.drew.metadata.heif.boxes.ItemInfoBox:49,1"
      Dst: "[java.util.HashMap].<init>()"
    - Src: "com.drew.metadata.heif.boxes.ItemInfoBox:52,1"
      Dst: "[com.drew.metadata.heif.boxes.Box].<init>(com.drew.lang.SequentialReader)"
    - Src: "com.drew.metadata.heif.boxes.ItemInfoBox:53,1"
      Dst: "[com.drew.lang.SequentialReader].getBytes(int)"
    - Src: "com.drew.metadata.heif.boxes.ItemInfoBox:53,1"
      Dst: "[com.drew.lang.SequentialByteArrayReader].<init>(byte[])"
    - Src: "com.drew.metadata.heif.boxes.ItemInfoBox:54,1"
      Dst: "[com.drew.metadata.heif.boxes.ItemInfoBox$ItemInfoEntry].<init>(com.drew.lang.SequentialReader,com.drew.metadata.heif.boxes.Box)"
    - Src: "com.drew.metadata.heif.boxes.ItemInfoBox:55,1"
      Dst: "[java.lang.Long].valueOf(long)"
    - Src: "com.drew.metadata.heif.boxes.ItemInfoBox:55,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.heif.boxes.ItemInfoBox].addMetadata(com.drew.metadata.heif.HeifDirectory)"
    functionSourceFile: "com.drew.metadata.heif.boxes.ItemInfoBox"
    linkageType: ""
    functionLinenumber: 119
    functionLinenumberEnd: 121
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.heif.HeifDirectory"
    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: "[com.drew.metadata.heif.boxes.ItemInfoBox].getEntry(long)"
    functionSourceFile: "com.drew.metadata.heif.boxes.ItemInfoBox"
    linkageType: ""
    functionLinenumber: 122
    functionLinenumberEnd: 124
    functionDepth: 0
    returnType: "com.drew.metadata.heif.boxes.ItemInfoBox$ItemInfoEntry"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.security.Provider:java.util.AbstractMap: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.jar.Attributes].get(java.lang.Object)"
    - "[java.lang.Long].valueOf(long)"
    - "[java.util.Map].get(java.lang.Object)"
    functionUses: 1
    ICount: 7
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.heif.boxes.ItemInfoBox:123,1"
      Dst: "[java.lang.Long].valueOf(long)"
    - Src: "com.drew.metadata.heif.boxes.ItemInfoBox:123,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: "[com.drew.metadata.gif.GifReader].<init>()"
    functionSourceFile: "com.drew.metadata.gif.GifReader"
    linkageType: ""
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.gif.GifReader:50,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: "[com.drew.metadata.gif.GifReader].extract(com.drew.lang.SequentialReader,com.drew.metadata.Metadata)"
    functionSourceFile: "com.drew.metadata.gif.GifReader"
    linkageType: ""
    functionLinenumber: 56
    functionLinenumberEnd: 133
    functionDepth: 7
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "com.drew.metadata.Metadata"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.SequentialReader].setMotorolaByteOrder(boolean)"
    - "[com.drew.metadata.gif.GifReader].readGifHeader(com.drew.lang.SequentialReader)"
    - "[com.drew.metadata.Metadata].addDirectory(com.drew.metadata.Directory)"
    - "[com.drew.metadata.ErrorDirectory].<init>(java.lang.String)"
    - "[com.drew.metadata.Directory].hasErrors()"
    - "[com.drew.metadata.Directory].getBoolean(int)"
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[com.drew.lang.StreamReader].skip(long)"
    - "[com.drew.lang.SequentialByteArrayReader].skip(long)"
    - "[com.drew.lang.SequentialReader].getInt8()"
    - "[com.drew.metadata.gif.GifReader].readGifExtensionBlock(com.drew.lang.SequentialReader,com.drew.metadata.Metadata)"
    - "[com.drew.metadata.gif.GifReader].readImageBlock(com.drew.lang.SequentialReader)"
    - "[com.drew.metadata.gif.GifReader].skipBlocks(com.drew.lang.SequentialReader)"
    - "[com.drew.lang.SequentialReader].skip(long)"
    functionUses: 1
    ICount: 52
    EdgeCount: 22
    BranchProfiles:
    - Branch String: "com.drew.metadata.gif.GifReader:68"
      Branch Sides:
      - BranchSide: "com.drew.metadata.gif.GifReader:73"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.gif.GifReader:72"
        BranchSideFuncs:
        - "getBoolean(int)"
    - Branch String: "com.drew.metadata.gif.GifReader:76"
      Branch Sides:
      - BranchSide: "com.drew.metadata.gif.GifReader:82"
        BranchSideFuncs:
        - "getInteger(int)"
      - BranchSide: "com.drew.metadata.gif.GifReader:81"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.gif.GifReader:83"
      Branch Sides:
      - BranchSide: "com.drew.metadata.gif.GifReader:94"
        BranchSideFuncs:
        - "readImageBlock(com.drew.lang.SequentialReader)"
        - "addDirectory(com.drew.metadata.Directory)"
        - "getInt8()"
        - "readGifExtensionBlock(com.drew.lang.SequentialReader,com.drew.metadata.Metadata)"
        - "getInteger(int)"
        - "getBoolean(int)"
        - "skip(long)"
        - "intValue()"
        - "skipBlocks(com.drew.lang.SequentialReader)"
        - "<init>(java.lang.String)"
      - BranchSide: "com.drew.metadata.gif.GifReader:93"
        BranchSideFuncs:
        - "getInt8()"
    Callsites:
    - Src: "com.drew.metadata.gif.GifReader:57,1"
      Dst: "[com.drew.lang.SequentialReader].setMotorolaByteOrder(boolean)"
    - Src: "com.drew.metadata.gif.GifReader:61,1"
      Dst: "[com.drew.metadata.gif.GifReader].readGifHeader(com.drew.lang.SequentialReader)"
    - Src: "com.drew.metadata.gif.GifReader:62,1"
      Dst: "[com.drew.metadata.Metadata].addDirectory(com.drew.metadata.Directory)"
    - Src: "com.drew.metadata.gif.GifReader:64,1"
      Dst: "[com.drew.metadata.ErrorDirectory].<init>(java.lang.String)"
    - Src: "com.drew.metadata.gif.GifReader:68,1"
      Dst: "[com.drew.metadata.Directory].hasErrors()"
    - Src: "com.drew.metadata.gif.GifReader:75,1"
      Dst: "[com.drew.metadata.Directory].getBoolean(int)"
    - Src: "com.drew.metadata.gif.GifReader:77,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.gif.GifReader:86,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.gif.GifReader:86,1"
      Dst: "[com.drew.lang.SequentialReader].skip(long)"
    - Src: "com.drew.metadata.gif.GifReader:94,1"
      Dst: "[com.drew.lang.SequentialReader].getInt8()"
    - Src: "com.drew.metadata.gif.GifReader:103,1"
      Dst: "[com.drew.metadata.gif.GifReader].readGifExtensionBlock(com.drew.lang.SequentialReader,com.drew.metadata.Metadata)"
    - Src: "com.drew.metadata.gif.GifReader:108,1"
      Dst: "[com.drew.metadata.gif.GifReader].readImageBlock(com.drew.lang.SequentialReader)"
    - Src: "com.drew.metadata.gif.GifReader:111,1"
      Dst: "[com.drew.metadata.gif.GifReader].skipBlocks(com.drew.lang.SequentialReader)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 19
    CyclomaticComplexity: 2
  - functionName: "[com.drew.metadata.gif.GifReader].readGifHeader(com.drew.lang.SequentialReader)"
    functionSourceFile: "com.drew.metadata.gif.GifReader"
    linkageType: ""
    functionLinenumber: 152
    functionLinenumberEnd: 203
    functionDepth: 3
    returnType: "com.drew.metadata.gif.GifHeaderDirectory"
    argCount: 1
    argTypes:
    - "com.drew.lang.SequentialReader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.gif.GifHeaderDirectory].<init>()"
    - "[com.drew.lang.SequentialReader].getString(int)"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[com.drew.metadata.Directory].addError(java.lang.String)"
    - "[com.drew.metadata.Directory].setString(int,java.lang.String)"
    - "[com.drew.lang.SequentialReader].getUInt16()"
    - "[com.drew.metadata.Directory].setInt(int,int)"
    - "[com.drew.lang.SequentialReader].getUInt8()"
    - "[com.drew.metadata.Directory].setBoolean(int,boolean)"
    - "[com.drew.metadata.Directory].setFloat(int,float)"
    functionUses: 1
    ICount: 58
    EdgeCount: 23
    BranchProfiles:
    - Branch String: "com.drew.metadata.gif.GifReader:157"
      Branch Sides:
      - BranchSide: "com.drew.metadata.gif.GifReader:162"
        BranchSideFuncs:
        - "getString(int)"
    - Branch String: "com.drew.metadata.gif.GifReader:165"
      Branch Sides:
      - BranchSide: "com.drew.metadata.gif.GifReader:170"
        BranchSideFuncs:
        - "addError(java.lang.String)"
      - BranchSide: "com.drew.metadata.gif.GifReader:169"
        BranchSideFuncs:
        - "setString(int,java.lang.String)"
        - "getUInt16()"
    - Branch String: "com.drew.metadata.gif.GifReader:165"
      Branch Sides:
      - BranchSide: "com.drew.metadata.gif.GifReader:170"
        BranchSideFuncs:
        - "addError(java.lang.String)"
      - BranchSide: "com.drew.metadata.gif.GifReader:169"
        BranchSideFuncs:
        - "setString(int,java.lang.String)"
        - "getUInt16()"
    - Branch String: "com.drew.metadata.gif.GifReader:182"
      Branch Sides:
      - BranchSide: "com.drew.metadata.gif.GifReader:170"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
      - BranchSide: "com.drew.metadata.gif.GifReader:169"
        BranchSideFuncs:
        - "setString(int,java.lang.String)"
        - "getUInt16()"
    - Branch String: "com.drew.metadata.gif.GifReader:186"
      Branch Sides:
      - BranchSide: "com.drew.metadata.gif.GifReader:191"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.gif.GifReader:190"
        BranchSideFuncs:
        - "setBoolean(int,boolean)"
        - "getUInt8()"
        - "setInt(int,int)"
    - Branch String: "com.drew.metadata.gif.GifReader:187"
      Branch Sides:
      - BranchSide: "com.drew.metadata.gif.GifReader:187"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.gif.GifReader:186"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.gif.GifReader:197"
      Branch Sides:
      - BranchSide: "com.drew.metadata.gif.GifReader:202"
        BranchSideFuncs:
        - "setFloat(int,float)"
      - BranchSide: "com.drew.metadata.gif.GifReader:201"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.gif.GifReader:153,1"
      Dst: "[com.drew.metadata.gif.GifHeaderDirectory].<init>()"
    - Src: "com.drew.metadata.gif.GifReader:155,1"
      Dst: "[com.drew.lang.SequentialReader].getString(int)"
    - Src: "com.drew.metadata.gif.GifReader:157,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "com.drew.metadata.gif.GifReader:159,1"
      Dst: "[com.drew.metadata.Directory].addError(java.lang.String)"
    - Src: "com.drew.metadata.gif.GifReader:170,1"
      Dst: "[com.drew.metadata.Directory].setString(int,java.lang.String)"
    - Src: "com.drew.metadata.gif.GifReader:174,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt16()"
    - Src: "com.drew.metadata.gif.GifReader:174,1"
      Dst: "[com.drew.metadata.Directory].setInt(int,int)"
    - Src: "com.drew.metadata.gif.GifReader:177,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt8()"
    - Src: "com.drew.metadata.gif.GifReader:188,1"
      Dst: "[com.drew.metadata.Directory].setBoolean(int,boolean)"
    - Src: "com.drew.metadata.gif.GifReader:199,1"
      Dst: "[com.drew.metadata.Directory].setFloat(int,float)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 16
    CyclomaticComplexity: 6
  - functionName: "[com.drew.metadata.gif.GifHeaderDirectory].<init>()"
    functionSourceFile: "com.drew.metadata.gif.GifHeaderDirectory"
    linkageType: ""
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].<init>()"
    - "[com.drew.metadata.gif.GifHeaderDescriptor].<init>(com.drew.metadata.gif.GifHeaderDirectory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 1
    ICount: 6
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.gif.GifHeaderDirectory:65,1"
      Dst: "[com.drew.metadata.Directory].<init>()"
    - Src: "com.drew.metadata.gif.GifHeaderDirectory:66,1"
      Dst: "[com.drew.metadata.gif.GifHeaderDescriptor].<init>(com.drew.metadata.gif.GifHeaderDirectory)"
    - Src: "com.drew.metadata.gif.GifHeaderDirectory:66,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.gif.GifHeaderDescriptor].<init>(com.drew.metadata.gif.GifHeaderDirectory)"
    functionSourceFile: "com.drew.metadata.gif.GifHeaderDescriptor"
    linkageType: ""
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.gif.GifHeaderDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.gif.GifHeaderDescriptor:34,1"
      Dst: "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    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: "[com.drew.metadata.gif.GifReader].readGifExtensionBlock(com.drew.lang.SequentialReader,com.drew.metadata.Metadata)"
    functionSourceFile: "com.drew.metadata.gif.GifReader"
    linkageType: ""
    functionLinenumber: 206
    functionLinenumberEnd: 236
    functionDepth: 6
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "com.drew.metadata.Metadata"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.SequentialReader].getInt8()"
    - "[com.drew.lang.SequentialReader].getUInt8()"
    - "[com.drew.lang.StreamReader].getPosition()"
    - "[com.drew.lang.SequentialByteArrayReader].getPosition()"
    - "[com.drew.metadata.gif.GifReader].readPlainTextBlock(com.drew.lang.SequentialReader,int)"
    - "[com.drew.metadata.Metadata].addDirectory(com.drew.metadata.Directory)"
    - "[com.drew.metadata.gif.GifReader].readControlBlock(com.drew.lang.SequentialReader)"
    - "[com.drew.metadata.gif.GifReader].readCommentBlock(com.drew.lang.SequentialReader,int)"
    - "[com.drew.metadata.gif.GifReader].readApplicationExtensionBlock(com.drew.lang.SequentialReader,int,com.drew.metadata.Metadata)"
    - "[com.drew.metadata.ErrorDirectory].<init>(java.lang.String)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.lang.Byte].valueOf(byte)"
    - "[com.drew.lang.StreamReader].skip(long)"
    - "[com.drew.lang.SequentialByteArrayReader].skip(long)"
    - "[com.drew.lang.SequentialReader].getPosition()"
    - "[com.drew.lang.SequentialReader].skip(long)"
    functionUses: 1
    ICount: 38
    EdgeCount: 19
    BranchProfiles:
    - Branch String: "com.drew.metadata.gif.GifReader:215"
      Branch Sides:
      - BranchSide: "com.drew.metadata.gif.GifReader:232"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.gif.GifReader:231"
        BranchSideFuncs:
        - "getPosition()"
    - Branch String: "com.drew.metadata.gif.GifReader:233"
      Branch Sides:
      - BranchSide: "com.drew.metadata.gif.GifReader:235"
        BranchSideFuncs:
        - "skip(long)"
      - BranchSide: "com.drew.metadata.gif.GifReader:234"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.gif.GifReader:207,1"
      Dst: "[com.drew.lang.SequentialReader].getInt8()"
    - Src: "com.drew.metadata.gif.GifReader:208,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt8()"
    - Src: "com.drew.metadata.gif.GifReader:209,1"
      Dst: "[com.drew.lang.SequentialReader].getPosition()"
    - Src: "com.drew.metadata.gif.GifReader:214,1"
      Dst: "[com.drew.metadata.gif.GifReader].readPlainTextBlock(com.drew.lang.SequentialReader,int)"
    - Src: "com.drew.metadata.gif.GifReader:216,1"
      Dst: "[com.drew.metadata.Metadata].addDirectory(com.drew.metadata.Directory)"
    - Src: "com.drew.metadata.gif.GifReader:219,1"
      Dst: "[com.drew.metadata.gif.GifReader].readControlBlock(com.drew.lang.SequentialReader)"
    - Src: "com.drew.metadata.gif.GifReader:222,1"
      Dst: "[com.drew.metadata.gif.GifReader].readCommentBlock(com.drew.lang.SequentialReader,int)"
    - Src: "com.drew.metadata.gif.GifReader:225,1"
      Dst: "[com.drew.metadata.gif.GifReader].readApplicationExtensionBlock(com.drew.lang.SequentialReader,int,com.drew.metadata.Metadata)"
    - Src: "com.drew.metadata.gif.GifReader:228,1"
      Dst: "[java.lang.Byte].valueOf(byte)"
    - Src: "com.drew.metadata.gif.GifReader:228,1"
      Dst: "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - Src: "com.drew.metadata.gif.GifReader:228,1"
      Dst: "[com.drew.metadata.ErrorDirectory].<init>(java.lang.String)"
    - Src: "com.drew.metadata.gif.GifReader:234,1"
      Dst: "[com.drew.lang.SequentialReader].skip(long)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 10
    CyclomaticComplexity: 7
  - functionName: "[com.drew.metadata.gif.GifReader].readPlainTextBlock(com.drew.lang.SequentialReader,int)"
    functionSourceFile: "com.drew.metadata.gif.GifReader"
    linkageType: ""
    functionLinenumber: 242
    functionLinenumberEnd: 253
    functionDepth: 1
    returnType: "com.drew.metadata.Directory"
    argCount: 2
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.ErrorDirectory].<init>(java.lang.String)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.lang.Integer].valueOf(int)"
    - "[com.drew.lang.StreamReader].skip(long)"
    - "[com.drew.lang.SequentialByteArrayReader].skip(long)"
    - "[com.drew.metadata.gif.GifReader].skipBlocks(com.drew.lang.SequentialReader)"
    - "[com.drew.lang.SequentialReader].skip(long)"
    functionUses: 1
    ICount: 13
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "com.drew.metadata.gif.GifReader:243"
      Branch Sides:
      - BranchSide: "com.drew.metadata.gif.GifReader:247"
        BranchSideFuncs:
        - "format(java.lang.String,java.lang.Object[])"
        - "valueOf(int)"
        - "<init>(java.lang.String)"
      - BranchSide: "com.drew.metadata.gif.GifReader:246"
        BranchSideFuncs:
        - "skip(long)"
        - "skipBlocks(com.drew.lang.SequentialReader)"
    Callsites:
    - Src: "com.drew.metadata.gif.GifReader:244,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.drew.metadata.gif.GifReader:244,1"
      Dst: "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - Src: "com.drew.metadata.gif.GifReader:244,1"
      Dst: "[com.drew.metadata.ErrorDirectory].<init>(java.lang.String)"
    - Src: "com.drew.metadata.gif.GifReader:247,1"
      Dst: "[com.drew.lang.SequentialReader].skip(long)"
    - Src: "com.drew.metadata.gif.GifReader:250,1"
      Dst: "[com.drew.metadata.gif.GifReader].skipBlocks(com.drew.lang.SequentialReader)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.gif.GifReader].skipBlocks(com.drew.lang.SequentialReader)"
    functionSourceFile: "com.drew.metadata.gif.GifReader"
    linkageType: ""
    functionLinenumber: 395
    functionLinenumberEnd: 403
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.lang.SequentialReader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.SequentialReader].getUInt8()"
    - "[com.drew.lang.StreamReader].skip(long)"
    - "[com.drew.lang.SequentialByteArrayReader].skip(long)"
    - "[com.drew.lang.SequentialReader].skip(long)"
    functionUses: 3
    ICount: 7
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.drew.metadata.gif.GifReader:398"
      Branch Sides:
      - BranchSide: "com.drew.metadata.gif.GifReader:401"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.gif.GifReader:400"
        BranchSideFuncs:
        - "skip(long)"
    Callsites:
    - Src: "com.drew.metadata.gif.GifReader:396,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt8()"
    - Src: "com.drew.metadata.gif.GifReader:401,1"
      Dst: "[com.drew.lang.SequentialReader].skip(long)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.drew.metadata.gif.GifReader].readControlBlock(com.drew.lang.SequentialReader)"
    functionSourceFile: "com.drew.metadata.gif.GifReader"
    linkageType: ""
    functionLinenumber: 307
    functionLinenumberEnd: 321
    functionDepth: 3
    returnType: "com.drew.metadata.gif.GifControlDirectory"
    argCount: 1
    argTypes:
    - "com.drew.lang.SequentialReader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.gif.GifControlDirectory].<init>()"
    - "[com.drew.lang.SequentialReader].getUInt8()"
    - "[com.drew.metadata.Directory].setObject(int,java.lang.Object)"
    - "[com.drew.metadata.gif.GifControlDirectory$DisposalMethod].typeOf(int)"
    - "[com.drew.metadata.Directory].setBoolean(int,boolean)"
    - "[com.drew.lang.SequentialReader].getUInt16()"
    - "[com.drew.metadata.Directory].setInt(int,int)"
    - "[com.drew.lang.StreamReader].skip(long)"
    - "[com.drew.lang.SequentialByteArrayReader].skip(long)"
    - "[com.drew.lang.SequentialReader].skip(long)"
    functionUses: 1
    ICount: 30
    EdgeCount: 12
    BranchProfiles:
    - Branch String: "com.drew.metadata.gif.GifReader:312"
      Branch Sides:
      - BranchSide: "com.drew.metadata.gif.GifReader:308"
        BranchSideFuncs:
        - "setBoolean(int,boolean)"
      - BranchSide: "com.drew.metadata.gif.GifReader:307"
        BranchSideFuncs:
        - "<init>()"
        - "setObject(int,java.lang.Object)"
        - "typeOf(int)"
    - Branch String: "com.drew.metadata.gif.GifReader:313"
      Branch Sides:
      - BranchSide: "com.drew.metadata.gif.GifReader:312"
        BranchSideFuncs:
        - "setBoolean(int,boolean)"
        - "skip(long)"
        - "getUInt8()"
        - "setInt(int,int)"
        - "getUInt16()"
      - BranchSide: "com.drew.metadata.gif.GifReader:311"
        BranchSideFuncs:
        - "setBoolean(int,boolean)"
    Callsites:
    - Src: "com.drew.metadata.gif.GifReader:308,1"
      Dst: "[com.drew.metadata.gif.GifControlDirectory].<init>()"
    - Src: "com.drew.metadata.gif.GifReader:310,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt8()"
    - Src: "com.drew.metadata.gif.GifReader:311,1"
      Dst: "[com.drew.metadata.gif.GifControlDirectory$DisposalMethod].typeOf(int)"
    - Src: "com.drew.metadata.gif.GifReader:311,1"
      Dst: "[com.drew.metadata.Directory].setObject(int,java.lang.Object)"
    - Src: "com.drew.metadata.gif.GifReader:312,1"
      Dst: "[com.drew.metadata.Directory].setBoolean(int,boolean)"
    - Src: "com.drew.metadata.gif.GifReader:314,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt16()"
    - Src: "com.drew.metadata.gif.GifReader:314,1"
      Dst: "[com.drew.metadata.Directory].setInt(int,int)"
    - Src: "com.drew.metadata.gif.GifReader:318,1"
      Dst: "[com.drew.lang.SequentialReader].skip(long)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[com.drew.metadata.gif.GifControlDirectory].<init>()"
    functionSourceFile: "com.drew.metadata.gif.GifControlDirectory"
    linkageType: ""
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].<init>()"
    - "[com.drew.metadata.gif.GifControlDescriptor].<init>(com.drew.metadata.gif.GifControlDirectory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 1
    ICount: 6
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.gif.GifControlDirectory:54,1"
      Dst: "[com.drew.metadata.Directory].<init>()"
    - Src: "com.drew.metadata.gif.GifControlDirectory:55,1"
      Dst: "[com.drew.metadata.gif.GifControlDescriptor].<init>(com.drew.metadata.gif.GifControlDirectory)"
    - Src: "com.drew.metadata.gif.GifControlDirectory:55,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.gif.GifControlDescriptor].<init>(com.drew.metadata.gif.GifControlDirectory)"
    functionSourceFile: "com.drew.metadata.gif.GifControlDescriptor"
    linkageType: ""
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.gif.GifControlDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.gif.GifControlDescriptor:35,1"
      Dst: "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    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: "[com.drew.metadata.gif.GifReader].readCommentBlock(com.drew.lang.SequentialReader,int)"
    functionSourceFile: "com.drew.metadata.gif.GifReader"
    linkageType: ""
    functionLinenumber: 256
    functionLinenumberEnd: 259
    functionDepth: 3
    returnType: "com.drew.metadata.gif.GifCommentDirectory"
    argCount: 2
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.gif.GifReader].gatherBytes(com.drew.lang.SequentialReader,int)"
    - "[com.drew.metadata.gif.GifCommentDirectory].<init>(com.drew.metadata.StringValue)"
    - "[com.drew.metadata.StringValue].<init>(byte[],java.nio.charset.Charset)"
    functionUses: 1
    ICount: 9
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.gif.GifReader:257,1"
      Dst: "[com.drew.metadata.gif.GifReader].gatherBytes(com.drew.lang.SequentialReader,int)"
    - Src: "com.drew.metadata.gif.GifReader:258,1"
      Dst: "[com.drew.metadata.StringValue].<init>(byte[],java.nio.charset.Charset)"
    - Src: "com.drew.metadata.gif.GifReader:258,1"
      Dst: "[com.drew.metadata.gif.GifCommentDirectory].<init>(com.drew.metadata.StringValue)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.gif.GifReader].gatherBytes(com.drew.lang.SequentialReader,int)"
    functionSourceFile: "com.drew.metadata.gif.GifReader"
    linkageType: ""
    functionLinenumber: 377
    functionLinenumberEnd: 390
    functionDepth: 0
    returnType: "byte[]"
    argCount: 2
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.ByteArrayOutputStream].<init>()"
    - "[com.drew.lang.SequentialByteArrayReader].getBytes(int)"
    - "[com.drew.lang.StreamReader].getBytes(int)"
    - "[java.io.ByteArrayOutputStream].write(byte[],int,int)"
    - "[com.drew.lang.StreamReader].getByte()"
    - "[com.drew.lang.SequentialByteArrayReader].getByte()"
    - "[java.io.ByteArrayOutputStream].toByteArray()"
    - "[com.drew.lang.SequentialReader].getBytes(int)"
    - "[com.drew.lang.SequentialReader].getByte()"
    functionUses: 2
    ICount: 14
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "com.drew.metadata.gif.GifReader:382"
      Branch Sides:
      - BranchSide: "com.drew.metadata.gif.GifReader:388"
        BranchSideFuncs:
        - "toByteArray()"
    Callsites:
    - Src: "com.drew.metadata.gif.GifReader:378,1"
      Dst: "[java.io.ByteArrayOutputStream].<init>()"
    - Src: "com.drew.metadata.gif.GifReader:384,1"
      Dst: "[com.drew.lang.SequentialReader].getBytes(int)"
    - Src: "com.drew.metadata.gif.GifReader:384,1"
      Dst: "[java.io.ByteArrayOutputStream].write(byte[],int,int)"
    - Src: "com.drew.metadata.gif.GifReader:386,1"
      Dst: "[com.drew.lang.SequentialReader].getByte()"
    - Src: "com.drew.metadata.gif.GifReader:389,1"
      Dst: "[java.io.ByteArrayOutputStream].toByteArray()"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.drew.metadata.StringValue].<init>(byte[],java.nio.charset.Charset)"
    functionSourceFile: "com.drew.metadata.StringValue"
    linkageType: ""
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "byte[]"
    - "java.nio.charset.Charset"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 14
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.StringValue: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: "[com.drew.metadata.gif.GifCommentDirectory].<init>(com.drew.metadata.StringValue)"
    functionSourceFile: "com.drew.metadata.gif.GifCommentDirectory"
    linkageType: ""
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.StringValue"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].<init>()"
    - "[com.drew.metadata.gif.GifCommentDescriptor].<init>(com.drew.metadata.gif.GifCommentDirectory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    - "[com.drew.metadata.Directory].setStringValue(int,com.drew.metadata.StringValue)"
    functionUses: 1
    ICount: 8
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.gif.GifCommentDirectory:47,1"
      Dst: "[com.drew.metadata.Directory].<init>()"
    - Src: "com.drew.metadata.gif.GifCommentDirectory:48,1"
      Dst: "[com.drew.metadata.gif.GifCommentDescriptor].<init>(com.drew.metadata.gif.GifCommentDirectory)"
    - Src: "com.drew.metadata.gif.GifCommentDirectory:48,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    - Src: "com.drew.metadata.gif.GifCommentDirectory:49,1"
      Dst: "[com.drew.metadata.Directory].setStringValue(int,com.drew.metadata.StringValue)"
    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: "[com.drew.metadata.gif.GifCommentDescriptor].<init>(com.drew.metadata.gif.GifCommentDirectory)"
    functionSourceFile: "com.drew.metadata.gif.GifCommentDescriptor"
    linkageType: ""
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.gif.GifCommentDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.gif.GifCommentDescriptor:35,1"
      Dst: "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    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: "[com.drew.metadata.gif.GifReader].readApplicationExtensionBlock(com.drew.lang.SequentialReader,int,com.drew.metadata.Metadata)"
    functionSourceFile: "com.drew.metadata.gif.GifReader"
    linkageType: ""
    functionLinenumber: 262
    functionLinenumberEnd: 305
    functionDepth: 5
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "int"
    - "com.drew.metadata.Metadata"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.ErrorDirectory].<init>(java.lang.String)"
    - "[com.drew.metadata.Metadata].addDirectory(com.drew.metadata.Directory)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.lang.Integer].valueOf(int)"
    - "[com.drew.lang.SequentialReader].getString(int,java.nio.charset.Charset)"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[com.drew.metadata.gif.GifReader].gatherBytes(com.drew.lang.SequentialReader)"
    - "[com.drew.metadata.xmp.XmpReader].<init>()"
    - "[com.drew.metadata.xmp.XmpReader].extract(byte[],int,int,com.drew.metadata.Metadata,com.drew.metadata.Directory)"
    - "[com.drew.metadata.gif.GifReader].gatherBytes(com.drew.lang.SequentialReader,int)"
    - "[com.drew.lang.StreamReader].getByte()"
    - "[com.drew.lang.SequentialByteArrayReader].getByte()"
    - "[com.drew.lang.ByteArrayReader].<init>(byte[])"
    - "[com.drew.metadata.icc.IccReader].<init>()"
    - "[com.drew.metadata.icc.IccReader].extract(com.drew.lang.RandomAccessReader,com.drew.metadata.Metadata)"
    - "[com.drew.lang.StreamReader].skip(long)"
    - "[com.drew.lang.SequentialByteArrayReader].skip(long)"
    - "[com.drew.lang.SequentialReader].getUInt16()"
    - "[com.drew.metadata.gif.GifAnimationDirectory].<init>()"
    - "[com.drew.metadata.Directory].setInt(int,int)"
    - "[com.drew.metadata.gif.GifReader].skipBlocks(com.drew.lang.SequentialReader)"
    - "[com.drew.lang.SequentialReader].getByte()"
    - "[com.drew.lang.SequentialReader].skip(long)"
    functionUses: 1
    ICount: 53
    EdgeCount: 26
    BranchProfiles:
    - Branch String: "com.drew.metadata.gif.GifReader:263"
      Branch Sides:
      - BranchSide: "com.drew.metadata.gif.GifReader:268"
        BranchSideFuncs:
        - "getString(int,java.nio.charset.Charset)"
    - Branch String: "com.drew.metadata.gif.GifReader:271"
      Branch Sides:
      - BranchSide: "com.drew.metadata.gif.GifReader:280"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.gif.GifReader:276"
      Branch Sides:
      - BranchSide: "com.drew.metadata.gif.GifReader:279"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.gif.GifReader:281"
      Branch Sides:
      - BranchSide: "com.drew.metadata.gif.GifReader:287"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "com.drew.metadata.gif.GifReader:285"
      Branch Sides:
      - BranchSide: "com.drew.metadata.gif.GifReader:287"
        BranchSideFuncs:
        - "extract(com.drew.lang.RandomAccessReader,com.drew.metadata.Metadata)"
        - "<init>(byte[])"
      - BranchSide: "com.drew.metadata.gif.GifReader:286"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.gif.GifReader:288"
      Branch Sides:
      - BranchSide: "com.drew.metadata.gif.GifReader:301"
        BranchSideFuncs:
        - "skipBlocks(com.drew.lang.SequentialReader)"
    Callsites:
    - Src: "com.drew.metadata.gif.GifReader:265,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.drew.metadata.gif.GifReader:265,1"
      Dst: "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - Src: "com.drew.metadata.gif.GifReader:265,1"
      Dst: "[com.drew.metadata.ErrorDirectory].<init>(java.lang.String)"
    - Src: "com.drew.metadata.gif.GifReader:265,1"
      Dst: "[com.drew.metadata.Metadata].addDirectory(com.drew.metadata.Directory)"
    - Src: "com.drew.metadata.gif.GifReader:269,1"
      Dst: "[com.drew.lang.SequentialReader].getString(int,java.nio.charset.Charset)"
    - Src: "com.drew.metadata.gif.GifReader:271,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "com.drew.metadata.gif.GifReader:274,1"
      Dst: "[com.drew.metadata.gif.GifReader].gatherBytes(com.drew.lang.SequentialReader)"
    - Src: "com.drew.metadata.gif.GifReader:278,1"
      Dst: "[com.drew.metadata.xmp.XmpReader].<init>()"
    - Src: "com.drew.metadata.gif.GifReader:278,1"
      Dst: "[com.drew.metadata.xmp.XmpReader].extract(byte[],int,int,com.drew.metadata.Metadata,com.drew.metadata.Directory)"
    - Src: "com.drew.metadata.gif.GifReader:284,1"
      Dst: "[com.drew.lang.SequentialReader].getByte()"
    - Src: "com.drew.metadata.gif.GifReader:284,1"
      Dst: "[com.drew.metadata.gif.GifReader].gatherBytes(com.drew.lang.SequentialReader,int)"
    - Src: "com.drew.metadata.gif.GifReader:286,1"
      Dst: "[com.drew.metadata.icc.IccReader].<init>()"
    - Src: "com.drew.metadata.gif.GifReader:286,1"
      Dst: "[com.drew.lang.ByteArrayReader].<init>(byte[])"
    - Src: "com.drew.metadata.gif.GifReader:286,1"
      Dst: "[com.drew.metadata.icc.IccReader].extract(com.drew.lang.RandomAccessReader,com.drew.metadata.Metadata)"
    - Src: "com.drew.metadata.gif.GifReader:290,1"
      Dst: "[com.drew.lang.SequentialReader].skip(long)"
    - Src: "com.drew.metadata.gif.GifReader:293,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt16()"
    - Src: "com.drew.metadata.gif.GifReader:296,1"
      Dst: "[com.drew.metadata.gif.GifAnimationDirectory].<init>()"
    - Src: "com.drew.metadata.gif.GifReader:297,1"
      Dst: "[com.drew.metadata.Directory].setInt(int,int)"
    - Src: "com.drew.metadata.gif.GifReader:302,1"
      Dst: "[com.drew.metadata.gif.GifReader].skipBlocks(com.drew.lang.SequentialReader)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 14
    CyclomaticComplexity: 6
  - functionName: "[com.drew.metadata.gif.GifReader].gatherBytes(com.drew.lang.SequentialReader)"
    functionSourceFile: "com.drew.metadata.gif.GifReader"
    linkageType: ""
    functionLinenumber: 358
    functionLinenumberEnd: 374
    functionDepth: 0
    returnType: "byte[]"
    argCount: 1
    argTypes:
    - "com.drew.lang.SequentialReader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.ByteArrayOutputStream].<init>()"
    - "[com.drew.lang.StreamReader].getByte()"
    - "[com.drew.lang.SequentialByteArrayReader].getByte()"
    - "[java.io.ByteArrayOutputStream].toByteArray()"
    - "[com.drew.lang.StreamReader].getBytes(byte[],int,int)"
    - "[com.drew.lang.SequentialByteArrayReader].getBytes(byte[],int,int)"
    - "[java.io.ByteArrayOutputStream].write(byte[],int,int)"
    - "[com.drew.lang.SequentialReader].getByte()"
    - "[com.drew.lang.SequentialReader].getBytes(byte[],int,int)"
    functionUses: 1
    ICount: 17
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "com.drew.metadata.gif.GifReader:365"
      Branch Sides:
      - BranchSide: "com.drew.metadata.gif.GifReader:null"
        BranchSideFuncs:
        - "toByteArray()"
    Callsites:
    - Src: "com.drew.metadata.gif.GifReader:359,1"
      Dst: "[java.io.ByteArrayOutputStream].<init>()"
    - Src: "com.drew.metadata.gif.GifReader:364,1"
      Dst: "[com.drew.lang.SequentialReader].getByte()"
    - Src: "com.drew.metadata.gif.GifReader:366,1"
      Dst: "[java.io.ByteArrayOutputStream].toByteArray()"
    - Src: "com.drew.metadata.gif.GifReader:371,1"
      Dst: "[com.drew.lang.SequentialReader].getBytes(byte[],int,int)"
    - Src: "com.drew.metadata.gif.GifReader:372,1"
      Dst: "[java.io.ByteArrayOutputStream].write(byte[],int,int)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.drew.metadata.icc.IccReader].<init>()"
    functionSourceFile: "com.drew.metadata.icc.IccReader"
    linkageType: ""
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 11
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.icc.IccReader:50,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: "[com.drew.lang.ByteArrayReader].<init>(byte[])"
    functionSourceFile: "com.drew.lang.ByteArrayReader"
    linkageType: ""
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "byte[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.ByteArrayReader].<init>(byte[],int)"
    functionUses: 41
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.lang.ByteArrayReader:47,1"
      Dst: "[com.drew.lang.ByteArrayReader].<init>(byte[],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: "[com.drew.lang.ByteArrayReader].<init>(byte[],int)"
    functionSourceFile: "com.drew.lang.ByteArrayReader"
    linkageType: ""
    functionLinenumber: 52
    functionLinenumberEnd: 62
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "byte[]"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.RandomAccessReader].<init>()"
    - "[java.lang.NullPointerException].<init>()"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    functionUses: 3
    ICount: 15
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.drew.lang.ByteArrayReader:54"
      Branch Sides:
      - BranchSide: "com.drew.lang.ByteArrayReader:56"
        BranchSideFuncs:
        - "<init>()"
      - BranchSide: "com.drew.lang.ByteArrayReader:55"
        BranchSideFuncs: []
    - Branch String: "com.drew.lang.ByteArrayReader:56"
      Branch Sides:
      - BranchSide: "com.drew.lang.ByteArrayReader:59"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "com.drew.lang.ByteArrayReader:58"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.lang.ByteArrayReader:53,1"
      Dst: "[com.drew.lang.RandomAccessReader].<init>()"
    - Src: "com.drew.lang.ByteArrayReader:55,1"
      Dst: "[java.lang.NullPointerException].<init>()"
    - Src: "com.drew.lang.ByteArrayReader:57,1"
      Dst: "[java.lang.IllegalArgumentException].<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: 5
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.icc.IccReader].extract(com.drew.lang.RandomAccessReader,com.drew.metadata.Metadata)"
    functionSourceFile: "com.drew.metadata.icc.IccReader"
    linkageType: ""
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.lang.RandomAccessReader"
    - "com.drew.metadata.Metadata"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.icc.IccReader].extract(com.drew.lang.RandomAccessReader,com.drew.metadata.Metadata,com.drew.metadata.Directory)"
    functionUses: 7
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.icc.IccReader:94,1"
      Dst: "[com.drew.metadata.icc.IccReader].extract(com.drew.lang.RandomAccessReader,com.drew.metadata.Metadata,com.drew.metadata.Directory)"
    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: "[com.drew.metadata.icc.IccReader].extract(com.drew.lang.RandomAccessReader,com.drew.metadata.Metadata,com.drew.metadata.Directory)"
    functionSourceFile: "com.drew.metadata.icc.IccReader"
    linkageType: ""
    functionLinenumber: 100
    functionLinenumberEnd: 159
    functionDepth: 3
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.drew.lang.RandomAccessReader"
    - "com.drew.metadata.Metadata"
    - "com.drew.metadata.Directory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.icc.IccDirectory].<init>()"
    - "[com.drew.metadata.Directory].setParent(com.drew.metadata.Directory)"
    - "[com.drew.lang.RandomAccessReader].getInt32(int)"
    - "[com.drew.metadata.Directory].setInt(int,int)"
    - "[com.drew.metadata.icc.IccReader].set4ByteString(com.drew.metadata.Directory,int,com.drew.lang.RandomAccessReader)"
    - "[com.drew.metadata.icc.IccReader].setInt32(com.drew.metadata.Directory,int,com.drew.lang.RandomAccessReader)"
    - "[com.drew.metadata.icc.IccReader].setDate(com.drew.metadata.icc.IccDirectory,int,com.drew.lang.RandomAccessReader)"
    - "[com.drew.metadata.icc.IccReader].getStringFromInt32(int)"
    - "[com.drew.metadata.Directory].setString(int,java.lang.String)"
    - "[com.drew.metadata.icc.IccReader].setInt64(com.drew.metadata.Directory,int,com.drew.lang.RandomAccessReader)"
    - "[com.drew.lang.RandomAccessReader].getS15Fixed16(int)"
    - "[com.drew.metadata.Directory].setObject(int,java.lang.Object)"
    - "[com.drew.lang.ByteArrayReader].getBytes(int,int)"
    - "[com.drew.lang.RandomAccessStreamReader].getBytes(int,int)"
    - "[com.drew.lang.RandomAccessFileReader].getBytes(int,int)"
    - "[com.drew.metadata.Directory].setByteArray(int,byte[])"
    - "[java.lang.StringBuilder].<init>()"
    - "[com.drew.metadata.Directory].addError(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.io.InvalidClassException].getMessage()"
    - "[java.lang.Throwable].getMessage()"
    - "[java.nio.file.FileSystemException].getMessage()"
    - "[java.lang.StringBuilder].toString()"
    - "[com.drew.metadata.Metadata].addDirectory(com.drew.metadata.Directory)"
    - "[com.drew.lang.RandomAccessReader].getBytes(int,int)"
    functionUses: 5
    ICount: 64
    EdgeCount: 42
    BranchProfiles:
    - Branch String: "com.drew.metadata.icc.IccReader:103"
      Branch Sides:
      - BranchSide: "com.drew.metadata.icc.IccReader:107"
        BranchSideFuncs:
        - "setParent(com.drew.metadata.Directory)"
      - BranchSide: "com.drew.metadata.icc.IccReader:106"
        BranchSideFuncs:
        - "set4ByteString(com.drew.metadata.Directory,int,com.drew.lang.RandomAccessReader)"
        - "setDate(com.drew.metadata.icc.IccDirectory,int,com.drew.lang.RandomAccessReader)"
    - Branch String: "com.drew.metadata.icc.IccReader:123"
      Branch Sides:
      - BranchSide: "com.drew.metadata.icc.IccReader:131"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.icc.IccReader:130"
        BranchSideFuncs:
        - "setInt64(com.drew.metadata.Directory,int,com.drew.lang.RandomAccessReader)"
        - "getS15Fixed16(int)"
        - "setObject(int,java.lang.Object)"
        - "setInt32(com.drew.metadata.Directory,int,com.drew.lang.RandomAccessReader)"
        - "setInt(int,int)"
    - Branch String: "com.drew.metadata.icc.IccReader:124"
      Branch Sides:
      - BranchSide: "com.drew.metadata.icc.IccReader:127"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.icc.IccReader:126"
        BranchSideFuncs:
        - "getStringFromInt32(int)"
        - "setString(int,java.lang.String)"
    - Branch String: "com.drew.metadata.icc.IccReader:145"
      Branch Sides:
      - BranchSide: "com.drew.metadata.icc.IccReader:155"
        BranchSideFuncs:
        - "setInt64(com.drew.metadata.Directory,int,com.drew.lang.RandomAccessReader)"
        - "getStringFromInt32(int)"
        - "getBytes(int,int)"
        - "append(java.lang.String)"
        - "toString()"
        - "setString(int,java.lang.String)"
        - "getMessage()"
        - "getInt32(int)"
        - "getS15Fixed16(int)"
        - "<init>()"
        - "setObject(int,java.lang.Object)"
        - "setInt32(com.drew.metadata.Directory,int,com.drew.lang.RandomAccessReader)"
        - "addError(java.lang.String)"
        - "setByteArray(int,byte[])"
        - "setInt(int,int)"
      - BranchSide: "com.drew.metadata.icc.IccReader:154"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.icc.IccReader:101,1"
      Dst: "[com.drew.metadata.icc.IccDirectory].<init>()"
    - Src: "com.drew.metadata.icc.IccReader:104,1"
      Dst: "[com.drew.metadata.Directory].setParent(com.drew.metadata.Directory)"
    - Src: "com.drew.metadata.icc.IccReader:107,1"
      Dst: "[com.drew.lang.RandomAccessReader].getInt32(int)"
    - Src: "com.drew.metadata.icc.IccReader:108,1"
      Dst: "[com.drew.metadata.Directory].setInt(int,int)"
    - Src: "com.drew.metadata.icc.IccReader:111,1"
      Dst: "[com.drew.metadata.icc.IccReader].set4ByteString(com.drew.metadata.Directory,int,com.drew.lang.RandomAccessReader)"
    - Src: "com.drew.metadata.icc.IccReader:112,1"
      Dst: "[com.drew.metadata.icc.IccReader].setInt32(com.drew.metadata.Directory,int,com.drew.lang.RandomAccessReader)"
    - Src: "com.drew.metadata.icc.IccReader:116,1"
      Dst: "[com.drew.metadata.icc.IccReader].setDate(com.drew.metadata.icc.IccDirectory,int,com.drew.lang.RandomAccessReader)"
    - Src: "com.drew.metadata.icc.IccReader:127,1"
      Dst: "[com.drew.metadata.icc.IccReader].getStringFromInt32(int)"
    - Src: "com.drew.metadata.icc.IccReader:127,1"
      Dst: "[com.drew.metadata.Directory].setString(int,java.lang.String)"
    - Src: "com.drew.metadata.icc.IccReader:132,1"
      Dst: "[com.drew.metadata.icc.IccReader].setInt64(com.drew.metadata.Directory,int,com.drew.lang.RandomAccessReader)"
    - Src: "com.drew.metadata.icc.IccReader:135,1"
      Dst: "[com.drew.lang.RandomAccessReader].getS15Fixed16(int)"
    - Src: "com.drew.metadata.icc.IccReader:139,1"
      Dst: "[com.drew.metadata.Directory].setObject(int,java.lang.Object)"
    - Src: "com.drew.metadata.icc.IccReader:150,1"
      Dst: "[com.drew.lang.RandomAccessReader].getBytes(int,int)"
    - Src: "com.drew.metadata.icc.IccReader:151,1"
      Dst: "[com.drew.metadata.Directory].setByteArray(int,byte[])"
    - Src: "com.drew.metadata.icc.IccReader:154,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.icc.IccReader:154,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.icc.IccReader:154,1"
      Dst: "[java.lang.Throwable].getMessage()"
    - Src: "com.drew.metadata.icc.IccReader:154,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "com.drew.metadata.icc.IccReader:154,1"
      Dst: "[com.drew.metadata.Directory].addError(java.lang.String)"
    - Src: "com.drew.metadata.icc.IccReader:157,1"
      Dst: "[com.drew.metadata.Metadata].addDirectory(com.drew.metadata.Directory)"
    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: "[com.drew.metadata.icc.IccDirectory].<init>()"
    functionSourceFile: "com.drew.metadata.icc.IccDirectory"
    linkageType: ""
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].<init>()"
    - "[com.drew.metadata.icc.IccDescriptor].<init>(com.drew.metadata.icc.IccDirectory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 1
    ICount: 6
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.icc.IccDirectory:191,1"
      Dst: "[com.drew.metadata.Directory].<init>()"
    - Src: "com.drew.metadata.icc.IccDirectory:192,1"
      Dst: "[com.drew.metadata.icc.IccDescriptor].<init>(com.drew.metadata.icc.IccDirectory)"
    - Src: "com.drew.metadata.icc.IccDirectory:192,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.icc.IccDescriptor].<init>(com.drew.metadata.icc.IccDirectory)"
    functionSourceFile: "com.drew.metadata.icc.IccDescriptor"
    linkageType: ""
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.icc.IccDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.icc.IccDescriptor:45,1"
      Dst: "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    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: "[com.drew.metadata.icc.IccReader].set4ByteString(com.drew.metadata.Directory,int,com.drew.lang.RandomAccessReader)"
    functionSourceFile: "com.drew.metadata.icc.IccReader"
    linkageType: ""
    functionLinenumber: 161
    functionLinenumberEnd: 166
    functionDepth: 1
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.drew.metadata.Directory"
    - "int"
    - "com.drew.lang.RandomAccessReader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.RandomAccessReader].getInt32(int)"
    - "[com.drew.metadata.icc.IccReader].getStringFromInt32(int)"
    - "[com.drew.metadata.Directory].setString(int,java.lang.String)"
    functionUses: 7
    ICount: 9
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.drew.metadata.icc.IccReader:163"
      Branch Sides:
      - BranchSide: "com.drew.metadata.icc.IccReader:165"
        BranchSideFuncs:
        - "getStringFromInt32(int)"
        - "setString(int,java.lang.String)"
      - BranchSide: "com.drew.metadata.icc.IccReader:164"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.icc.IccReader:162,1"
      Dst: "[com.drew.lang.RandomAccessReader].getInt32(int)"
    - Src: "com.drew.metadata.icc.IccReader:164,1"
      Dst: "[com.drew.metadata.icc.IccReader].getStringFromInt32(int)"
    - Src: "com.drew.metadata.icc.IccReader:164,1"
      Dst: "[com.drew.metadata.Directory].setString(int,java.lang.String)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.icc.IccReader].getStringFromInt32(int)"
    functionSourceFile: "com.drew.metadata.icc.IccReader"
    linkageType: ""
    functionLinenumber: 208
    functionLinenumberEnd: 216
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].<init>(byte[])"
    functionUses: 5
    ICount: 21
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.icc.IccReader:215,1"
      Dst: "[java.lang.String].<init>(byte[])"
    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: "[com.drew.metadata.icc.IccReader].setInt32(com.drew.metadata.Directory,int,com.drew.lang.RandomAccessReader)"
    functionSourceFile: "com.drew.metadata.icc.IccReader"
    linkageType: ""
    functionLinenumber: 168
    functionLinenumberEnd: 173
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.drew.metadata.Directory"
    - "int"
    - "com.drew.lang.RandomAccessReader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.RandomAccessReader].getInt32(int)"
    - "[com.drew.metadata.Directory].setInt(int,int)"
    functionUses: 3
    ICount: 8
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.drew.metadata.icc.IccReader:170"
      Branch Sides:
      - BranchSide: "com.drew.metadata.icc.IccReader:172"
        BranchSideFuncs:
        - "setInt(int,int)"
      - BranchSide: "com.drew.metadata.icc.IccReader:171"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.icc.IccReader:169,1"
      Dst: "[com.drew.lang.RandomAccessReader].getInt32(int)"
    - Src: "com.drew.metadata.icc.IccReader:171,1"
      Dst: "[com.drew.metadata.Directory].setInt(int,int)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.icc.IccReader].setDate(com.drew.metadata.icc.IccDirectory,int,com.drew.lang.RandomAccessReader)"
    functionSourceFile: "com.drew.metadata.icc.IccReader"
    linkageType: ""
    functionLinenumber: 184
    functionLinenumberEnd: 204
    functionDepth: 1
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.drew.metadata.icc.IccDirectory"
    - "int"
    - "com.drew.lang.RandomAccessReader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.RandomAccessReader].getUInt16(int)"
    - "[com.drew.lang.DateUtil].isValidDate(int,int,int)"
    - "[com.drew.lang.DateUtil].isValidTime(int,int,int)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.lang.Integer].valueOf(int)"
    - "[com.drew.metadata.Directory].setString(int,java.lang.String)"
    - "[com.drew.metadata.Directory].addError(java.lang.String)"
    functionUses: 1
    ICount: 52
    EdgeCount: 24
    BranchProfiles:
    - Branch String: "com.drew.metadata.icc.IccReader:192"
      Branch Sides:
      - BranchSide: "com.drew.metadata.icc.IccReader:198"
        BranchSideFuncs:
        - "format(java.lang.String,java.lang.Object[])"
        - "addError(java.lang.String)"
    - Branch String: "com.drew.metadata.icc.IccReader:192"
      Branch Sides:
      - BranchSide: "com.drew.metadata.icc.IccReader:198"
        BranchSideFuncs:
        - "format(java.lang.String,java.lang.Object[])"
        - "addError(java.lang.String)"
    Callsites:
    - Src: "com.drew.metadata.icc.IccReader:185,1"
      Dst: "[com.drew.lang.RandomAccessReader].getUInt16(int)"
    - Src: "com.drew.metadata.icc.IccReader:192,1"
      Dst: "[com.drew.lang.DateUtil].isValidDate(int,int,int)"
    - Src: "com.drew.metadata.icc.IccReader:192,1"
      Dst: "[com.drew.lang.DateUtil].isValidTime(int,int,int)"
    - Src: "com.drew.metadata.icc.IccReader:194,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.drew.metadata.icc.IccReader:194,1"
      Dst: "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - Src: "com.drew.metadata.icc.IccReader:195,1"
      Dst: "[com.drew.metadata.Directory].setString(int,java.lang.String)"
    - Src: "com.drew.metadata.icc.IccReader:199,1"
      Dst: "[com.drew.metadata.Directory].addError(java.lang.String)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.lang.DateUtil].isValidDate(int,int,int)"
    functionSourceFile: "com.drew.lang.DateUtil"
    linkageType: ""
    functionLinenumber: 39
    functionLinenumberEnd: 52
    functionDepth: 0
    returnType: "boolean"
    argCount: 3
    argTypes:
    - "int"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 28
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.lang.DateUtil:40"
      Branch Sides:
      - BranchSide: "com.drew.lang.DateUtil:41"
        BranchSideFuncs: []
      - BranchSide: "com.drew.lang.DateUtil:40"
        BranchSideFuncs: []
    - Branch String: "com.drew.lang.DateUtil:40"
      Branch Sides:
      - BranchSide: "com.drew.lang.DateUtil:41"
        BranchSideFuncs: []
      - BranchSide: "com.drew.lang.DateUtil:40"
        BranchSideFuncs: []
    - Branch String: "com.drew.lang.DateUtil:40"
      Branch Sides:
      - BranchSide: "com.drew.lang.DateUtil:41"
        BranchSideFuncs: []
      - BranchSide: "com.drew.lang.DateUtil:40"
        BranchSideFuncs: []
    - Branch String: "com.drew.lang.DateUtil:40"
      Branch Sides:
      - BranchSide: "com.drew.lang.DateUtil:43"
        BranchSideFuncs: []
      - BranchSide: "com.drew.lang.DateUtil:42"
        BranchSideFuncs: []
    - Branch String: "com.drew.lang.DateUtil:44"
      Branch Sides:
      - BranchSide: "com.drew.lang.DateUtil:50"
        BranchSideFuncs: []
    - Branch String: "com.drew.lang.DateUtil:46"
      Branch Sides:
      - BranchSide: "com.drew.lang.DateUtil:-1"
        BranchSideFuncs: []
      - BranchSide: "com.drew.lang.DateUtil:-2"
        BranchSideFuncs: []
    - Branch String: "com.drew.lang.DateUtil:46"
      Branch Sides:
      - BranchSide: "com.drew.lang.DateUtil:46"
        BranchSideFuncs: []
      - BranchSide: "com.drew.lang.DateUtil:45"
        BranchSideFuncs: []
    - Branch String: "com.drew.lang.DateUtil:46"
      Branch Sides:
      - BranchSide: "com.drew.lang.DateUtil:-1"
        BranchSideFuncs: []
      - BranchSide: "com.drew.lang.DateUtil:-2"
        BranchSideFuncs: []
    - Branch String: "com.drew.lang.DateUtil:47"
      Branch Sides:
      - BranchSide: "com.drew.lang.DateUtil:51"
        BranchSideFuncs: []
      - BranchSide: "com.drew.lang.DateUtil:50"
        BranchSideFuncs: []
    - Branch String: "com.drew.lang.DateUtil:51"
      Branch Sides:
      - BranchSide: "com.drew.lang.DateUtil:50"
        BranchSideFuncs: []
    - Branch String: "com.drew.lang.DateUtil:51"
      Branch Sides:
      - BranchSide: "com.drew.lang.DateUtil:50"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 18
    CyclomaticComplexity: 11
  - functionName: "[com.drew.lang.DateUtil].isValidTime(int,int,int)"
    functionSourceFile: "com.drew.lang.DateUtil"
    linkageType: ""
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionDepth: 0
    returnType: "boolean"
    argCount: 3
    argTypes:
    - "int"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 13
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.lang.DateUtil:56"
      Branch Sides:
      - BranchSide: "com.drew.lang.DateUtil:-2"
        BranchSideFuncs: []
    - Branch String: "com.drew.lang.DateUtil:56"
      Branch Sides:
      - BranchSide: "com.drew.lang.DateUtil:-2"
        BranchSideFuncs: []
    - Branch String: "com.drew.lang.DateUtil:56"
      Branch Sides:
      - BranchSide: "com.drew.lang.DateUtil:-2"
        BranchSideFuncs: []
    - Branch String: "com.drew.lang.DateUtil:56"
      Branch Sides:
      - BranchSide: "com.drew.lang.DateUtil:-2"
        BranchSideFuncs: []
    - Branch String: "com.drew.lang.DateUtil:56"
      Branch Sides:
      - BranchSide: "com.drew.lang.DateUtil:-2"
        BranchSideFuncs: []
    - Branch String: "com.drew.lang.DateUtil:56"
      Branch Sides:
      - BranchSide: "com.drew.lang.DateUtil:-2"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 9
    CyclomaticComplexity: 7
  - functionName: "[com.drew.metadata.icc.IccReader].setInt64(com.drew.metadata.Directory,int,com.drew.lang.RandomAccessReader)"
    functionSourceFile: "com.drew.metadata.icc.IccReader"
    linkageType: ""
    functionLinenumber: 176
    functionLinenumberEnd: 181
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.drew.metadata.Directory"
    - "int"
    - "com.drew.lang.RandomAccessReader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.RandomAccessReader].getInt64(int)"
    - "[com.drew.metadata.Directory].setLong(int,long)"
    functionUses: 1
    ICount: 9
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.drew.metadata.icc.IccReader:178"
      Branch Sides:
      - BranchSide: "com.drew.metadata.icc.IccReader:180"
        BranchSideFuncs:
        - "setLong(int,long)"
      - BranchSide: "com.drew.metadata.icc.IccReader:179"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.icc.IccReader:177,1"
      Dst: "[com.drew.lang.RandomAccessReader].getInt64(int)"
    - Src: "com.drew.metadata.icc.IccReader:179,1"
      Dst: "[com.drew.metadata.Directory].setLong(int,long)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.gif.GifAnimationDirectory].<init>()"
    functionSourceFile: "com.drew.metadata.gif.GifAnimationDirectory"
    linkageType: ""
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].<init>()"
    - "[com.drew.metadata.gif.GifAnimationDescriptor].<init>(com.drew.metadata.gif.GifAnimationDirectory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 1
    ICount: 6
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.gif.GifAnimationDirectory:46,1"
      Dst: "[com.drew.metadata.Directory].<init>()"
    - Src: "com.drew.metadata.gif.GifAnimationDirectory:47,1"
      Dst: "[com.drew.metadata.gif.GifAnimationDescriptor].<init>(com.drew.metadata.gif.GifAnimationDirectory)"
    - Src: "com.drew.metadata.gif.GifAnimationDirectory:47,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.gif.GifAnimationDescriptor].<init>(com.drew.metadata.gif.GifAnimationDirectory)"
    functionSourceFile: "com.drew.metadata.gif.GifAnimationDescriptor"
    linkageType: ""
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.gif.GifAnimationDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.gif.GifAnimationDescriptor:38,1"
      Dst: "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    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: "[com.drew.metadata.gif.GifReader].readImageBlock(com.drew.lang.SequentialReader)"
    functionSourceFile: "com.drew.metadata.gif.GifReader"
    linkageType: ""
    functionLinenumber: 324
    functionLinenumberEnd: 355
    functionDepth: 3
    returnType: "com.drew.metadata.gif.GifImageDirectory"
    argCount: 1
    argTypes:
    - "com.drew.lang.SequentialReader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.gif.GifImageDirectory].<init>()"
    - "[com.drew.lang.SequentialReader].getUInt16()"
    - "[com.drew.metadata.Directory].setInt(int,int)"
    - "[com.drew.lang.StreamReader].getByte()"
    - "[com.drew.lang.SequentialByteArrayReader].getByte()"
    - "[com.drew.metadata.Directory].setBoolean(int,boolean)"
    - "[com.drew.lang.StreamReader].skip(long)"
    - "[com.drew.lang.SequentialByteArrayReader].skip(long)"
    - "[com.drew.lang.SequentialReader].getByte()"
    - "[com.drew.lang.SequentialReader].skip(long)"
    functionUses: 1
    ICount: 45
    EdgeCount: 19
    BranchProfiles:
    - Branch String: "com.drew.metadata.gif.GifReader:333"
      Branch Sides:
      - BranchSide: "com.drew.metadata.gif.GifReader:325"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.gif.GifReader:324"
        BranchSideFuncs:
        - "<init>()"
        - "getUInt16()"
    - Branch String: "com.drew.metadata.gif.GifReader:334"
      Branch Sides:
      - BranchSide: "com.drew.metadata.gif.GifReader:332"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.gif.GifReader:339"
      Branch Sides:
      - BranchSide: "com.drew.metadata.gif.GifReader:351"
        BranchSideFuncs:
        - "getByte()"
    - Branch String: "com.drew.metadata.gif.GifReader:341"
      Branch Sides:
      - BranchSide: "com.drew.metadata.gif.GifReader:341"
        BranchSideFuncs:
        - "setBoolean(int,boolean)"
        - "skip(long)"
        - "setInt(int,int)"
      - BranchSide: "com.drew.metadata.gif.GifReader:340"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.gif.GifReader:325,1"
      Dst: "[com.drew.metadata.gif.GifImageDirectory].<init>()"
    - Src: "com.drew.metadata.gif.GifReader:327,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt16()"
    - Src: "com.drew.metadata.gif.GifReader:327,1"
      Dst: "[com.drew.metadata.Directory].setInt(int,int)"
    - Src: "com.drew.metadata.gif.GifReader:332,1"
      Dst: "[com.drew.lang.SequentialReader].getByte()"
    - Src: "com.drew.metadata.gif.GifReader:336,1"
      Dst: "[com.drew.metadata.Directory].setBoolean(int,boolean)"
    - Src: "com.drew.metadata.gif.GifReader:348,1"
      Dst: "[com.drew.lang.SequentialReader].skip(long)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 12
    CyclomaticComplexity: 5
  - functionName: "[com.drew.metadata.gif.GifImageDirectory].<init>()"
    functionSourceFile: "com.drew.metadata.gif.GifImageDirectory"
    linkageType: ""
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].<init>()"
    - "[com.drew.metadata.gif.GifImageDescriptor].<init>(com.drew.metadata.gif.GifImageDirectory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 1
    ICount: 6
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.gif.GifImageDirectory:60,1"
      Dst: "[com.drew.metadata.Directory].<init>()"
    - Src: "com.drew.metadata.gif.GifImageDirectory:61,1"
      Dst: "[com.drew.metadata.gif.GifImageDescriptor].<init>(com.drew.metadata.gif.GifImageDirectory)"
    - Src: "com.drew.metadata.gif.GifImageDirectory:61,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.gif.GifImageDescriptor].<init>(com.drew.metadata.gif.GifImageDirectory)"
    functionSourceFile: "com.drew.metadata.gif.GifImageDescriptor"
    linkageType: ""
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.gif.GifImageDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.gif.GifImageDescriptor:35,1"
      Dst: "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    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: "[com.drew.metadata.bmp.BmpReader].<init>()"
    functionSourceFile: "com.drew.metadata.bmp.BmpReader"
    linkageType: ""
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.bmp.BmpReader:50,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: "[com.drew.metadata.bmp.BmpReader].extract(com.drew.lang.SequentialReader,com.drew.metadata.Metadata)"
    functionSourceFile: "com.drew.metadata.bmp.BmpReader"
    linkageType: ""
    functionLinenumber: 79
    functionLinenumberEnd: 89
    functionDepth: 6
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "com.drew.metadata.Metadata"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.SequentialReader].setMotorolaByteOrder(boolean)"
    - "[com.drew.metadata.bmp.BmpReader].readFileHeader(com.drew.lang.SequentialReader,com.drew.metadata.Metadata,boolean)"
    functionUses: 1
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.bmp.BmpReader:80,1"
      Dst: "[com.drew.lang.SequentialReader].setMotorolaByteOrder(boolean)"
    - Src: "com.drew.metadata.bmp.BmpReader:87,1"
      Dst: "[com.drew.metadata.bmp.BmpReader].readFileHeader(com.drew.lang.SequentialReader,com.drew.metadata.Metadata,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: "[com.drew.metadata.bmp.BmpReader].readFileHeader(com.drew.lang.SequentialReader,com.drew.metadata.Metadata,boolean)"
    functionSourceFile: "com.drew.metadata.bmp.BmpReader"
    linkageType: ""
    functionLinenumber: 116
    functionLinenumberEnd: 169
    functionDepth: 5
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "com.drew.metadata.Metadata"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.SequentialReader].getUInt16()"
    - "[com.drew.metadata.ErrorDirectory].<init>(java.lang.String)"
    - "[java.lang.StringBuilder].<init>()"
    - "[com.drew.metadata.Metadata].addDirectory(com.drew.metadata.Directory)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.io.InvalidClassException].getMessage()"
    - "[java.lang.StringBuilder].toString()"
    - "[com.drew.metadata.bmp.BmpReader].addError(java.lang.String,com.drew.metadata.Metadata)"
    - "[com.drew.lang.StreamReader].skip(long)"
    - "[com.drew.lang.SequentialByteArrayReader].skip(long)"
    - "[com.drew.lang.SequentialReader].getUInt32()"
    - "[com.drew.metadata.bmp.BmpReader].readFileHeader(com.drew.lang.SequentialReader,com.drew.metadata.Metadata,boolean)"
    - "[com.drew.lang.StreamReader].getPosition()"
    - "[com.drew.lang.SequentialByteArrayReader].getPosition()"
    - "[com.drew.metadata.bmp.BmpHeaderDirectory].<init>()"
    - "[com.drew.metadata.Directory].setInt(int,int)"
    - "[com.drew.metadata.bmp.BmpReader].readBitmapHeader(com.drew.lang.SequentialReader,com.drew.metadata.bmp.BmpHeaderDirectory,com.drew.metadata.Metadata)"
    - "[java.lang.Integer].toHexString(int)"
    - "[com.drew.metadata.Directory].addError(java.lang.String)"
    - "[java.lang.Throwable].getMessage()"
    - "[com.drew.lang.SequentialReader].skip(long)"
    - "[com.drew.lang.SequentialReader].getPosition()"
    functionUses: 3
    ICount: 66
    EdgeCount: 37
    BranchProfiles:
    - Branch String: "com.drew.metadata.bmp.BmpReader:127"
      Branch Sides:
      - BranchSide: "com.drew.metadata.bmp.BmpReader:131"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.bmp.BmpReader:130"
        BranchSideFuncs:
        - "getUInt32()"
    - Branch String: "com.drew.metadata.bmp.BmpReader:135"
      Branch Sides:
      - BranchSide: "com.drew.metadata.bmp.BmpReader:138"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.bmp.BmpReader:137"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.bmp.BmpReader:138"
      Branch Sides:
      - BranchSide: "com.drew.metadata.bmp.BmpReader:142"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.bmp.BmpReader:141"
        BranchSideFuncs:
        - "readFileHeader(com.drew.lang.SequentialReader,com.drew.metadata.Metadata,boolean)"
        - "getPosition()"
    - Branch String: "com.drew.metadata.bmp.BmpReader:162"
      Branch Sides:
      - BranchSide: "com.drew.metadata.bmp.BmpReader:165"
        BranchSideFuncs:
        - "addError(java.lang.String,com.drew.metadata.Metadata)"
      - BranchSide: "com.drew.metadata.bmp.BmpReader:164"
        BranchSideFuncs:
        - "addError(java.lang.String)"
    Callsites:
    - Src: "com.drew.metadata.bmp.BmpReader:117,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt16()"
    - Src: "com.drew.metadata.bmp.BmpReader:119,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.bmp.BmpReader:119,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.bmp.BmpReader:119,1"
      Dst: "[java.lang.Throwable].getMessage()"
    - Src: "com.drew.metadata.bmp.BmpReader:119,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "com.drew.metadata.bmp.BmpReader:119,1"
      Dst: "[com.drew.metadata.ErrorDirectory].<init>(java.lang.String)"
    - Src: "com.drew.metadata.bmp.BmpReader:119,1"
      Dst: "[com.drew.metadata.Metadata].addDirectory(com.drew.metadata.Directory)"
    - Src: "com.drew.metadata.bmp.BmpReader:128,1"
      Dst: "[com.drew.metadata.bmp.BmpReader].addError(java.lang.String,com.drew.metadata.Metadata)"
    - Src: "com.drew.metadata.bmp.BmpReader:131,1"
      Dst: "[com.drew.lang.SequentialReader].skip(long)"
    - Src: "com.drew.metadata.bmp.BmpReader:132,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt32()"
    - Src: "com.drew.metadata.bmp.BmpReader:134,1"
      Dst: "[com.drew.metadata.bmp.BmpReader].readFileHeader(com.drew.lang.SequentialReader,com.drew.metadata.Metadata,boolean)"
    - Src: "com.drew.metadata.bmp.BmpReader:138,1"
      Dst: "[com.drew.lang.SequentialReader].getPosition()"
    - Src: "com.drew.metadata.bmp.BmpReader:150,1"
      Dst: "[com.drew.metadata.bmp.BmpHeaderDirectory].<init>()"
    - Src: "com.drew.metadata.bmp.BmpReader:152,1"
      Dst: "[com.drew.metadata.Directory].setInt(int,int)"
    - Src: "com.drew.metadata.bmp.BmpReader:155,1"
      Dst: "[com.drew.metadata.bmp.BmpReader].readBitmapHeader(com.drew.lang.SequentialReader,com.drew.metadata.bmp.BmpHeaderDirectory,com.drew.metadata.Metadata)"
    - Src: "com.drew.metadata.bmp.BmpReader:158,1"
      Dst: "[java.lang.Integer].toHexString(int)"
    - Src: "com.drew.metadata.bmp.BmpReader:165,1"
      Dst: "[com.drew.metadata.Directory].addError(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: 17
    CyclomaticComplexity: 3
  - functionName: "[com.drew.metadata.bmp.BmpReader].addError(java.lang.String,com.drew.metadata.Metadata)"
    functionSourceFile: "com.drew.metadata.bmp.BmpReader"
    linkageType: ""
    functionLinenumber: 396
    functionLinenumberEnd: 404
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "com.drew.metadata.Metadata"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Metadata].getFirstDirectoryOfType(java.lang.Class)"
    - "[com.drew.metadata.ErrorDirectory].<init>(java.lang.String)"
    - "[com.drew.metadata.Metadata].addDirectory(com.drew.metadata.Directory)"
    - "[com.drew.metadata.Directory].addError(java.lang.String)"
    functionUses: 3
    ICount: 12
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.drew.metadata.bmp.BmpReader:398"
      Branch Sides:
      - BranchSide: "com.drew.metadata.bmp.BmpReader:401"
        BranchSideFuncs:
        - "addDirectory(com.drew.metadata.Directory)"
        - "<init>(java.lang.String)"
      - BranchSide: "com.drew.metadata.bmp.BmpReader:400"
        BranchSideFuncs:
        - "addError(java.lang.String)"
    Callsites:
    - Src: "com.drew.metadata.bmp.BmpReader:397,1"
      Dst: "[com.drew.metadata.Metadata].getFirstDirectoryOfType(java.lang.Class)"
    - Src: "com.drew.metadata.bmp.BmpReader:399,1"
      Dst: "[com.drew.metadata.ErrorDirectory].<init>(java.lang.String)"
    - Src: "com.drew.metadata.bmp.BmpReader:399,1"
      Dst: "[com.drew.metadata.Metadata].addDirectory(com.drew.metadata.Directory)"
    - Src: "com.drew.metadata.bmp.BmpReader:401,1"
      Dst: "[com.drew.metadata.Directory].addError(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: "[com.drew.metadata.bmp.BmpHeaderDescriptor].<init>(com.drew.metadata.bmp.BmpHeaderDirectory)"
    functionSourceFile: "com.drew.metadata.bmp.BmpHeaderDescriptor"
    linkageType: ""
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.bmp.BmpHeaderDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.bmp.BmpHeaderDescriptor:40,1"
      Dst: "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    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: "[com.drew.metadata.bmp.BmpReader].readBitmapHeader(com.drew.lang.SequentialReader,com.drew.metadata.bmp.BmpHeaderDirectory,com.drew.metadata.Metadata)"
    functionSourceFile: "com.drew.metadata.bmp.BmpReader"
    linkageType: ""
    functionLinenumber: 263
    functionLinenumberEnd: 395
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "com.drew.metadata.bmp.BmpHeaderDirectory"
    - "com.drew.metadata.Metadata"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInt(int)"
    - "[com.drew.lang.StreamReader].getPosition()"
    - "[com.drew.lang.SequentialByteArrayReader].getPosition()"
    - "[com.drew.lang.SequentialReader].getInt32()"
    - "[com.drew.metadata.Directory].setInt(int,int)"
    - "[com.drew.lang.SequentialReader].getInt16()"
    - "[com.drew.lang.SequentialReader].getUInt16()"
    - "[com.drew.lang.StreamReader].skip(long)"
    - "[com.drew.lang.SequentialByteArrayReader].skip(long)"
    - "[com.drew.lang.SequentialReader].getUInt32()"
    - "[com.drew.metadata.Directory].setLong(int,long)"
    - "[com.drew.metadata.bmp.BmpHeaderDirectory$ColorSpaceType].getValue()"
    - "[java.lang.StringBuilder].<init>()"
    - "[com.drew.metadata.Directory].addError(java.lang.String)"
    - "[java.lang.StringBuilder].append(int)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.Long].toHexString(long)"
    - "[com.drew.lang.SequentialReader].getNullTerminatedString(int,java.nio.charset.Charset,boolean)"
    - "[com.drew.metadata.Directory].setString(int,java.lang.String)"
    - "[com.drew.lang.ByteArrayReader].<init>(byte[])"
    - "[com.drew.lang.SequentialByteArrayReader].getBytes(int)"
    - "[com.drew.lang.StreamReader].getBytes(int)"
    - "[com.drew.metadata.icc.IccReader].<init>()"
    - "[com.drew.metadata.icc.IccReader].extract(com.drew.lang.RandomAccessReader,com.drew.metadata.Metadata,com.drew.metadata.Directory)"
    - "[com.drew.lang.SequentialReader].getPosition()"
    - "[com.drew.lang.SequentialReader].skip(long)"
    - "[com.drew.lang.SequentialReader].getBytes(int)"
    functionUses: 1
    ICount: 180
    EdgeCount: 129
    BranchProfiles:
    - Branch String: "com.drew.metadata.bmp.BmpReader:284"
      Branch Sides:
      - BranchSide: "com.drew.metadata.bmp.BmpReader:295"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.bmp.BmpReader:284"
      Branch Sides:
      - BranchSide: "com.drew.metadata.bmp.BmpReader:295"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.bmp.BmpReader:296"
      Branch Sides:
      - BranchSide: "com.drew.metadata.bmp.BmpReader:301"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.bmp.BmpReader:300"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.bmp.BmpReader:301"
      Branch Sides:
      - BranchSide: "com.drew.metadata.bmp.BmpReader:302"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.bmp.BmpReader:301"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.bmp.BmpReader:301"
      Branch Sides:
      - BranchSide: "com.drew.metadata.bmp.BmpReader:323"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.bmp.BmpReader:322"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.bmp.BmpReader:306"
      Branch Sides:
      - BranchSide: "com.drew.metadata.bmp.BmpReader:393"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.bmp.BmpReader:392"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.bmp.BmpReader:323"
      Branch Sides:
      - BranchSide: "com.drew.metadata.bmp.BmpReader:326"
        BranchSideFuncs:
        - "getUInt16()"
    - Branch String: "com.drew.metadata.bmp.BmpReader:323"
      Branch Sides:
      - BranchSide: "com.drew.metadata.bmp.BmpReader:326"
        BranchSideFuncs:
        - "getUInt16()"
    - Branch String: "com.drew.metadata.bmp.BmpReader:323"
      Branch Sides:
      - BranchSide: "com.drew.metadata.bmp.BmpReader:326"
        BranchSideFuncs:
        - "getUInt16()"
    - Branch String: "com.drew.metadata.bmp.BmpReader:323"
      Branch Sides:
      - BranchSide: "com.drew.metadata.bmp.BmpReader:326"
        BranchSideFuncs:
        - "getUInt16()"
    - Branch String: "com.drew.metadata.bmp.BmpReader:323"
      Branch Sides:
      - BranchSide: "com.drew.metadata.bmp.BmpReader:386"
        BranchSideFuncs:
        - "append(java.lang.String)"
        - "toString()"
        - "append(int)"
        - "<init>()"
    - Branch String: "com.drew.metadata.bmp.BmpReader:338"
      Branch Sides:
      - BranchSide: "com.drew.metadata.bmp.BmpReader:341"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.bmp.BmpReader:340"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.bmp.BmpReader:344"
      Branch Sides:
      - BranchSide: "com.drew.metadata.bmp.BmpReader:347"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.bmp.BmpReader:346"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.bmp.BmpReader:348"
      Branch Sides:
      - BranchSide: "com.drew.metadata.bmp.BmpReader:351"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.bmp.BmpReader:350"
        BranchSideFuncs:
        - "setLong(int,long)"
    - Branch String: "com.drew.metadata.bmp.BmpReader:357"
      Branch Sides:
      - BranchSide: "com.drew.metadata.bmp.BmpReader:360"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.bmp.BmpReader:359"
        BranchSideFuncs:
        - "setInt(int,int)"
    - Branch String: "com.drew.metadata.bmp.BmpReader:361"
      Branch Sides:
      - BranchSide: "com.drew.metadata.bmp.BmpReader:362"
        BranchSideFuncs:
        - "getUInt32()"
        - "getInt32()"
      - BranchSide: "com.drew.metadata.bmp.BmpReader:361"
        BranchSideFuncs:
        - "getUInt32()"
        - "getInt32()"
    - Branch String: "com.drew.metadata.bmp.BmpReader:361"
      Branch Sides:
      - BranchSide: "com.drew.metadata.bmp.BmpReader:380"
        BranchSideFuncs:
        - "getUInt32()"
        - "getInt32()"
      - BranchSide: "com.drew.metadata.bmp.BmpReader:379"
        BranchSideFuncs:
        - "skip(long)"
    - Branch String: "com.drew.metadata.bmp.BmpReader:364"
      Branch Sides:
      - BranchSide: "com.drew.metadata.bmp.BmpReader:368"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.bmp.BmpReader:367"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.bmp.BmpReader:368"
      Branch Sides:
      - BranchSide: "com.drew.metadata.bmp.BmpReader:372"
        BranchSideFuncs:
        - "toHexString(long)"
      - BranchSide: "com.drew.metadata.bmp.BmpReader:371"
        BranchSideFuncs:
        - "getValue()"
        - "getPosition()"
    - Branch String: "com.drew.metadata.bmp.BmpReader:373"
      Branch Sides:
      - BranchSide: "com.drew.metadata.bmp.BmpReader:376"
        BranchSideFuncs:
        - "getNullTerminatedString(int,java.nio.charset.Charset,boolean)"
        - "setString(int,java.lang.String)"
      - BranchSide: "com.drew.metadata.bmp.BmpReader:375"
        BranchSideFuncs:
        - "extract(com.drew.lang.RandomAccessReader,com.drew.metadata.Metadata,com.drew.metadata.Directory)"
        - "<init>(byte[])"
        - "getBytes(int)"
    Callsites:
    - Src: "com.drew.metadata.bmp.BmpReader:264,1"
      Dst: "[com.drew.metadata.Directory].getInt(int)"
    - Src: "com.drew.metadata.bmp.BmpReader:265,1"
      Dst: "[com.drew.lang.SequentialReader].getPosition()"
    - Src: "com.drew.metadata.bmp.BmpReader:266,1"
      Dst: "[com.drew.lang.SequentialReader].getInt32()"
    - Src: "com.drew.metadata.bmp.BmpReader:268,1"
      Dst: "[com.drew.metadata.Directory].setInt(int,int)"
    - Src: "com.drew.metadata.bmp.BmpReader:292,1"
      Dst: "[com.drew.lang.SequentialReader].getInt16()"
    - Src: "com.drew.metadata.bmp.BmpReader:294,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt16()"
    - Src: "com.drew.metadata.bmp.BmpReader:308,1"
      Dst: "[com.drew.lang.SequentialReader].skip(long)"
    - Src: "com.drew.metadata.bmp.BmpReader:341,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt32()"
    - Src: "com.drew.metadata.bmp.BmpReader:341,1"
      Dst: "[com.drew.metadata.Directory].setLong(int,long)"
    - Src: "com.drew.metadata.bmp.BmpReader:361,1"
      Dst: "[com.drew.metadata.bmp.BmpHeaderDirectory$ColorSpaceType].getValue()"
    - Src: "com.drew.metadata.bmp.BmpReader:365,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.bmp.BmpReader:365,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.bmp.BmpReader:365,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    - Src: "com.drew.metadata.bmp.BmpReader:365,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "com.drew.metadata.bmp.BmpReader:365,1"
      Dst: "[com.drew.metadata.Directory].addError(java.lang.String)"
    - Src: "com.drew.metadata.bmp.BmpReader:369,1"
      Dst: "[java.lang.Long].toHexString(long)"
    - Src: "com.drew.metadata.bmp.BmpReader:374,1"
      Dst: "[com.drew.lang.SequentialReader].getNullTerminatedString(int,java.nio.charset.Charset,boolean)"
    - Src: "com.drew.metadata.bmp.BmpReader:374,1"
      Dst: "[com.drew.metadata.Directory].setString(int,java.lang.String)"
    - Src: "com.drew.metadata.bmp.BmpReader:376,1"
      Dst: "[com.drew.lang.SequentialReader].getBytes(int)"
    - Src: "com.drew.metadata.bmp.BmpReader:376,1"
      Dst: "[com.drew.lang.ByteArrayReader].<init>(byte[])"
    - Src: "com.drew.metadata.bmp.BmpReader:377,1"
      Dst: "[com.drew.metadata.icc.IccReader].<init>()"
    - Src: "com.drew.metadata.bmp.BmpReader:377,1"
      Dst: "[com.drew.metadata.icc.IccReader].extract(com.drew.lang.RandomAccessReader,com.drew.metadata.Metadata,com.drew.metadata.Directory)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 39
    CyclomaticComplexity: 15
  - functionName: "[com.drew.metadata.bmp.BmpHeaderDirectory$ColorSpaceType].getValue()"
    functionSourceFile: "com.drew.metadata.bmp.BmpHeaderDirectory$ColorSpaceType"
    linkageType: ""
    functionLinenumber: 398
    functionLinenumberEnd: 400
    functionDepth: 0
    returnType: "long"
    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: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.mp3.Mp3Descriptor].<init>(com.drew.metadata.mp3.Mp3Directory)"
    functionSourceFile: "com.drew.metadata.mp3.Mp3Descriptor"
    linkageType: ""
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.mp3.Mp3Directory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mp3.Mp3Descriptor:34,1"
      Dst: "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    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: "[com.drew.metadata.mp3.Mp3Descriptor].getDescription(int)"
    functionSourceFile: "com.drew.metadata.mp3.Mp3Descriptor"
    linkageType: ""
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getDescription(int)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mp3.Mp3Descriptor:41,1"
      Dst: "[com.drew.metadata.TagDescriptor].getDescription(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: "[com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDirectory)"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:47,1"
      Dst: "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    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: "[com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor].getDescription(int)"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 53
    functionLinenumberEnd: 83
    functionDepth: 3
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor].getEquipmentVersionDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor].getCameraType2Description()"
    - "[com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor].getFocalPlaneDiagonalDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor].getBodyFirmwareVersionDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor].getLensTypeDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor].getLensFirmwareVersionDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor].getMaxApertureAtMinFocalDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor].getMaxApertureAtMaxFocalDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor].getMaxApertureDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor].getLensPropertiesDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor].getExtenderDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor].getFlashTypeDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor].getFlashModelDescription()"
    - "[com.drew.metadata.TagDescriptor].getDescription(int)"
    functionUses: 1
    ICount: 31
    EdgeCount: 14
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:56,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor].getEquipmentVersionDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:58,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor].getCameraType2Description()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:60,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor].getFocalPlaneDiagonalDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:62,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor].getBodyFirmwareVersionDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:64,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor].getLensTypeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:66,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor].getLensFirmwareVersionDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:68,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor].getMaxApertureAtMinFocalDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:70,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor].getMaxApertureAtMaxFocalDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:72,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor].getMaxApertureDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:74,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor].getLensPropertiesDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:76,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor].getExtenderDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:78,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor].getFlashTypeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:80,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor].getFlashModelDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:82,1"
      Dst: "[com.drew.metadata.TagDescriptor].getDescription(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: 15
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor].getEquipmentVersionDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getVersionBytesDescription(int,int)"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:89,1"
      Dst: "[com.drew.metadata.TagDescriptor].getVersionBytesDescription(int,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: "[com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor].getCameraType2Description()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 94
    functionLinenumberEnd: 103
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getString(int)"
    - "[java.util.HashMap].containsKey(java.lang.Object)"
    - "[java.util.HashMap:java.util.LinkedHashMap].get(java.lang.Object)"
    - "[java.util.HashMap].get(java.lang.Object)"
    functionUses: 1
    ICount: 14
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:96"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:99"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:98"
        BranchSideFuncs:
        - "containsKey(java.lang.Object)"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:99"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:102"
        BranchSideFuncs:
        - "get(java.lang.Object)"
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:101"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:95,1"
      Dst: "[com.drew.metadata.Directory].getString(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:99,1"
      Dst: "[java.util.HashMap].containsKey(java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:100,1"
      Dst: "[java.util.HashMap].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: 5
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor].getFocalPlaneDiagonalDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[com.drew.metadata.Directory].getString(int)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 10
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:108,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:108,1"
      Dst: "[com.drew.metadata.Directory].getString(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:108,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:108,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: "[com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor].getBodyFirmwareVersionDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 113
    functionLinenumberEnd: 122
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.lang.String].length()"
    - "[java.lang.String].substring(int,int)"
    - "[java.lang.String].substring(int)"
    functionUses: 1
    ICount: 20
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:115"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:118"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:117"
        BranchSideFuncs:
        - "format(java.lang.String,java.lang.Object[])"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:114,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:118,1"
      Dst: "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - Src: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:120,1"
      Dst: "[java.lang.String].length()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:120,1"
      Dst: "[java.lang.String].substring(int,int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:121,1"
      Dst: "[java.lang.String].substring(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: 3
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor].getLensTypeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 126
    functionLinenumberEnd: 154
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getString(int)"
    - "[java.lang.String].split(java.lang.String)"
    - "[java.lang.Integer].parseInt(java.lang.String)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.util.HashMap].get(java.lang.Object)"
    - "[java.util.LinkedHashMap].get(java.lang.Object)"
    - "[java.lang.Integer].valueOf(int)"
    functionUses: 1
    ICount: 30
    EdgeCount: 11
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:129"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:142"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:141"
        BranchSideFuncs:
        - "split(java.lang.String)"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:144"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:148"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:147"
        BranchSideFuncs:
        - "parseInt(java.lang.String)"
        - "format(java.lang.String,java.lang.Object[])"
        - "valueOf(int)"
        - "get(java.lang.Object)"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:127,1"
      Dst: "[com.drew.metadata.Directory].getString(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:142,1"
      Dst: "[java.lang.String].split(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:148,1"
      Dst: "[java.lang.Integer].parseInt(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:151,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:151,1"
      Dst: "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - Src: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:151,1"
      Dst: "[java.util.HashMap].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: 6
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor].getLensFirmwareVersionDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 159
    functionLinenumberEnd: 168
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.lang.String].length()"
    - "[java.lang.String].substring(int,int)"
    - "[java.lang.String].substring(int)"
    functionUses: 1
    ICount: 20
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:161"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:164"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:163"
        BranchSideFuncs:
        - "format(java.lang.String,java.lang.Object[])"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:160,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:164,1"
      Dst: "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - Src: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:166,1"
      Dst: "[java.lang.String].length()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:166,1"
      Dst: "[java.lang.String].substring(int,int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:167,1"
      Dst: "[java.lang.String].substring(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: 3
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor].getMaxApertureAtMinFocalDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 172
    functionLinenumberEnd: 179
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.text.DecimalFormat].<init>(java.lang.String)"
    - "[com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor].CalcMaxAperture(int)"
    - "[java.text.NumberFormat].format(double)"
    - "[java.lang.Integer].intValue()"
    functionUses: 1
    ICount: 12
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:174"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:177"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:176"
        BranchSideFuncs:
        - "format(double)"
        - "intValue()"
        - "<init>(java.lang.String)"
        - "CalcMaxAperture(int)"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:173,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:177,1"
      Dst: "[java.text.DecimalFormat].<init>(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:178,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:178,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor].CalcMaxAperture(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:178,1"
      Dst: "[java.text.NumberFormat].format(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: "[com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor].CalcMaxAperture(int)"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 204
    functionLinenumberEnd: 206
    functionDepth: 0
    returnType: "double"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Math].pow(double,double)"
    - "[java.lang.Math].sqrt(double)"
    functionUses: 3
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:205,1"
      Dst: "[java.lang.Math].sqrt(double)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:205,1"
      Dst: "[java.lang.Math].pow(double,double)"
    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: "[com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor].getMaxApertureAtMaxFocalDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 183
    functionLinenumberEnd: 190
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.text.DecimalFormat].<init>(java.lang.String)"
    - "[com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor].CalcMaxAperture(int)"
    - "[java.text.NumberFormat].format(double)"
    - "[java.lang.Integer].intValue()"
    functionUses: 1
    ICount: 12
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:185"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:188"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:187"
        BranchSideFuncs:
        - "format(double)"
        - "intValue()"
        - "<init>(java.lang.String)"
        - "CalcMaxAperture(int)"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:184,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:188,1"
      Dst: "[java.text.DecimalFormat].<init>(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:189,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:189,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor].CalcMaxAperture(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:189,1"
      Dst: "[java.text.NumberFormat].format(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: "[com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor].getMaxApertureDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 194
    functionLinenumberEnd: 201
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.text.DecimalFormat].<init>(java.lang.String)"
    - "[com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor].CalcMaxAperture(int)"
    - "[java.text.NumberFormat].format(double)"
    - "[java.lang.Integer].intValue()"
    functionUses: 1
    ICount: 12
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:196"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:199"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:198"
        BranchSideFuncs:
        - "format(double)"
        - "intValue()"
        - "<init>(java.lang.String)"
        - "CalcMaxAperture(int)"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:195,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:199,1"
      Dst: "[java.text.DecimalFormat].<init>(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:200,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:200,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor].CalcMaxAperture(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:200,1"
      Dst: "[java.text.NumberFormat].format(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: "[com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor].getLensPropertiesDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 210
    functionLinenumberEnd: 216
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    functionUses: 1
    ICount: 10
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:212"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:215"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:214"
        BranchSideFuncs:
        - "format(java.lang.String,java.lang.Object[])"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:211,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:215,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: 3
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor].getExtenderDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 220
    functionLinenumberEnd: 248
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getString(int)"
    - "[java.lang.String].split(java.lang.String)"
    - "[java.lang.Integer].parseInt(java.lang.String)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.lang.Integer].valueOf(int)"
    - "[java.util.HashMap].get(java.lang.Object)"
    - "[java.util.LinkedHashMap].get(java.lang.Object)"
    functionUses: 1
    ICount: 26
    EdgeCount: 9
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:223"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:236"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:235"
        BranchSideFuncs:
        - "split(java.lang.String)"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:238"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:242"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:241"
        BranchSideFuncs:
        - "parseInt(java.lang.String)"
        - "format(java.lang.String,java.lang.Object[])"
        - "valueOf(int)"
        - "get(java.lang.Object)"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:221,1"
      Dst: "[com.drew.metadata.Directory].getString(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:236,1"
      Dst: "[java.lang.String].split(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:242,1"
      Dst: "[java.lang.Integer].parseInt(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:244,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:244,1"
      Dst: "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - Src: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:245,1"
      Dst: "[java.util.HashMap].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: 6
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor].getFlashTypeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 253
    functionLinenumberEnd: 255
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 8
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:254,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor].getFlashModelDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 260
    functionLinenumberEnd: 262
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 12
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor:261,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.avi.AviRiffHandler].<init>(com.drew.metadata.Metadata)"
    functionSourceFile: "com.drew.metadata.avi.AviRiffHandler"
    linkageType: ""
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.Metadata"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[com.drew.metadata.avi.AviDirectory].<init>()"
    - "[com.drew.metadata.Metadata].addDirectory(com.drew.metadata.Directory)"
    functionUses: 1
    ICount: 9
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.avi.AviRiffHandler:52,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.drew.metadata.avi.AviRiffHandler:53,1"
      Dst: "[com.drew.metadata.avi.AviDirectory].<init>()"
    - Src: "com.drew.metadata.avi.AviRiffHandler:54,1"
      Dst: "[com.drew.metadata.Metadata].addDirectory(com.drew.metadata.Directory)"
    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: "[com.drew.metadata.avi.AviRiffHandler].shouldAcceptRiffIdentifier(java.lang.String)"
    functionSourceFile: "com.drew.metadata.avi.AviRiffHandler"
    linkageType: ""
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].equals(java.lang.Object)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.avi.AviRiffHandler:59,1"
      Dst: "[java.lang.String].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: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.avi.AviRiffHandler].shouldAcceptChunk(java.lang.String)"
    functionSourceFile: "com.drew.metadata.avi.AviRiffHandler"
    linkageType: ""
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].equals(java.lang.Object)"
    functionUses: 1
    ICount: 12
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.drew.metadata.avi.AviRiffHandler:64"
      Branch Sides:
      - BranchSide: "com.drew.metadata.avi.AviRiffHandler:64"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.avi.AviRiffHandler:63"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.avi.AviRiffHandler:65"
      Branch Sides:
      - BranchSide: "com.drew.metadata.avi.AviRiffHandler:64"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
      - BranchSide: "com.drew.metadata.avi.AviRiffHandler:63"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.avi.AviRiffHandler:66"
      Branch Sides:
      - BranchSide: "com.drew.metadata.avi.AviRiffHandler:63"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.avi.AviRiffHandler:64,1"
      Dst: "[java.lang.String].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: 6
    CyclomaticComplexity: 4
  - functionName: "[com.drew.metadata.avi.AviRiffHandler].shouldAcceptList(java.lang.String)"
    functionSourceFile: "com.drew.metadata.avi.AviRiffHandler"
    linkageType: ""
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].equals(java.lang.Object)"
    functionUses: 1
    ICount: 12
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.drew.metadata.avi.AviRiffHandler:71"
      Branch Sides:
      - BranchSide: "com.drew.metadata.avi.AviRiffHandler:71"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.avi.AviRiffHandler:70"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.avi.AviRiffHandler:72"
      Branch Sides:
      - BranchSide: "com.drew.metadata.avi.AviRiffHandler:71"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
      - BranchSide: "com.drew.metadata.avi.AviRiffHandler:70"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.avi.AviRiffHandler:73"
      Branch Sides:
      - BranchSide: "com.drew.metadata.avi.AviRiffHandler:70"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.avi.AviRiffHandler:71,1"
      Dst: "[java.lang.String].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: 6
    CyclomaticComplexity: 4
  - functionName: "[com.drew.metadata.avi.AviRiffHandler].processChunk(java.lang.String,byte[])"
    functionSourceFile: "com.drew.metadata.avi.AviRiffHandler"
    linkageType: ""
    functionLinenumber: 78
    functionLinenumberEnd: 148
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "byte[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].equals(java.lang.Object)"
    - "[com.drew.lang.ByteArrayReader].<init>(byte[])"
    - "[com.drew.lang.RandomAccessReader].setMotorolaByteOrder(boolean)"
    - "[java.lang.String].<init>(byte[])"
    - "[com.drew.lang.ByteArrayReader].getBytes(int,int)"
    - "[com.drew.lang.RandomAccessReader].getFloat32(int)"
    - "[com.drew.lang.RandomAccessReader].getInt32(int)"
    - "[com.drew.metadata.Directory].containsTag(int)"
    - "[com.drew.metadata.Directory].setDouble(int,double)"
    - "[java.lang.Math].pow(double,double)"
    - "[java.lang.Math].round(double)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.lang.Integer].valueOf(int)"
    - "[com.drew.metadata.Directory].setString(int,java.lang.String)"
    - "[com.drew.metadata.Directory].setInt(int,int)"
    - "[com.drew.lang.RandomAccessReader].getString(int,int,java.lang.String)"
    - "[java.lang.String].endsWith(java.lang.String)"
    - "[java.lang.String].length()"
    - "[java.lang.String].valueOf(char[])"
    - "[java.lang.String].substring(int,int)"
    - "[com.drew.metadata.Directory].addError(java.lang.String)"
    - "[java.io.InvalidClassException].getMessage()"
    - "[java.lang.Throwable].getMessage()"
    - "[java.nio.file.FileSystemException].getMessage()"
    functionUses: 2
    ICount: 110
    EdgeCount: 47
    BranchProfiles:
    - Branch String: "com.drew.metadata.avi.AviRiffHandler:79"
      Branch Sides:
      - BranchSide: "com.drew.metadata.avi.AviRiffHandler:79"
        BranchSideFuncs:
        - "getBytes(int,int)"
        - "getFloat32(int)"
      - BranchSide: "com.drew.metadata.avi.AviRiffHandler:78"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.avi.AviRiffHandler:98"
      Branch Sides:
      - BranchSide: "com.drew.metadata.avi.AviRiffHandler:111"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.avi.AviRiffHandler:110"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "com.drew.metadata.avi.AviRiffHandler:99"
      Branch Sides:
      - BranchSide: "com.drew.metadata.avi.AviRiffHandler:116"
        BranchSideFuncs:
        - "format(java.lang.String,java.lang.Object[])"
        - "round(double)"
        - "pow(double,double)"
        - "valueOf(int)"
      - BranchSide: "com.drew.metadata.avi.AviRiffHandler:115"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.avi.AviRiffHandler:111"
      Branch Sides:
      - BranchSide: "com.drew.metadata.avi.AviRiffHandler:116"
        BranchSideFuncs:
        - "containsTag(int)"
      - BranchSide: "com.drew.metadata.avi.AviRiffHandler:115"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.avi.AviRiffHandler:112"
      Branch Sides:
      - BranchSide: "com.drew.metadata.avi.AviRiffHandler:116"
        BranchSideFuncs:
        - "setDouble(int,double)"
      - BranchSide: "com.drew.metadata.avi.AviRiffHandler:115"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.avi.AviRiffHandler:79"
      Branch Sides:
      - BranchSide: "com.drew.metadata.avi.AviRiffHandler:79"
        BranchSideFuncs:
        - "getBytes(int,int)"
        - "getFloat32(int)"
      - BranchSide: "com.drew.metadata.avi.AviRiffHandler:78"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.avi.AviRiffHandler:79"
      Branch Sides:
      - BranchSide: "com.drew.metadata.avi.AviRiffHandler:146"
        BranchSideFuncs:
        - "getBytes(int,int)"
        - "getFloat32(int)"
      - BranchSide: "com.drew.metadata.avi.AviRiffHandler:145"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.avi.AviRiffHandler:138"
      Branch Sides:
      - BranchSide: "com.drew.metadata.avi.AviRiffHandler:142"
        BranchSideFuncs:
        - "endsWith(java.lang.String)"
        - "setString(int,java.lang.String)"
        - "getMessage()"
        - "length()"
        - "substring(int,int)"
        - "getInt32(int)"
        - "setMotorolaByteOrder(boolean)"
        - "valueOf(char[])"
        - "addError(java.lang.String)"
        - "<init>(byte[])"
        - "getString(int,int,java.lang.String)"
        - "setInt(int,int)"
      - BranchSide: "com.drew.metadata.avi.AviRiffHandler:141"
        BranchSideFuncs:
        - "setString(int,java.lang.String)"
    - Branch String: "com.drew.metadata.avi.AviRiffHandler:138"
      Branch Sides:
      - BranchSide: "com.drew.metadata.avi.AviRiffHandler:142"
        BranchSideFuncs:
        - "endsWith(java.lang.String)"
        - "setString(int,java.lang.String)"
        - "getMessage()"
        - "length()"
        - "substring(int,int)"
        - "getInt32(int)"
        - "setMotorolaByteOrder(boolean)"
        - "valueOf(char[])"
        - "addError(java.lang.String)"
        - "<init>(byte[])"
        - "getString(int,int,java.lang.String)"
        - "setInt(int,int)"
      - BranchSide: "com.drew.metadata.avi.AviRiffHandler:141"
        BranchSideFuncs:
        - "setString(int,java.lang.String)"
    Callsites:
    - Src: "com.drew.metadata.avi.AviRiffHandler:79,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "com.drew.metadata.avi.AviRiffHandler:80,1"
      Dst: "[com.drew.lang.ByteArrayReader].<init>(byte[])"
    - Src: "com.drew.metadata.avi.AviRiffHandler:81,1"
      Dst: "[com.drew.lang.RandomAccessReader].setMotorolaByteOrder(boolean)"
    - Src: "com.drew.metadata.avi.AviRiffHandler:83,1"
      Dst: "[com.drew.lang.ByteArrayReader].getBytes(int,int)"
    - Src: "com.drew.metadata.avi.AviRiffHandler:83,1"
      Dst: "[java.lang.String].<init>(byte[])"
    - Src: "com.drew.metadata.avi.AviRiffHandler:89,1"
      Dst: "[com.drew.lang.RandomAccessReader].getFloat32(int)"
    - Src: "com.drew.metadata.avi.AviRiffHandler:92,1"
      Dst: "[com.drew.lang.RandomAccessReader].getInt32(int)"
    - Src: "com.drew.metadata.avi.AviRiffHandler:99,1"
      Dst: "[com.drew.metadata.Directory].containsTag(int)"
    - Src: "com.drew.metadata.avi.AviRiffHandler:100,1"
      Dst: "[com.drew.metadata.Directory].setDouble(int,double)"
    - Src: "com.drew.metadata.avi.AviRiffHandler:103,1"
      Dst: "[java.lang.Math].pow(double,double)"
    - Src: "com.drew.metadata.avi.AviRiffHandler:105,1"
      Dst: "[java.lang.Math].round(double)"
    - Src: "com.drew.metadata.avi.AviRiffHandler:106,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.drew.metadata.avi.AviRiffHandler:106,1"
      Dst: "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - Src: "com.drew.metadata.avi.AviRiffHandler:108,1"
      Dst: "[com.drew.metadata.Directory].setString(int,java.lang.String)"
    - Src: "com.drew.metadata.avi.AviRiffHandler:132,1"
      Dst: "[com.drew.metadata.Directory].setInt(int,int)"
    - Src: "com.drew.metadata.avi.AviRiffHandler:137,1"
      Dst: "[com.drew.lang.RandomAccessReader].getString(int,int,java.lang.String)"
    - Src: "com.drew.metadata.avi.AviRiffHandler:138,1"
      Dst: "[java.lang.String].length()"
    - Src: "com.drew.metadata.avi.AviRiffHandler:138,1"
      Dst: "[java.lang.String].valueOf(char[])"
    - Src: "com.drew.metadata.avi.AviRiffHandler:138,1"
      Dst: "[java.lang.String].endsWith(java.lang.String)"
    - Src: "com.drew.metadata.avi.AviRiffHandler:140,1"
      Dst: "[java.lang.String].substring(int,int)"
    - Src: "com.drew.metadata.avi.AviRiffHandler:145,1"
      Dst: "[java.lang.Throwable].getMessage()"
    - Src: "com.drew.metadata.avi.AviRiffHandler:145,1"
      Dst: "[com.drew.metadata.Directory].addError(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: 18
    CyclomaticComplexity: 10
  - functionName: "[com.drew.lang.ByteArrayReader].getBytes(int,int)"
    functionSourceFile: "com.drew.lang.ByteArrayReader"
    linkageType: ""
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionDepth: 3
    returnType: "byte[]"
    argCount: 2
    argTypes:
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.ByteArrayReader].validateIndex(int,int)"
    - "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    functionUses: 27
    ICount: 10
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.lang.ByteArrayReader:101,1"
      Dst: "[com.drew.lang.ByteArrayReader].validateIndex(int,int)"
    - Src: "com.drew.lang.ByteArrayReader:104,1"
      Dst: "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.lang.ByteArrayReader].validateIndex(int,int)"
    functionSourceFile: "com.drew.lang.ByteArrayReader"
    linkageType: ""
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.ByteArrayReader].isValidIndex(int,int)"
    - "[com.drew.lang.BufferBoundsException].<init>(int,int,long)"
    - "[com.drew.lang.ByteArrayReader].toUnshiftedOffset(int)"
    functionUses: 12
    ICount: 13
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.drew.lang.ByteArrayReader:85"
      Branch Sides:
      - BranchSide: "com.drew.lang.ByteArrayReader:87"
        BranchSideFuncs:
        - "<init>(int,int,long)"
        - "toUnshiftedOffset(int)"
      - BranchSide: "com.drew.lang.ByteArrayReader:86"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.lang.ByteArrayReader:85,1"
      Dst: "[com.drew.lang.ByteArrayReader].isValidIndex(int,int)"
    - Src: "com.drew.lang.ByteArrayReader:86,1"
      Dst: "[com.drew.lang.ByteArrayReader].toUnshiftedOffset(int)"
    - Src: "com.drew.lang.ByteArrayReader:86,1"
      Dst: "[com.drew.lang.BufferBoundsException].<init>(int,int,long)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.lang.ByteArrayReader].isValidIndex(int,int)"
    functionSourceFile: "com.drew.lang.ByteArrayReader"
    linkageType: ""
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionDepth: 1
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.ByteArrayReader].getLength()"
    functionUses: 1
    ICount: 17
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "com.drew.lang.ByteArrayReader:92"
      Branch Sides:
      - BranchSide: "com.drew.lang.ByteArrayReader:-1"
        BranchSideFuncs:
        - "getLength()"
      - BranchSide: "com.drew.lang.ByteArrayReader:-2"
        BranchSideFuncs: []
    - Branch String: "com.drew.lang.ByteArrayReader:92"
      Branch Sides:
      - BranchSide: "com.drew.lang.ByteArrayReader:-1"
        BranchSideFuncs:
        - "getLength()"
      - BranchSide: "com.drew.lang.ByteArrayReader:-2"
        BranchSideFuncs: []
    - Branch String: "com.drew.lang.ByteArrayReader:94"
      Branch Sides:
      - BranchSide: "com.drew.lang.ByteArrayReader:-2"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.lang.ByteArrayReader:94,1"
      Dst: "[com.drew.lang.ByteArrayReader].getLength()"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 4
  - functionName: "[com.drew.lang.ByteArrayReader].getLength()"
    functionSourceFile: "com.drew.lang.ByteArrayReader"
    linkageType: ""
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionDepth: 0
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 12
    ICount: 7
    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: "[com.drew.lang.ByteArrayReader].toUnshiftedOffset(int)"
    functionSourceFile: "com.drew.lang.ByteArrayReader"
    linkageType: ""
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionDepth: 0
    returnType: "int"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    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: "[com.drew.lang.BufferBoundsException].<init>(int,int,long)"
    functionSourceFile: "com.drew.lang.BufferBoundsException"
    linkageType: ""
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionDepth: 1
    returnType: "void"
    argCount: 3
    argTypes:
    - "int"
    - "int"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.IOException].<init>(java.lang.String)"
    - "[com.drew.lang.BufferBoundsException].getMessage(int,int,long)"
    functionUses: 3
    ICount: 7
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.lang.BufferBoundsException:37,1"
      Dst: "[com.drew.lang.BufferBoundsException].getMessage(int,int,long)"
    - Src: "com.drew.lang.BufferBoundsException:37,1"
      Dst: "[java.io.IOException].<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: "[com.drew.lang.BufferBoundsException].getMessage(int,int,long)"
    functionSourceFile: "com.drew.lang.BufferBoundsException"
    linkageType: ""
    functionLinenumber: 46
    functionLinenumberEnd: 58
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 3
    argTypes:
    - "int"
    - "int"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.lang.Integer].valueOf(int)"
    - "[java.lang.Long].valueOf(long)"
    functionUses: 1
    ICount: 39
    EdgeCount: 11
    BranchProfiles:
    - Branch String: "com.drew.lang.BufferBoundsException:47"
      Branch Sides:
      - BranchSide: "com.drew.lang.BufferBoundsException:50"
        BranchSideFuncs: []
      - BranchSide: "com.drew.lang.BufferBoundsException:49"
        BranchSideFuncs: []
    - Branch String: "com.drew.lang.BufferBoundsException:50"
      Branch Sides:
      - BranchSide: "com.drew.lang.BufferBoundsException:53"
        BranchSideFuncs: []
      - BranchSide: "com.drew.lang.BufferBoundsException:52"
        BranchSideFuncs: []
    - Branch String: "com.drew.lang.BufferBoundsException:53"
      Branch Sides:
      - BranchSide: "com.drew.lang.BufferBoundsException:56"
        BranchSideFuncs: []
      - BranchSide: "com.drew.lang.BufferBoundsException:55"
        BranchSideFuncs:
        - "format(java.lang.String,java.lang.Object[])"
    Callsites:
    - Src: "com.drew.lang.BufferBoundsException:48,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.drew.lang.BufferBoundsException:48,1"
      Dst: "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - Src: "com.drew.lang.BufferBoundsException:57,1"
      Dst: "[java.lang.Long].valueOf(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.avi.AviRiffHandler].addError(java.lang.String)"
    functionSourceFile: "com.drew.metadata.avi.AviRiffHandler"
    linkageType: ""
    functionLinenumber: 151
    functionLinenumberEnd: 154
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].addError(java.lang.String)"
    functionUses: 4
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.avi.AviRiffHandler:152,1"
      Dst: "[com.drew.metadata.Directory].addError(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: "[com.drew.metadata.exif.PanasonicRawWbInfoDescriptor].<init>(com.drew.metadata.exif.PanasonicRawWbInfoDirectory)"
    functionSourceFile: "com.drew.metadata.exif.PanasonicRawWbInfoDescriptor"
    linkageType: ""
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.exif.PanasonicRawWbInfoDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.PanasonicRawWbInfoDescriptor:41,1"
      Dst: "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    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: "[com.drew.metadata.exif.PanasonicRawWbInfoDescriptor].getDescription(int)"
    functionSourceFile: "com.drew.metadata.exif.PanasonicRawWbInfoDescriptor"
    linkageType: ""
    functionLinenumber: 47
    functionLinenumberEnd: 59
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.PanasonicRawWbInfoDescriptor].getWbTypeDescription(int)"
    - "[com.drew.metadata.TagDescriptor].getDescription(int)"
    functionUses: 1
    ICount: 7
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.PanasonicRawWbInfoDescriptor:56,1"
      Dst: "[com.drew.metadata.exif.PanasonicRawWbInfoDescriptor].getWbTypeDescription(int)"
    - Src: "com.drew.metadata.exif.PanasonicRawWbInfoDescriptor:58,1"
      Dst: "[com.drew.metadata.TagDescriptor].getDescription(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: 3
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.PanasonicRawWbInfoDescriptor].getWbTypeDescription(int)"
    functionSourceFile: "com.drew.metadata.exif.PanasonicRawWbInfoDescriptor"
    linkageType: ""
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[com.drew.metadata.exif.ExifDescriptorBase].getWhiteBalanceDescription(int)"
    - "[java.lang.Integer].intValue()"
    functionUses: 1
    ICount: 10
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.PanasonicRawWbInfoDescriptor:66"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.PanasonicRawWbInfoDescriptor:68"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.PanasonicRawWbInfoDescriptor:67"
        BranchSideFuncs:
        - "getWhiteBalanceDescription(int)"
        - "intValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.PanasonicRawWbInfoDescriptor:65,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.PanasonicRawWbInfoDescriptor:68,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.PanasonicRawWbInfoDescriptor:68,1"
      Dst: "[com.drew.metadata.exif.ExifDescriptorBase].getWhiteBalanceDescription(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: 3
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.mp4.media.Mp4VideoDescriptor].getDescription(int)"
    functionSourceFile: "com.drew.metadata.mp4.media.Mp4VideoDescriptor"
    linkageType: ""
    functionLinenumber: 37
    functionLinenumberEnd: 50
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mp4.media.Mp4VideoDescriptor].getPixelDescription(int)"
    - "[com.drew.metadata.mp4.media.Mp4VideoDescriptor].getDepthDescription()"
    - "[com.drew.metadata.mp4.media.Mp4VideoDescriptor].getColorTableDescription()"
    - "[com.drew.metadata.mp4.media.Mp4VideoDescriptor].getGraphicsModeDescription()"
    - "[com.drew.metadata.TagDescriptor].getDescription(int)"
    functionUses: 1
    ICount: 13
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mp4.media.Mp4VideoDescriptor:41,1"
      Dst: "[com.drew.metadata.mp4.media.Mp4VideoDescriptor].getPixelDescription(int)"
    - Src: "com.drew.metadata.mp4.media.Mp4VideoDescriptor:43,1"
      Dst: "[com.drew.metadata.mp4.media.Mp4VideoDescriptor].getDepthDescription()"
    - Src: "com.drew.metadata.mp4.media.Mp4VideoDescriptor:45,1"
      Dst: "[com.drew.metadata.mp4.media.Mp4VideoDescriptor].getColorTableDescription()"
    - Src: "com.drew.metadata.mp4.media.Mp4VideoDescriptor:47,1"
      Dst: "[com.drew.metadata.mp4.media.Mp4VideoDescriptor].getGraphicsModeDescription()"
    - Src: "com.drew.metadata.mp4.media.Mp4VideoDescriptor:49,1"
      Dst: "[com.drew.metadata.TagDescriptor].getDescription(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: 6
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.mp4.media.Mp4VideoDescriptor].getPixelDescription(int)"
    functionSourceFile: "com.drew.metadata.mp4.media.Mp4VideoDescriptor"
    linkageType: ""
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getString(int)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 14
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.drew.metadata.mp4.media.Mp4VideoDescriptor:56"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mp4.media.Mp4VideoDescriptor:54"
        BranchSideFuncs:
        - "<init>()"
        - "append(java.lang.String)"
        - "toString()"
        - "getString(int)"
    Callsites:
    - Src: "com.drew.metadata.mp4.media.Mp4VideoDescriptor:55,1"
      Dst: "[com.drew.metadata.Directory].getString(int)"
    - Src: "com.drew.metadata.mp4.media.Mp4VideoDescriptor:56,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.mp4.media.Mp4VideoDescriptor:56,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.mp4.media.Mp4VideoDescriptor:56,1"
      Dst: "[java.lang.StringBuilder].toString()"
    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: "[com.drew.metadata.mp4.media.Mp4VideoDescriptor].getDepthDescription()"
    functionSourceFile: "com.drew.metadata.mp4.media.Mp4VideoDescriptor"
    linkageType: ""
    functionLinenumber: 60
    functionLinenumberEnd: 80
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].append(int)"
    functionUses: 1
    ICount: 29
    EdgeCount: 12
    BranchProfiles:
    - Branch String: "com.drew.metadata.mp4.media.Mp4VideoDescriptor:62"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mp4.media.Mp4VideoDescriptor:65"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.mp4.media.Mp4VideoDescriptor:64"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.mp4.media.Mp4VideoDescriptor:61,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.mp4.media.Mp4VideoDescriptor:65,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.mp4.media.Mp4VideoDescriptor:73,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.mp4.media.Mp4VideoDescriptor:73,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.drew.metadata.mp4.media.Mp4VideoDescriptor:73,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.mp4.media.Mp4VideoDescriptor:73,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "com.drew.metadata.mp4.media.Mp4VideoDescriptor:77,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    JavaMethodInfo:
      exceptions: []
      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: "[com.drew.metadata.mp4.media.Mp4VideoDescriptor].getColorTableDescription()"
    functionSourceFile: "com.drew.metadata.mp4.media.Mp4VideoDescriptor"
    linkageType: ""
    functionLinenumber: 84
    functionLinenumberEnd: 104
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    functionUses: 1
    ICount: 25
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "com.drew.metadata.mp4.media.Mp4VideoDescriptor:86"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mp4.media.Mp4VideoDescriptor:89"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.mp4.media.Mp4VideoDescriptor:88"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mp4.media.Mp4VideoDescriptor:92"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mp4.media.Mp4VideoDescriptor:95"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.mp4.media.Mp4VideoDescriptor:94"
        BranchSideFuncs:
        - "intValue()"
    - Branch String: "com.drew.metadata.mp4.media.Mp4VideoDescriptor:95"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mp4.media.Mp4VideoDescriptor:98"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.mp4.media.Mp4VideoDescriptor:97"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.mp4.media.Mp4VideoDescriptor:85,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.mp4.media.Mp4VideoDescriptor:89,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.mp4.media.Mp4VideoDescriptor:103,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.mp4.media.Mp4VideoDescriptor:103,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.mp4.media.Mp4VideoDescriptor:103,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.drew.metadata.mp4.media.Mp4VideoDescriptor:103,1"
      Dst: "[java.lang.StringBuilder].toString()"
    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: 1
  - functionName: "[com.drew.metadata.mp4.media.Mp4VideoDescriptor].getGraphicsModeDescription()"
    functionSourceFile: "com.drew.metadata.mp4.media.Mp4VideoDescriptor"
    linkageType: ""
    functionLinenumber: 108
    functionLinenumberEnd: 134
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 24
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "com.drew.metadata.mp4.media.Mp4VideoDescriptor:110"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mp4.media.Mp4VideoDescriptor:113"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.mp4.media.Mp4VideoDescriptor:112"
        BranchSideFuncs:
        - "intValue()"
    Callsites:
    - Src: "com.drew.metadata.mp4.media.Mp4VideoDescriptor:109,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.mp4.media.Mp4VideoDescriptor:113,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.mp4.media.Mp4VideoDescriptor:133,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.mp4.media.Mp4VideoDescriptor:133,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.mp4.media.Mp4VideoDescriptor:133,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.drew.metadata.mp4.media.Mp4VideoDescriptor:133,1"
      Dst: "[java.lang.StringBuilder].toString()"
    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: 1
  - functionName: "[com.drew.metadata.heif.boxes.AuxiliaryTypeProperty].<init>(com.drew.lang.SequentialReader,com.drew.metadata.heif.boxes.Box)"
    functionSourceFile: "com.drew.metadata.heif.boxes.AuxiliaryTypeProperty"
    linkageType: ""
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "com.drew.metadata.heif.boxes.Box"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.heif.boxes.FullBox].<init>(com.drew.lang.SequentialReader,com.drew.metadata.heif.boxes.Box)"
    - "[com.drew.metadata.heif.boxes.AuxiliaryTypeProperty].getZeroTerminatedString(int,com.drew.lang.SequentialReader)"
    functionUses: 1
    ICount: 10
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.heif.boxes.AuxiliaryTypeProperty:37,1"
      Dst: "[com.drew.metadata.heif.boxes.FullBox].<init>(com.drew.lang.SequentialReader,com.drew.metadata.heif.boxes.Box)"
    - Src: "com.drew.metadata.heif.boxes.AuxiliaryTypeProperty:39,1"
      Dst: "[com.drew.metadata.heif.boxes.AuxiliaryTypeProperty].getZeroTerminatedString(int,com.drew.lang.SequentialReader)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.heif.boxes.AuxiliaryTypeProperty].getZeroTerminatedString(int,com.drew.lang.SequentialReader)"
    functionSourceFile: "com.drew.metadata.heif.boxes.AuxiliaryTypeProperty"
    linkageType: ""
    functionLinenumber: 44
    functionLinenumberEnd: 53
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 2
    argTypes:
    - "int"
    - "com.drew.lang.SequentialReader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(char)"
    - "[com.drew.lang.StreamReader].getByte()"
    - "[com.drew.lang.SequentialByteArrayReader].getByte()"
    - "[java.lang.StringBuilder].charAt(int)"
    - "[java.lang.StringBuilder].length()"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.String].trim()"
    - "[com.drew.lang.SequentialReader].getByte()"
    functionUses: 1
    ICount: 20
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "com.drew.metadata.heif.boxes.AuxiliaryTypeProperty:46"
      Branch Sides:
      - BranchSide: "com.drew.metadata.heif.boxes.AuxiliaryTypeProperty:52"
        BranchSideFuncs:
        - "append(char)"
        - "length()"
        - "getByte()"
        - "charAt(int)"
      - BranchSide: "com.drew.metadata.heif.boxes.AuxiliaryTypeProperty:51"
        BranchSideFuncs:
        - "toString()"
        - "trim()"
    - Branch String: "com.drew.metadata.heif.boxes.AuxiliaryTypeProperty:48"
      Branch Sides:
      - BranchSide: "com.drew.metadata.heif.boxes.AuxiliaryTypeProperty:45"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.heif.boxes.AuxiliaryTypeProperty:44"
        BranchSideFuncs:
        - "<init>()"
    Callsites:
    - Src: "com.drew.metadata.heif.boxes.AuxiliaryTypeProperty:45,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.heif.boxes.AuxiliaryTypeProperty:47,1"
      Dst: "[com.drew.lang.SequentialReader].getByte()"
    - Src: "com.drew.metadata.heif.boxes.AuxiliaryTypeProperty:47,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "com.drew.metadata.heif.boxes.AuxiliaryTypeProperty:48,1"
      Dst: "[java.lang.StringBuilder].length()"
    - Src: "com.drew.metadata.heif.boxes.AuxiliaryTypeProperty:48,1"
      Dst: "[java.lang.StringBuilder].charAt(int)"
    - Src: "com.drew.metadata.heif.boxes.AuxiliaryTypeProperty:52,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "com.drew.metadata.heif.boxes.AuxiliaryTypeProperty:52,1"
      Dst: "[java.lang.String].trim()"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[com.drew.metadata.jpeg.JpegDnlReader].<init>()"
    functionSourceFile: "com.drew.metadata.jpeg.JpegDnlReader"
    linkageType: ""
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.jpeg.JpegDnlReader: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: "[com.drew.metadata.jpeg.JpegDnlReader].getSegmentTypes()"
    functionSourceFile: "com.drew.metadata.jpeg.JpegDnlReader"
    linkageType: ""
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionDepth: 0
    returnType: "java.lang.Iterable"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Collections].singletonList(java.lang.Object)"
    functionUses: 2
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.jpeg.JpegDnlReader:44,1"
      Dst: "[java.util.Collections].singletonList(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: "[com.drew.metadata.jpeg.JpegDnlReader].readJpegSegments(java.lang.Iterable<byte[]>,com.drew.metadata.Metadata,com.drew.imaging.jpeg.JpegSegmentType)"
    functionSourceFile: "com.drew.metadata.jpeg.JpegDnlReader"
    linkageType: ""
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionDepth: 3
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.Iterable<byte[]>"
    - "com.drew.metadata.Metadata"
    - "com.drew.imaging.jpeg.JpegSegmentType"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.adobe.internal.xmp.impl.XMPNode$1].hasNext()"
    - "[jdk.internal.module.ModuleBootstrap$2].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIterator].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIteratorChildren].hasNext()"
    - "[java.nio.file.FileTreeIterator].hasNext()"
    - "[java.util.ArrayList].iterator()"
    - "[jdk.internal.module.ModuleBootstrap$2].next()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIterator].next()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl].next()"
    - "[com.adobe.internal.xmp.impl.XMPNode$1].next()"
    - "[java.io.BufferedReader$1:java.nio.file.FileTreeIterator:java.nio.file.Files$2].next()"
    - "[com.drew.metadata.jpeg.JpegDnlReader].extract(byte[],com.drew.metadata.Metadata,com.drew.imaging.jpeg.JpegSegmentType)"
    - "[java.lang.Iterable].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    functionUses: 1
    ICount: 12
    EdgeCount: 13
    BranchProfiles:
    - Branch String: "com.drew.metadata.jpeg.JpegDnlReader:49"
      Branch Sides:
      - BranchSide: "com.drew.metadata.jpeg.JpegDnlReader:52"
        BranchSideFuncs:
        - "hasNext()"
        - "iterator()"
        - "next()"
        - "extract(byte[],com.drew.metadata.Metadata,com.drew.imaging.jpeg.JpegSegmentType)"
      - BranchSide: "com.drew.metadata.jpeg.JpegDnlReader:51"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.jpeg.JpegDnlReader:49,1"
      Dst: "[java.lang.Iterable].iterator()"
    - Src: "com.drew.metadata.jpeg.JpegDnlReader:49,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.drew.metadata.jpeg.JpegDnlReader:49,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.drew.metadata.jpeg.JpegDnlReader:50,1"
      Dst: "[com.drew.metadata.jpeg.JpegDnlReader].extract(byte[],com.drew.metadata.Metadata,com.drew.imaging.jpeg.JpegSegmentType)"
    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: "[com.drew.metadata.jpeg.JpegDnlReader].extract(byte[],com.drew.metadata.Metadata,com.drew.imaging.jpeg.JpegSegmentType)"
    functionSourceFile: "com.drew.metadata.jpeg.JpegDnlReader"
    linkageType: ""
    functionLinenumber: 55
    functionLinenumberEnd: 76
    functionDepth: 2
    returnType: "void"
    argCount: 3
    argTypes:
    - "byte[]"
    - "com.drew.metadata.Metadata"
    - "com.drew.imaging.jpeg.JpegSegmentType"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Metadata].getFirstDirectoryOfType(java.lang.Class)"
    - "[com.drew.metadata.ErrorDirectory].<init>()"
    - "[com.drew.metadata.Metadata].addDirectory(com.drew.metadata.Directory)"
    - "[com.drew.metadata.Directory].addError(java.lang.String)"
    - "[com.drew.lang.SequentialByteArrayReader].<init>(byte[])"
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[com.drew.lang.SequentialReader].getUInt16()"
    - "[com.drew.metadata.Directory].setInt(int,int)"
    - "[java.io.InvalidClassException:java.lang.Throwable:java.nio.file.FileSystemException].getMessage()"
    - "[java.lang.Throwable].getMessage()"
    functionUses: 1
    ICount: 26
    EdgeCount: 11
    BranchProfiles:
    - Branch String: "com.drew.metadata.jpeg.JpegDnlReader:57"
      Branch Sides:
      - BranchSide: "com.drew.metadata.jpeg.JpegDnlReader:64"
        BranchSideFuncs:
        - "addDirectory(com.drew.metadata.Directory)"
        - "<init>()"
      - BranchSide: "com.drew.metadata.jpeg.JpegDnlReader:63"
        BranchSideFuncs:
        - "intValue()"
        - "<init>(byte[])"
        - "getInteger(int)"
    - Branch String: "com.drew.metadata.jpeg.JpegDnlReader:69"
      Branch Sides:
      - BranchSide: "com.drew.metadata.jpeg.JpegDnlReader:70"
        BranchSideFuncs:
        - "setInt(int,int)"
        - "getUInt16()"
      - BranchSide: "com.drew.metadata.jpeg.JpegDnlReader:69"
        BranchSideFuncs:
        - "setInt(int,int)"
        - "getUInt16()"
    - Branch String: "com.drew.metadata.jpeg.JpegDnlReader:69"
      Branch Sides:
      - BranchSide: "com.drew.metadata.jpeg.JpegDnlReader:74"
        BranchSideFuncs:
        - "setInt(int,int)"
        - "getUInt16()"
      - BranchSide: "com.drew.metadata.jpeg.JpegDnlReader:73"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.jpeg.JpegDnlReader:56,1"
      Dst: "[com.drew.metadata.Metadata].getFirstDirectoryOfType(java.lang.Class)"
    - Src: "com.drew.metadata.jpeg.JpegDnlReader:58,1"
      Dst: "[com.drew.metadata.ErrorDirectory].<init>()"
    - Src: "com.drew.metadata.jpeg.JpegDnlReader:59,1"
      Dst: "[com.drew.metadata.Metadata].addDirectory(com.drew.metadata.Directory)"
    - Src: "com.drew.metadata.jpeg.JpegDnlReader:60,1"
      Dst: "[com.drew.metadata.Directory].addError(java.lang.String)"
    - Src: "com.drew.metadata.jpeg.JpegDnlReader:64,1"
      Dst: "[com.drew.lang.SequentialByteArrayReader].<init>(byte[])"
    - Src: "com.drew.metadata.jpeg.JpegDnlReader:68,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.jpeg.JpegDnlReader:69,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.jpeg.JpegDnlReader:70,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt16()"
    - Src: "com.drew.metadata.jpeg.JpegDnlReader:70,1"
      Dst: "[com.drew.metadata.Directory].setInt(int,int)"
    - Src: "com.drew.metadata.jpeg.JpegDnlReader:73,1"
      Dst: "[java.lang.Throwable].getMessage()"
    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: "[com.drew.metadata.mov.media.QuickTimeTextDirectory].<init>()"
    functionSourceFile: "com.drew.metadata.mov.media.QuickTimeTextDirectory"
    linkageType: ""
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionDepth: 3
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mov.QuickTimeDirectory].<init>()"
    - "[com.drew.metadata.mov.media.QuickTimeTextDescriptor].<init>(com.drew.metadata.mov.QuickTimeDirectory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 1
    ICount: 6
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.media.QuickTimeTextDirectory:53,1"
      Dst: "[com.drew.metadata.mov.QuickTimeDirectory].<init>()"
    - Src: "com.drew.metadata.mov.media.QuickTimeTextDirectory:54,1"
      Dst: "[com.drew.metadata.mov.media.QuickTimeTextDescriptor].<init>(com.drew.metadata.mov.QuickTimeDirectory)"
    - Src: "com.drew.metadata.mov.media.QuickTimeTextDirectory:54,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.mov.media.QuickTimeTextDirectory].getName()"
    functionSourceFile: "com.drew.metadata.mov.media.QuickTimeTextDirectory"
    linkageType: ""
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.mov.media.QuickTimeTextDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.mov.media.QuickTimeTextDirectory"
    linkageType: ""
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.imaging.heif.HeifReader].<init>()"
    functionSourceFile: "com.drew.imaging.heif.HeifReader"
    linkageType: ""
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.heif.HeifReader: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: "[com.drew.imaging.heif.HeifReader].extract(java.io.InputStream,com.drew.imaging.heif.HeifHandler<?>)"
    functionSourceFile: "com.drew.imaging.heif.HeifReader"
    linkageType: ""
    functionLinenumber: 48
    functionLinenumberEnd: 63
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.io.InputStream"
    - "com.drew.imaging.heif.HeifHandler<?>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.zip.InflaterInputStream].markSupported()"
    - "[java.io.BufferedInputStream:java.io.ByteArrayInputStream:java.io.FilterInputStream:java.io.InputStream:java.util.zip.InflaterInputStream].available()"
    - "[java.io.BufferedInputStream:java.io.ByteArrayInputStream:java.io.FileInputStream:java.io.FilterInputStream:java.io.InputStream:java.io.InputStream$1:java.io.ObjectInputStream:java.io.ObjectInputStream$BlockDataInputStream:java.io.ObjectInputStream$PeekInputStream:java.lang.ProcessBuilder$NullInputStream:java.lang.ProcessImpl$DeferredCloseInputStream:java.util.jar.Manifest$FastInputStream:java.util.zip.InflaterInputStream:java.util.zip.ZipInputStream].mark(int)"
    - "[com.drew.lang.StreamReader].<init>(java.io.InputStream)"
    - "[com.drew.lang.SequentialReader].setMotorolaByteOrder(boolean)"
    - "[com.drew.imaging.heif.HeifReader].processTopLevelBoxes(java.io.InputStream,com.drew.lang.SequentialReader,long,com.drew.imaging.heif.HeifHandler,boolean)"
    - "[java.io.InputStream].markSupported()"
    - "[java.io.InputStream].available()"
    - "[java.io.InputStream].mark(int)"
    functionUses: 1
    ICount: 17
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "com.drew.imaging.heif.HeifReader:50"
      Branch Sides:
      - BranchSide: "com.drew.imaging.heif.HeifReader:55"
        BranchSideFuncs:
        - "available()"
        - "mark(int)"
      - BranchSide: "com.drew.imaging.heif.HeifReader:54"
        BranchSideFuncs:
        - "processTopLevelBoxes(java.io.InputStream,com.drew.lang.SequentialReader,long,com.drew.imaging.heif.HeifHandler,boolean)"
        - "setMotorolaByteOrder(boolean)"
        - "<init>(java.io.InputStream)"
    Callsites:
    - Src: "com.drew.imaging.heif.HeifReader:50,1"
      Dst: "[java.io.InputStream].markSupported()"
    - Src: "com.drew.imaging.heif.HeifReader:52,1"
      Dst: "[java.io.InputStream].available()"
    - Src: "com.drew.imaging.heif.HeifReader:52,1"
      Dst: "[java.io.InputStream].mark(int)"
    - Src: "com.drew.imaging.heif.HeifReader:55,1"
      Dst: "[com.drew.lang.StreamReader].<init>(java.io.InputStream)"
    - Src: "com.drew.imaging.heif.HeifReader:56,1"
      Dst: "[com.drew.lang.SequentialReader].setMotorolaByteOrder(boolean)"
    - Src: "com.drew.imaging.heif.HeifReader:58,1"
      Dst: "[com.drew.imaging.heif.HeifReader].processTopLevelBoxes(java.io.InputStream,com.drew.lang.SequentialReader,long,com.drew.imaging.heif.HeifHandler,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: 5
    CyclomaticComplexity: 2
  - functionName: "[com.drew.imaging.heif.HeifReader].processTopLevelBoxes(java.io.InputStream,com.drew.lang.SequentialReader,long,com.drew.imaging.heif.HeifHandler<?>,boolean)"
    functionSourceFile: "com.drew.imaging.heif.HeifReader"
    linkageType: ""
    functionLinenumber: 69
    functionLinenumberEnd: 104
    functionDepth: 1
    returnType: "void"
    argCount: 5
    argTypes:
    - "java.io.InputStream"
    - "com.drew.lang.SequentialReader"
    - "long"
    - "com.drew.imaging.heif.HeifHandler<?>"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.StreamReader].getPosition()"
    - "[com.drew.metadata.heif.boxes.Box].<init>(com.drew.lang.SequentialReader)"
    - "[java.io.BufferedInputStream:java.io.ByteArrayInputStream:java.io.FilterInputStream:java.util.AbstractCollection:java.util.HashSet:java.util.TreeMap$EntrySet:java.util.TreeMap$KeySet:java.util.TreeSet:java.util.concurrent.ConcurrentHashMap$EntrySetView:java.util.concurrent.ConcurrentHashMap$KeySetView:java.util.zip.InflaterInputStream].contains(java.lang.Object)"
    - "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - "[com.drew.imaging.heif.HeifReader].processBox(com.drew.lang.SequentialReader,com.drew.metadata.heif.boxes.Box,com.drew.imaging.heif.HeifHandler)"
    - "[java.io.InputStream].reset()"
    - "[com.drew.lang.StreamReader].<init>(java.io.InputStream)"
    - "[com.drew.imaging.heif.HeifReader].processBoxes(com.drew.lang.SequentialReader,long,com.drew.imaging.heif.HeifHandler)"
    - "[com.drew.metadata.Metadata].getFirstDirectoryOfType(java.lang.Class)"
    - "[com.drew.metadata.Directory].addError(java.lang.String)"
    - "[com.drew.lang.SequentialReader].getPosition()"
    - "[java.util.Set].contains(java.lang.Object)"
    functionUses: 1
    ICount: 49
    EdgeCount: 10
    BranchProfiles:
    - Branch String: "com.drew.imaging.heif.HeifReader:73"
      Branch Sides:
      - BranchSide: "com.drew.imaging.heif.HeifReader:74"
        BranchSideFuncs:
        - "<init>(com.drew.lang.SequentialReader)"
        - "contains(java.lang.Object)"
    - Branch String: "com.drew.imaging.heif.HeifReader:73"
      Branch Sides:
      - BranchSide: "com.drew.imaging.heif.HeifReader:90"
        BranchSideFuncs: []
    - Branch String: "com.drew.imaging.heif.HeifReader:77"
      Branch Sides: []
    - Branch String: "com.drew.imaging.heif.HeifReader:77"
      Branch Sides: []
    - Branch String: "com.drew.imaging.heif.HeifReader:83"
      Branch Sides:
      - BranchSide: "com.drew.imaging.heif.HeifReader:87"
        BranchSideFuncs: []
      - BranchSide: "com.drew.imaging.heif.HeifReader:86"
        BranchSideFuncs:
        - "processBox(com.drew.lang.SequentialReader,com.drew.metadata.heif.boxes.Box,com.drew.imaging.heif.HeifHandler)"
    - Branch String: "com.drew.imaging.heif.HeifReader:93"
      Branch Sides:
      - BranchSide: "com.drew.imaging.heif.HeifReader:97"
        BranchSideFuncs:
        - "reset()"
        - "processBoxes(com.drew.lang.SequentialReader,long,com.drew.imaging.heif.HeifHandler)"
        - "<init>(java.io.InputStream)"
      - BranchSide: "com.drew.imaging.heif.HeifReader:96"
        BranchSideFuncs: []
    - Branch String: "com.drew.imaging.heif.HeifReader:93"
      Branch Sides:
      - BranchSide: "com.drew.imaging.heif.HeifReader:97"
        BranchSideFuncs:
        - "reset()"
        - "processBoxes(com.drew.lang.SequentialReader,long,com.drew.imaging.heif.HeifHandler)"
        - "<init>(java.io.InputStream)"
      - BranchSide: "com.drew.imaging.heif.HeifReader:96"
        BranchSideFuncs: []
    - Branch String: "com.drew.imaging.heif.HeifReader:97"
      Branch Sides:
      - BranchSide: "com.drew.imaging.heif.HeifReader:103"
        BranchSideFuncs:
        - "getFirstDirectoryOfType(java.lang.Class)"
      - BranchSide: "com.drew.imaging.heif.HeifReader:102"
        BranchSideFuncs: []
    - Branch String: "com.drew.imaging.heif.HeifReader:99"
      Branch Sides:
      - BranchSide: "com.drew.imaging.heif.HeifReader:103"
        BranchSideFuncs:
        - "addError(java.lang.String)"
      - BranchSide: "com.drew.imaging.heif.HeifReader:102"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.imaging.heif.HeifReader:73,1"
      Dst: "[com.drew.lang.SequentialReader].getPosition()"
    - Src: "com.drew.imaging.heif.HeifReader:75,1"
      Dst: "[com.drew.metadata.heif.boxes.Box].<init>(com.drew.lang.SequentialReader)"
    - Src: "com.drew.imaging.heif.HeifReader:77,1"
      Dst: "[java.util.Set].contains(java.lang.Object)"
    - Src: "com.drew.imaging.heif.HeifReader:83,1"
      Dst: "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - Src: "com.drew.imaging.heif.HeifReader:87,1"
      Dst: "[com.drew.imaging.heif.HeifReader].processBox(com.drew.lang.SequentialReader,com.drew.metadata.heif.boxes.Box,com.drew.imaging.heif.HeifHandler)"
    - Src: "com.drew.imaging.heif.HeifReader:94,1"
      Dst: "[java.io.InputStream].reset()"
    - Src: "com.drew.imaging.heif.HeifReader:95,1"
      Dst: "[com.drew.lang.StreamReader].<init>(java.io.InputStream)"
    - Src: "com.drew.imaging.heif.HeifReader:96,1"
      Dst: "[com.drew.imaging.heif.HeifReader].processBoxes(com.drew.lang.SequentialReader,long,com.drew.imaging.heif.HeifHandler)"
    - Src: "com.drew.imaging.heif.HeifReader:98,1"
      Dst: "[com.drew.metadata.Metadata].getFirstDirectoryOfType(java.lang.Class)"
    - Src: "com.drew.imaging.heif.HeifReader:100,1"
      Dst: "[com.drew.metadata.Directory].addError(java.lang.String)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 18
    CyclomaticComplexity: 10
  - functionName: "[com.drew.imaging.heif.HeifReader].processBoxes(com.drew.lang.SequentialReader,long,com.drew.imaging.heif.HeifHandler<?>)"
    functionSourceFile: "com.drew.imaging.heif.HeifReader"
    linkageType: ""
    functionLinenumber: 107
    functionLinenumberEnd: 118
    functionDepth: 1
    returnType: "com.drew.imaging.heif.HeifHandler<?>"
    argCount: 3
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "long"
    - "com.drew.imaging.heif.HeifHandler<?>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.SequentialByteArrayReader:com.drew.lang.StreamReader].getPosition()"
    - "[com.drew.metadata.heif.boxes.Box].<init>(com.drew.lang.SequentialReader)"
    - "[com.drew.imaging.heif.HeifReader].processBox(com.drew.lang.SequentialReader,com.drew.metadata.heif.boxes.Box,com.drew.imaging.heif.HeifHandler)"
    - "[com.drew.lang.SequentialReader].getPosition()"
    functionUses: 2
    ICount: 17
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.drew.imaging.heif.HeifReader:108"
      Branch Sides:
      - BranchSide: "com.drew.imaging.heif.HeifReader:109"
        BranchSideFuncs:
        - "<init>(com.drew.lang.SequentialReader)"
        - "processBox(com.drew.lang.SequentialReader,com.drew.metadata.heif.boxes.Box,com.drew.imaging.heif.HeifHandler)"
    - Branch String: "com.drew.imaging.heif.HeifReader:108"
      Branch Sides:
      - BranchSide: "com.drew.imaging.heif.HeifReader:115"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.imaging.heif.HeifReader:108,1"
      Dst: "[com.drew.lang.SequentialReader].getPosition()"
    - Src: "com.drew.imaging.heif.HeifReader:110,1"
      Dst: "[com.drew.metadata.heif.boxes.Box].<init>(com.drew.lang.SequentialReader)"
    - Src: "com.drew.imaging.heif.HeifReader:112,1"
      Dst: "[com.drew.imaging.heif.HeifReader].processBox(com.drew.lang.SequentialReader,com.drew.metadata.heif.boxes.Box,com.drew.imaging.heif.HeifHandler)"
    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: "[com.drew.imaging.heif.HeifReader].processBox(com.drew.lang.SequentialReader,com.drew.metadata.heif.boxes.Box,com.drew.imaging.heif.HeifHandler<?>)"
    functionSourceFile: "com.drew.imaging.heif.HeifReader"
    linkageType: ""
    functionLinenumber: 121
    functionLinenumberEnd: 131
    functionDepth: 0
    returnType: "com.drew.imaging.heif.HeifHandler<?>"
    argCount: 3
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "com.drew.metadata.heif.boxes.Box"
    - "com.drew.imaging.heif.HeifHandler<?>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.heif.HeifPictureHandler].shouldAcceptContainer(com.drew.metadata.heif.boxes.Box)"
    - "[com.drew.metadata.heif.HeifBoxHandler].shouldAcceptContainer(com.drew.metadata.heif.boxes.Box)"
    - "[com.drew.metadata.heif.HeifBoxHandler].processContainer(com.drew.metadata.heif.boxes.Box,com.drew.lang.SequentialReader)"
    - "[com.drew.metadata.heif.HeifPictureHandler].processContainer(com.drew.metadata.heif.boxes.Box,com.drew.lang.SequentialReader)"
    - "[com.drew.lang.SequentialByteArrayReader:com.drew.lang.StreamReader].getPosition()"
    - "[com.drew.imaging.heif.HeifReader].processBoxes(com.drew.lang.SequentialReader,long,com.drew.imaging.heif.HeifHandler)"
    - "[com.drew.metadata.heif.HeifPictureHandler].shouldAcceptBox(com.drew.metadata.heif.boxes.Box)"
    - "[com.drew.metadata.heif.HeifBoxHandler].shouldAcceptBox(com.drew.metadata.heif.boxes.Box)"
    - "[com.drew.lang.SequentialByteArrayReader].getBytes(int)"
    - "[com.drew.lang.StreamReader].getBytes(int)"
    - "[com.drew.metadata.heif.HeifPictureHandler].processBox(com.drew.metadata.heif.boxes.Box,byte[])"
    - "[com.drew.metadata.heif.HeifBoxHandler].processBox(com.drew.metadata.heif.boxes.Box,byte[])"
    - "[com.drew.lang.StreamReader].skip(long)"
    - "[com.drew.lang.SequentialByteArrayReader].skip(long)"
    - "[com.drew.imaging.heif.HeifHandler].shouldAcceptContainer(com.drew.metadata.heif.boxes.Box)"
    - "[com.drew.imaging.heif.HeifHandler].processContainer(com.drew.metadata.heif.boxes.Box,com.drew.lang.SequentialReader)"
    - "[com.drew.lang.SequentialReader].getPosition()"
    - "[com.drew.imaging.heif.HeifHandler].shouldAcceptBox(com.drew.metadata.heif.boxes.Box)"
    - "[com.drew.lang.SequentialReader].getBytes(int)"
    - "[com.drew.imaging.heif.HeifHandler].processBox(com.drew.metadata.heif.boxes.Box,byte[])"
    - "[com.drew.lang.SequentialReader].skip(long)"
    functionUses: 2
    ICount: 29
    EdgeCount: 14
    BranchProfiles:
    - Branch String: "com.drew.imaging.heif.HeifReader:122"
      Branch Sides:
      - BranchSide: "com.drew.imaging.heif.HeifReader:125"
        BranchSideFuncs:
        - "processContainer(com.drew.metadata.heif.boxes.Box,com.drew.lang.SequentialReader)"
        - "getPosition()"
        - "processBoxes(com.drew.lang.SequentialReader,long,com.drew.imaging.heif.HeifHandler)"
      - BranchSide: "com.drew.imaging.heif.HeifReader:124"
        BranchSideFuncs:
        - "shouldAcceptBox(com.drew.metadata.heif.boxes.Box)"
    - Branch String: "com.drew.imaging.heif.HeifReader:125"
      Branch Sides:
      - BranchSide: "com.drew.imaging.heif.HeifReader:127"
        BranchSideFuncs:
        - "processBox(com.drew.metadata.heif.boxes.Box,byte[])"
        - "getBytes(int)"
      - BranchSide: "com.drew.imaging.heif.HeifReader:126"
        BranchSideFuncs: []
    - Branch String: "com.drew.imaging.heif.HeifReader:127"
      Branch Sides:
      - BranchSide: "com.drew.imaging.heif.HeifReader:130"
        BranchSideFuncs:
        - "skip(long)"
      - BranchSide: "com.drew.imaging.heif.HeifReader:129"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.imaging.heif.HeifReader:122,1"
      Dst: "[com.drew.imaging.heif.HeifHandler].shouldAcceptContainer(com.drew.metadata.heif.boxes.Box)"
    - Src: "com.drew.imaging.heif.HeifReader:123,1"
      Dst: "[com.drew.imaging.heif.HeifHandler].processContainer(com.drew.metadata.heif.boxes.Box,com.drew.lang.SequentialReader)"
    - Src: "com.drew.imaging.heif.HeifReader:124,1"
      Dst: "[com.drew.lang.SequentialReader].getPosition()"
    - Src: "com.drew.imaging.heif.HeifReader:124,1"
      Dst: "[com.drew.imaging.heif.HeifReader].processBoxes(com.drew.lang.SequentialReader,long,com.drew.imaging.heif.HeifHandler)"
    - Src: "com.drew.imaging.heif.HeifReader:125,1"
      Dst: "[com.drew.imaging.heif.HeifHandler].shouldAcceptBox(com.drew.metadata.heif.boxes.Box)"
    - Src: "com.drew.imaging.heif.HeifReader:126,1"
      Dst: "[com.drew.lang.SequentialReader].getBytes(int)"
    - Src: "com.drew.imaging.heif.HeifReader:126,1"
      Dst: "[com.drew.imaging.heif.HeifHandler].processBox(com.drew.metadata.heif.boxes.Box,byte[])"
    - Src: "com.drew.imaging.heif.HeifReader:128,1"
      Dst: "[com.drew.lang.SequentialReader].skip(long)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 7
    CyclomaticComplexity: 4
  - functionName: "[com.drew.metadata.mov.atoms.SampleDescription].<init>(com.drew.lang.SequentialReader)"
    functionSourceFile: "com.drew.metadata.mov.atoms.SampleDescription"
    linkageType: ""
    functionLinenumber: 38
    functionLinenumberEnd: 45
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.lang.SequentialReader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[com.drew.lang.SequentialReader].getUInt32()"
    - "[com.drew.lang.SequentialReader].getString(int)"
    - "[com.drew.lang.StreamReader].skip(long)"
    - "[com.drew.lang.SequentialByteArrayReader].skip(long)"
    - "[com.drew.lang.SequentialReader].getUInt16()"
    - "[com.drew.lang.SequentialReader].skip(long)"
    functionUses: 6
    ICount: 11
    EdgeCount: 6
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.atoms.SampleDescription:39,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.drew.metadata.mov.atoms.SampleDescription:40,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt32()"
    - Src: "com.drew.metadata.mov.atoms.SampleDescription:41,1"
      Dst: "[com.drew.lang.SequentialReader].getString(int)"
    - Src: "com.drew.metadata.mov.atoms.SampleDescription:42,1"
      Dst: "[com.drew.lang.SequentialReader].skip(long)"
    - Src: "com.drew.metadata.mov.atoms.SampleDescription:43,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt16()"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.mov.QuickTimeAtomTypes].<init>()"
    functionSourceFile: "com.drew.metadata.mov.QuickTimeAtomTypes"
    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: "com.drew.metadata.mov.QuickTimeAtomTypes:28,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: "[com.drew.metadata.mp4.media.Mp4HintDirectory].<init>()"
    functionSourceFile: "com.drew.metadata.mp4.media.Mp4HintDirectory"
    linkageType: ""
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mp4.media.Mp4MediaDirectory].<init>()"
    - "[com.drew.metadata.mp4.media.Mp4HintDescriptor].<init>(com.drew.metadata.mp4.media.Mp4HintDirectory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 1
    ICount: 6
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mp4.media.Mp4HintDirectory:35,1"
      Dst: "[com.drew.metadata.mp4.media.Mp4MediaDirectory].<init>()"
    - Src: "com.drew.metadata.mp4.media.Mp4HintDirectory:36,1"
      Dst: "[com.drew.metadata.mp4.media.Mp4HintDescriptor].<init>(com.drew.metadata.mp4.media.Mp4HintDirectory)"
    - Src: "com.drew.metadata.mp4.media.Mp4HintDirectory:36,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.mp4.media.Mp4HintDirectory].getName()"
    functionSourceFile: "com.drew.metadata.mp4.media.Mp4HintDirectory"
    linkageType: ""
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.mp4.media.Mp4HintDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.mp4.media.Mp4HintDirectory"
    linkageType: ""
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDirectory].<init>()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDirectory"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].<init>()"
    - "[com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDirectory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDirectory:94,1"
      Dst: "[com.drew.metadata.Directory].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDirectory:95,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDirectory)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDirectory:95,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDirectory].getName()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDirectory"
    linkageType: ""
    functionLinenumber: 101
    functionLinenumberEnd: 103
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDirectory"
    linkageType: ""
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.CanonMakernoteDirectory$ShotInfo].<init>()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CanonMakernoteDirectory$ShotInfo"
    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: "com.drew.metadata.exif.makernotes.CanonMakernoteDirectory$ShotInfo:325,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: "[com.drew.metadata.mp4.media.Mp4TextDescriptor].<init>(com.drew.metadata.mp4.media.Mp4TextDirectory)"
    functionSourceFile: "com.drew.metadata.mp4.media.Mp4TextDescriptor"
    linkageType: ""
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.mp4.media.Mp4TextDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mp4.media.Mp4TextDescriptor:30,1"
      Dst: "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    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: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDirectory$CameraSettings].<init>()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusMakernoteDirectory$CameraSettings"
    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: "com.drew.metadata.exif.makernotes.OlympusMakernoteDirectory$CameraSettings:236,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: "[com.drew.imaging.gif.GifMetadataReader].<init>()"
    functionSourceFile: "com.drew.imaging.gif.GifMetadataReader"
    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: "com.drew.imaging.gif.GifMetadataReader: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: "[com.drew.imaging.gif.GifMetadataReader].readMetadata(java.io.File)"
    functionSourceFile: "com.drew.imaging.gif.GifMetadataReader"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 9
    returnType: "com.drew.metadata.Metadata"
    argCount: 1
    argTypes:
    - "java.io.File"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.FileInputStream].<init>(java.io.File)"
    - "[com.drew.imaging.gif.GifMetadataReader].readMetadata(java.io.InputStream)"
    - "[java.io.InputStream].close()"
    - "[com.drew.metadata.file.FileSystemMetadataReader].<init>()"
    - "[com.drew.metadata.file.FileSystemMetadataReader].read(java.io.File,com.drew.metadata.Metadata)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.gif.GifMetadataReader:45,1"
      Dst: "[java.io.FileInputStream].<init>(java.io.File)"
    - Src: "com.drew.imaging.gif.GifMetadataReader:48,1"
      Dst: "[com.drew.imaging.gif.GifMetadataReader].readMetadata(java.io.InputStream)"
    - Src: "com.drew.imaging.gif.GifMetadataReader:50,1"
      Dst: "[java.io.InputStream].close()"
    - Src: "com.drew.imaging.gif.GifMetadataReader:52,1"
      Dst: "[com.drew.metadata.file.FileSystemMetadataReader].<init>()"
    - Src: "com.drew.imaging.gif.GifMetadataReader:52,1"
      Dst: "[com.drew.metadata.file.FileSystemMetadataReader].read(java.io.File,com.drew.metadata.Metadata)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.imaging.gif.GifMetadataReader].readMetadata(java.io.InputStream)"
    functionSourceFile: "com.drew.imaging.gif.GifMetadataReader"
    linkageType: ""
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionDepth: 8
    returnType: "com.drew.metadata.Metadata"
    argCount: 1
    argTypes:
    - "java.io.InputStream"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Metadata].<init>()"
    - "[com.drew.lang.StreamReader].<init>(java.io.InputStream)"
    - "[com.drew.metadata.gif.GifReader].<init>()"
    - "[com.drew.metadata.gif.GifReader].extract(com.drew.lang.SequentialReader,com.drew.metadata.Metadata)"
    functionUses: 1
    ICount: 9
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.gif.GifMetadataReader:59,1"
      Dst: "[com.drew.metadata.Metadata].<init>()"
    - Src: "com.drew.imaging.gif.GifMetadataReader:60,1"
      Dst: "[com.drew.metadata.gif.GifReader].<init>()"
    - Src: "com.drew.imaging.gif.GifMetadataReader:60,1"
      Dst: "[com.drew.lang.StreamReader].<init>(java.io.InputStream)"
    - Src: "com.drew.imaging.gif.GifMetadataReader:60,1"
      Dst: "[com.drew.metadata.gif.GifReader].extract(com.drew.lang.SequentialReader,com.drew.metadata.Metadata)"
    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: "[com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable$HuffmanTableClass].values()"
    functionSourceFile: "com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable$HuffmanTableClass"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable$HuffmanTableClass[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].clone()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable$HuffmanTableClass:357,1"
      Dst: "[java.lang.Object].clone()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable$HuffmanTableClass].valueOf(java.lang.String)"
    functionSourceFile: "com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable$HuffmanTableClass"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable$HuffmanTableClass"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].valueOf(java.lang.Class,java.lang.String)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable$HuffmanTableClass:357,1"
      Dst: "[java.lang.Enum].valueOf(java.lang.Class,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: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable$HuffmanTableClass].<init>(java.lang.String,int)"
    functionSourceFile: "com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable$HuffmanTableClass"
    linkageType: ""
    functionLinenumber: 356
    functionLinenumberEnd: 358
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].<init>(java.lang.String,int)"
    functionUses: 3
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable$HuffmanTableClass:357,1"
      Dst: "[java.lang.Enum].<init>(java.lang.String,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable$HuffmanTableClass].typeOf(int)"
    functionSourceFile: "com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable$HuffmanTableClass"
    linkageType: ""
    functionLinenumber: 364
    functionLinenumberEnd: 372
    functionDepth: 0
    returnType: "com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable$HuffmanTableClass"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: true
    BBCount: 4
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable$HuffmanTableClass].$values()"
    functionSourceFile: "com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable$HuffmanTableClass"
    linkageType: ""
    functionLinenumber: 356
    functionLinenumberEnd: 358
    functionDepth: 0
    returnType: "com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable$HuffmanTableClass[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 8
    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: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.iptc.Iso2022Converter].convertISO2022CharsetToJavaCharset(byte[])"
    functionSourceFile: "com.drew.metadata.iptc.Iso2022Converter"
    linkageType: ""
    functionLinenumber: 53
    functionLinenumberEnd: 67
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "byte[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 64
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.metadata.iptc.Iso2022Converter:54"
      Branch Sides:
      - BranchSide: "com.drew.metadata.iptc.Iso2022Converter:57"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.iptc.Iso2022Converter:56"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.iptc.Iso2022Converter:54"
      Branch Sides:
      - BranchSide: "com.drew.metadata.iptc.Iso2022Converter:57"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.iptc.Iso2022Converter:56"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.iptc.Iso2022Converter:54"
      Branch Sides:
      - BranchSide: "com.drew.metadata.iptc.Iso2022Converter:57"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.iptc.Iso2022Converter:56"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.iptc.Iso2022Converter:54"
      Branch Sides:
      - BranchSide: "com.drew.metadata.iptc.Iso2022Converter:57"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.iptc.Iso2022Converter:56"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.iptc.Iso2022Converter:57"
      Branch Sides:
      - BranchSide: "com.drew.metadata.iptc.Iso2022Converter:60"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.iptc.Iso2022Converter:59"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.iptc.Iso2022Converter:57"
      Branch Sides:
      - BranchSide: "com.drew.metadata.iptc.Iso2022Converter:60"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.iptc.Iso2022Converter:59"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.iptc.Iso2022Converter:57"
      Branch Sides:
      - BranchSide: "com.drew.metadata.iptc.Iso2022Converter:60"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.iptc.Iso2022Converter:59"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.iptc.Iso2022Converter:57"
      Branch Sides:
      - BranchSide: "com.drew.metadata.iptc.Iso2022Converter:60"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.iptc.Iso2022Converter:59"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.iptc.Iso2022Converter:60"
      Branch Sides:
      - BranchSide: "com.drew.metadata.iptc.Iso2022Converter:63"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.iptc.Iso2022Converter:62"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.iptc.Iso2022Converter:60"
      Branch Sides:
      - BranchSide: "com.drew.metadata.iptc.Iso2022Converter:63"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.iptc.Iso2022Converter:62"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.iptc.Iso2022Converter:60"
      Branch Sides:
      - BranchSide: "com.drew.metadata.iptc.Iso2022Converter:63"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.iptc.Iso2022Converter:62"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.iptc.Iso2022Converter:60"
      Branch Sides:
      - BranchSide: "com.drew.metadata.iptc.Iso2022Converter:63"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.iptc.Iso2022Converter:62"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.iptc.Iso2022Converter:63"
      Branch Sides:
      - BranchSide: "com.drew.metadata.iptc.Iso2022Converter:66"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.iptc.Iso2022Converter:65"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.iptc.Iso2022Converter:63"
      Branch Sides:
      - BranchSide: "com.drew.metadata.iptc.Iso2022Converter:66"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.iptc.Iso2022Converter:65"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.iptc.Iso2022Converter:63"
      Branch Sides:
      - BranchSide: "com.drew.metadata.iptc.Iso2022Converter:66"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.iptc.Iso2022Converter:65"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.iptc.Iso2022Converter:63"
      Branch Sides:
      - BranchSide: "com.drew.metadata.iptc.Iso2022Converter:66"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.iptc.Iso2022Converter:65"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 21
    CyclomaticComplexity: 13
  - functionName: "[com.drew.metadata.iptc.Iso2022Converter].guessCharSet(byte[])"
    functionSourceFile: "com.drew.metadata.iptc.Iso2022Converter"
    linkageType: ""
    functionLinenumber: 91
    functionLinenumberEnd: 109
    functionDepth: 0
    returnType: "java.nio.charset.Charset"
    argCount: 1
    argTypes:
    - "byte[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.System].getProperty(java.lang.String)"
    - "[java.nio.charset.Charset].forName(java.lang.String)"
    - "[sun.nio.cs.UTF_8].newDecoder()"
    - "[java.nio.ByteBuffer].wrap(byte[])"
    - "[java.nio.charset.Charset].newDecoder()"
    - "[java.nio.charset.CharsetDecoder].decode(java.nio.ByteBuffer)"
    functionUses: 1
    ICount: 19
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.drew.metadata.iptc.Iso2022Converter:94"
      Branch Sides:
      - BranchSide: "com.drew.metadata.iptc.Iso2022Converter:108"
        BranchSideFuncs:
        - "forName(java.lang.String)"
        - "wrap(byte[])"
        - "newDecoder()"
      - BranchSide: "com.drew.metadata.iptc.Iso2022Converter:107"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.iptc.Iso2022Converter:92,1"
      Dst: "[java.lang.System].getProperty(java.lang.String)"
    - Src: "com.drew.metadata.iptc.Iso2022Converter:96,1"
      Dst: "[java.nio.charset.Charset].forName(java.lang.String)"
    - Src: "com.drew.metadata.iptc.Iso2022Converter:97,1"
      Dst: "[java.nio.charset.Charset].newDecoder()"
    - Src: "com.drew.metadata.iptc.Iso2022Converter:100,1"
      Dst: "[java.nio.ByteBuffer].wrap(byte[])"
    - Src: "com.drew.metadata.iptc.Iso2022Converter:100,1"
      Dst: "[java.nio.charset.CharsetDecoder].decode(java.nio.ByteBuffer)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.iptc.Iso2022Converter].<init>()"
    functionSourceFile: "com.drew.metadata.iptc.Iso2022Converter"
    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: "com.drew.metadata.iptc.Iso2022Converter:112,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: "[com.drew.metadata.wav.WavRiffHandler].<init>(com.drew.metadata.Metadata)"
    functionSourceFile: "com.drew.metadata.wav.WavRiffHandler"
    linkageType: ""
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.Metadata"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[com.drew.metadata.wav.WavDirectory].<init>()"
    - "[com.drew.metadata.Metadata].addDirectory(com.drew.metadata.Directory)"
    functionUses: 1
    ICount: 10
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.wav.WavRiffHandler:37,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.drew.metadata.wav.WavRiffHandler:38,1"
      Dst: "[com.drew.metadata.wav.WavDirectory].<init>()"
    - Src: "com.drew.metadata.wav.WavRiffHandler:39,1"
      Dst: "[com.drew.metadata.Metadata].addDirectory(com.drew.metadata.Directory)"
    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: "[com.drew.metadata.wav.WavRiffHandler].shouldAcceptRiffIdentifier(java.lang.String)"
    functionSourceFile: "com.drew.metadata.wav.WavRiffHandler"
    linkageType: ""
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].equals(java.lang.Object)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.wav.WavRiffHandler:44,1"
      Dst: "[java.lang.String].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: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.wav.WavRiffHandler].shouldAcceptChunk(java.lang.String)"
    functionSourceFile: "com.drew.metadata.wav.WavRiffHandler"
    linkageType: ""
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].equals(java.lang.Object)"
    - "[java.util.HashMap].containsKey(java.lang.Object)"
    functionUses: 1
    ICount: 16
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.drew.metadata.wav.WavRiffHandler:49"
      Branch Sides:
      - BranchSide: "com.drew.metadata.wav.WavRiffHandler:49"
        BranchSideFuncs:
        - "containsKey(java.lang.Object)"
      - BranchSide: "com.drew.metadata.wav.WavRiffHandler:48"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.wav.WavRiffHandler:50"
      Branch Sides:
      - BranchSide: "com.drew.metadata.wav.WavRiffHandler:51"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
      - BranchSide: "com.drew.metadata.wav.WavRiffHandler:50"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "com.drew.metadata.wav.WavRiffHandler:50"
      Branch Sides:
      - BranchSide: "com.drew.metadata.wav.WavRiffHandler:49"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
      - BranchSide: "com.drew.metadata.wav.WavRiffHandler:48"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.wav.WavRiffHandler:51"
      Branch Sides:
      - BranchSide: "com.drew.metadata.wav.WavRiffHandler:48"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.wav.WavRiffHandler:49,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "com.drew.metadata.wav.WavRiffHandler:50,1"
      Dst: "[java.util.HashMap].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: 7
    CyclomaticComplexity: 5
  - functionName: "[com.drew.metadata.wav.WavRiffHandler].shouldAcceptList(java.lang.String)"
    functionSourceFile: "com.drew.metadata.wav.WavRiffHandler"
    linkageType: ""
    functionLinenumber: 56
    functionLinenumberEnd: 63
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].equals(java.lang.Object)"
    functionUses: 1
    ICount: 8
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "com.drew.metadata.wav.WavRiffHandler:57"
      Branch Sides:
      - BranchSide: "com.drew.metadata.wav.WavRiffHandler:61"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.wav.WavRiffHandler:60"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.wav.WavRiffHandler:57,1"
      Dst: "[java.lang.String].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: 3
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.wav.WavRiffHandler].processChunk(java.lang.String,byte[])"
    functionSourceFile: "com.drew.metadata.wav.WavRiffHandler"
    linkageType: ""
    functionLinenumber: 68
    functionLinenumberEnd: 117
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "byte[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].equals(java.lang.Object)"
    - "[com.drew.lang.ByteArrayReader].<init>(byte[])"
    - "[com.drew.lang.RandomAccessReader].setMotorolaByteOrder(boolean)"
    - "[com.drew.lang.RandomAccessReader].getInt16(int)"
    - "[com.drew.lang.RandomAccessReader].getInt32(int)"
    - "[com.drew.metadata.Directory].setInt(int,int)"
    - "[java.util.HashMap].get(java.lang.Object)"
    - "[com.drew.metadata.Directory].setString(int,java.lang.String)"
    - "[java.lang.Integer].valueOf(int)"
    - "[java.util.HashMap:java.util.LinkedHashMap].containsKey(java.lang.Object)"
    - "[com.drew.metadata.Directory].containsTag(int)"
    - "[com.drew.metadata.Directory].getDouble(int)"
    - "[java.lang.Math].pow(double,double)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.Math].round(double)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[com.drew.metadata.Directory].addError(java.lang.String)"
    - "[java.util.HashMap].containsKey(java.lang.Object)"
    - "[java.lang.String].<init>(byte[])"
    - "[java.lang.String].substring(int,int)"
    - "[java.io.InvalidClassException:java.lang.Throwable:java.nio.file.FileSystemException].getMessage()"
    - "[java.lang.Throwable].getMessage()"
    functionUses: 2
    ICount: 118
    EdgeCount: 46
    BranchProfiles:
    - Branch String: "com.drew.metadata.wav.WavRiffHandler:69"
      Branch Sides:
      - BranchSide: "com.drew.metadata.wav.WavRiffHandler:69"
        BranchSideFuncs:
        - "getInt32(int)"
        - "setMotorolaByteOrder(boolean)"
      - BranchSide: "com.drew.metadata.wav.WavRiffHandler:68"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "com.drew.metadata.wav.WavRiffHandler:86"
      Branch Sides:
      - BranchSide: "com.drew.metadata.wav.WavRiffHandler:89"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.wav.WavRiffHandler:88"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.wav.WavRiffHandler:69"
      Branch Sides:
      - BranchSide: "com.drew.metadata.wav.WavRiffHandler:110"
        BranchSideFuncs:
        - "getInt32(int)"
        - "setMotorolaByteOrder(boolean)"
      - BranchSide: "com.drew.metadata.wav.WavRiffHandler:109"
        BranchSideFuncs:
        - "containsKey(java.lang.Object)"
    - Branch String: "com.drew.metadata.wav.WavRiffHandler:99"
      Branch Sides:
      - BranchSide: "com.drew.metadata.wav.WavRiffHandler:109"
        BranchSideFuncs:
        - "getDouble(int)"
        - "format(java.lang.String,java.lang.Object[])"
        - "round(double)"
        - "pow(double,double)"
        - "valueOf(int)"
      - BranchSide: "com.drew.metadata.wav.WavRiffHandler:108"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.wav.WavRiffHandler:110"
      Branch Sides:
      - BranchSide: "com.drew.metadata.wav.WavRiffHandler:115"
        BranchSideFuncs:
        - "setString(int,java.lang.String)"
        - "substring(int,int)"
        - "get(java.lang.Object)"
        - "intValue()"
        - "<init>(byte[])"
      - BranchSide: "com.drew.metadata.wav.WavRiffHandler:114"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.wav.WavRiffHandler:69,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "com.drew.metadata.wav.WavRiffHandler:70,1"
      Dst: "[com.drew.lang.ByteArrayReader].<init>(byte[])"
    - Src: "com.drew.metadata.wav.WavRiffHandler:71,1"
      Dst: "[com.drew.lang.RandomAccessReader].setMotorolaByteOrder(boolean)"
    - Src: "com.drew.metadata.wav.WavRiffHandler:72,1"
      Dst: "[com.drew.lang.RandomAccessReader].getInt16(int)"
    - Src: "com.drew.metadata.wav.WavRiffHandler:74,1"
      Dst: "[com.drew.lang.RandomAccessReader].getInt32(int)"
    - Src: "com.drew.metadata.wav.WavRiffHandler:82,1"
      Dst: "[com.drew.metadata.Directory].setInt(int,int)"
    - Src: "com.drew.metadata.wav.WavRiffHandler:83,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.drew.metadata.wav.WavRiffHandler:83,1"
      Dst: "[java.util.HashMap].get(java.lang.Object)"
    - Src: "com.drew.metadata.wav.WavRiffHandler:83,1"
      Dst: "[com.drew.metadata.Directory].setString(int,java.lang.String)"
    - Src: "com.drew.metadata.wav.WavRiffHandler:86,1"
      Dst: "[java.util.HashMap].containsKey(java.lang.Object)"
    - Src: "com.drew.metadata.wav.WavRiffHandler:99,1"
      Dst: "[com.drew.metadata.Directory].containsTag(int)"
    - Src: "com.drew.metadata.wav.WavRiffHandler:100,1"
      Dst: "[com.drew.metadata.Directory].getDouble(int)"
    - Src: "com.drew.metadata.wav.WavRiffHandler:101,1"
      Dst: "[java.lang.Math].pow(double,double)"
    - Src: "com.drew.metadata.wav.WavRiffHandler:102,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.wav.WavRiffHandler:103,1"
      Dst: "[java.lang.Math].round(double)"
    - Src: "com.drew.metadata.wav.WavRiffHandler:104,1"
      Dst: "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - Src: "com.drew.metadata.wav.WavRiffHandler:108,1"
      Dst: "[com.drew.metadata.Directory].addError(java.lang.String)"
    - Src: "com.drew.metadata.wav.WavRiffHandler:111,1"
      Dst: "[java.lang.String].<init>(byte[])"
    - Src: "com.drew.metadata.wav.WavRiffHandler:111,1"
      Dst: "[java.lang.String].substring(int,int)"
    - Src: "com.drew.metadata.wav.WavRiffHandler:114,1"
      Dst: "[java.lang.Throwable].getMessage()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 17
    CyclomaticComplexity: 7
  - functionName: "[com.drew.metadata.wav.WavRiffHandler].addError(java.lang.String)"
    functionSourceFile: "com.drew.metadata.wav.WavRiffHandler"
    linkageType: ""
    functionLinenumber: 120
    functionLinenumberEnd: 123
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].addError(java.lang.String)"
    functionUses: 4
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.wav.WavRiffHandler:121,1"
      Dst: "[com.drew.metadata.Directory].addError(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: "[com.drew.imaging.FileTypeDetector].<init>()"
    functionSourceFile: "com.drew.imaging.FileTypeDetector"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.lang.Exception].<init>(java.lang.String)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.FileTypeDetector:116,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.drew.imaging.FileTypeDetector:117,1"
      Dst: "[java.lang.Exception].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions:
      - "java.lang.Exception"
      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: "[com.drew.imaging.FileTypeDetector].detectFileType(java.io.InputStream)"
    functionSourceFile: "com.drew.imaging.FileTypeDetector"
    linkageType: ""
    functionLinenumber: 133
    functionLinenumberEnd: 165
    functionDepth: 2
    returnType: "com.drew.imaging.FileType"
    argCount: 1
    argTypes:
    - "java.io.InputStream"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.zip.InflaterInputStream].markSupported()"
    - "[java.io.FilterInputStream].markSupported()"
    - "[java.io.ByteArrayInputStream].markSupported()"
    - "[java.io.InputStream].markSupported()"
    - "[java.io.BufferedInputStream].markSupported()"
    - "[java.io.IOException].<init>(java.lang.String)"
    - "[java.io.BufferedInputStream].mark(int)"
    - "[java.io.ByteArrayInputStream].mark(int)"
    - "[java.io.FilterInputStream].mark(int)"
    - "[java.io.InputStream].mark(int)"
    - "[java.util.zip.InflaterInputStream].mark(int)"
    - "[java.io.FileInputStream].read(byte[],int,int)"
    - "[java.io.DataInputStream].read(byte[],int,int)"
    - "[java.io.ByteArrayInputStream].read(byte[],int,int)"
    - "[java.util.zip.ZipInputStream].read(byte[],int,int)"
    - "[java.io.ObjectInputStream].read(byte[],int,int)"
    - "[java.io.InputStream].read(byte[],int,int)"
    - "[java.lang.ProcessImpl$DeferredCloseInputStream].read(byte[],int,int)"
    - "[java.util.jar.JarInputStream].read(byte[],int,int)"
    - "[java.io.InputStream$1].read(byte[],int,int)"
    - "[java.io.FilterInputStream].read(byte[],int,int)"
    - "[java.io.ObjectInputStream$PeekInputStream].read(byte[],int,int)"
    - "[java.util.zip.InflaterInputStream].read(byte[],int,int)"
    - "[java.io.BufferedInputStream].read(byte[],int,int)"
    - "[java.util.jar.Manifest$FastInputStream].read(byte[],int,int)"
    - "[java.io.ObjectInputStream$BlockDataInputStream].read(byte[],int,int)"
    - "[java.io.InputStream].reset()"
    - "[java.io.FilterInputStream].reset()"
    - "[java.io.BufferedInputStream].reset()"
    - "[java.util.zip.InflaterInputStream].reset()"
    - "[java.io.ByteArrayInputStream].reset()"
    - "[com.drew.lang.ByteTrie].find(byte[],int,int)"
    - "[java.lang.AssertionError].<init>()"
    - "[com.drew.imaging.mp3.MpegAudioTypeChecker].checkType(byte[])"
    - "[com.drew.imaging.riff.RiffTypeChecker].checkType(byte[])"
    - "[com.drew.imaging.quicktime.QuickTimeTypeChecker].checkType(byte[])"
    - "[com.drew.imaging.TypeChecker].checkType(byte[])"
    functionUses: 1
    ICount: 46
    EdgeCount: 36
    BranchProfiles:
    - Branch String: "com.drew.imaging.FileTypeDetector:134"
      Branch Sides:
      - BranchSide: "com.drew.imaging.FileTypeDetector:137"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "com.drew.imaging.FileTypeDetector:136"
        BranchSideFuncs:
        - "mark(int)"
    - Branch String: "com.drew.imaging.FileTypeDetector:142"
      Branch Sides:
      - BranchSide: "com.drew.imaging.FileTypeDetector:150"
        BranchSideFuncs:
        - "read(byte[],int,int)"
      - BranchSide: "com.drew.imaging.FileTypeDetector:149"
        BranchSideFuncs:
        - "reset()"
        - "<init>()"
        - "find(byte[],int,int)"
    - Branch String: "com.drew.imaging.FileTypeDetector:144"
      Branch Sides:
      - BranchSide: "com.drew.imaging.FileTypeDetector:146"
        BranchSideFuncs: []
      - BranchSide: "com.drew.imaging.FileTypeDetector:145"
        BranchSideFuncs: []
    - Branch String: "com.drew.imaging.FileTypeDetector:154"
      Branch Sides:
      - BranchSide: "com.drew.imaging.FileTypeDetector:155"
        BranchSideFuncs: []
    - Branch String: "com.drew.imaging.FileTypeDetector:154"
      Branch Sides:
      - BranchSide: "com.drew.imaging.FileTypeDetector:155"
        BranchSideFuncs: []
    - Branch String: "com.drew.imaging.FileTypeDetector:156"
      Branch Sides:
      - BranchSide: "com.drew.imaging.FileTypeDetector:164"
        BranchSideFuncs: []
      - BranchSide: "com.drew.imaging.FileTypeDetector:163"
        BranchSideFuncs: []
    - Branch String: "com.drew.imaging.FileTypeDetector:157"
      Branch Sides:
      - BranchSide: "com.drew.imaging.FileTypeDetector:164"
        BranchSideFuncs:
        - "checkType(byte[])"
      - BranchSide: "com.drew.imaging.FileTypeDetector:163"
        BranchSideFuncs: []
    - Branch String: "com.drew.imaging.FileTypeDetector:159"
      Branch Sides:
      - BranchSide: "com.drew.imaging.FileTypeDetector:157"
        BranchSideFuncs: []
      - BranchSide: "com.drew.imaging.FileTypeDetector:156"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.imaging.FileTypeDetector:134,1"
      Dst: "[java.io.InputStream].markSupported()"
    - Src: "com.drew.imaging.FileTypeDetector:135,1"
      Dst: "[java.io.IOException].<init>(java.lang.String)"
    - Src: "com.drew.imaging.FileTypeDetector:137,1"
      Dst: "[java.io.InputStream].mark(int)"
    - Src: "com.drew.imaging.FileTypeDetector:143,1"
      Dst: "[java.io.InputStream].read(byte[],int,int)"
    - Src: "com.drew.imaging.FileTypeDetector:150,1"
      Dst: "[java.io.InputStream].reset()"
    - Src: "com.drew.imaging.FileTypeDetector:152,1"
      Dst: "[com.drew.lang.ByteTrie].find(byte[],int,int)"
    - Src: "com.drew.imaging.FileTypeDetector:154,1"
      Dst: "[java.lang.AssertionError].<init>()"
    - Src: "com.drew.imaging.FileTypeDetector:158,1"
      Dst: "[com.drew.imaging.TypeChecker].checkType(byte[])"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 17
    CyclomaticComplexity: 6
  - functionName: "[com.drew.lang.ByteTrie].find(byte[],int,int)"
    functionSourceFile: "com.drew.lang.ByteTrie"
    linkageType: ""
    functionLinenumber: 70
    functionLinenumberEnd: 87
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 3
    argTypes:
    - "byte[]"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IndexOutOfBoundsException].<init>()"
    - "[com.drew.lang.ByteTrie$ByteTrieNode].access$000(com.drew.lang.ByteTrie$ByteTrieNode)"
    - "[com.drew.lang.ByteTrie$ByteTrieNode].access$100(com.drew.lang.ByteTrie$ByteTrieNode)"
    - "[java.util.WeakHashMap].get(java.lang.Object)"
    - "[java.lang.Byte].valueOf(byte)"
    - "[java.util.Map].get(java.lang.Object)"
    functionUses: 2
    ICount: 28
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "com.drew.lang.ByteTrie:72"
      Branch Sides:
      - BranchSide: "com.drew.lang.ByteTrie:75"
        BranchSideFuncs:
        - "<init>()"
      - BranchSide: "com.drew.lang.ByteTrie:74"
        BranchSideFuncs: []
    - Branch String: "com.drew.lang.ByteTrie:77"
      Branch Sides:
      - BranchSide: "com.drew.lang.ByteTrie:86"
        BranchSideFuncs:
        - "access$100(com.drew.lang.ByteTrie$ByteTrieNode)"
        - "valueOf(byte)"
        - "get(java.lang.Object)"
      - BranchSide: "com.drew.lang.ByteTrie:85"
        BranchSideFuncs: []
    - Branch String: "com.drew.lang.ByteTrie:80"
      Branch Sides:
      - BranchSide: "com.drew.lang.ByteTrie:82"
        BranchSideFuncs: []
      - BranchSide: "com.drew.lang.ByteTrie:81"
        BranchSideFuncs: []
    - Branch String: "com.drew.lang.ByteTrie:83"
      Branch Sides:
      - BranchSide: "com.drew.lang.ByteTrie:75"
        BranchSideFuncs:
        - "access$000(com.drew.lang.ByteTrie$ByteTrieNode)"
      - BranchSide: "com.drew.lang.ByteTrie:74"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.lang.ByteTrie:73,1"
      Dst: "[java.lang.IndexOutOfBoundsException].<init>()"
    - Src: "com.drew.lang.ByteTrie:76,1"
      Dst: "[com.drew.lang.ByteTrie$ByteTrieNode].access$000(com.drew.lang.ByteTrie$ByteTrieNode)"
    - Src: "com.drew.lang.ByteTrie:79,1"
      Dst: "[com.drew.lang.ByteTrie$ByteTrieNode].access$100(com.drew.lang.ByteTrie$ByteTrieNode)"
    - Src: "com.drew.lang.ByteTrie:79,1"
      Dst: "[java.lang.Byte].valueOf(byte)"
    - Src: "com.drew.lang.ByteTrie:79,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: 10
    CyclomaticComplexity: 4
  - functionName: "[com.drew.lang.ByteTrie$ByteTrieNode].access$000(com.drew.lang.ByteTrie$ByteTrieNode)"
    functionSourceFile: "com.drew.lang.ByteTrie$ByteTrieNode"
    linkageType: ""
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "com.drew.lang.ByteTrie$ByteTrieNode"
    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: "[com.drew.lang.ByteTrie$ByteTrieNode].access$100(com.drew.lang.ByteTrie$ByteTrieNode)"
    functionSourceFile: "com.drew.lang.ByteTrie$ByteTrieNode"
    linkageType: ""
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionDepth: 0
    returnType: "java.util.Map"
    argCount: 1
    argTypes:
    - "com.drew.lang.ByteTrie$ByteTrieNode"
    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: "[com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$1].<init>(com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler)"
    functionSourceFile: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$1"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$1:655,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: "[com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$1].compare(com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row,com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row)"
    functionSourceFile: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$1"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "int"
    argCount: 2
    argTypes:
    - "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row"
    - "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row].access$000(com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row)"
    - "[com.drew.lang.StringUtil].compare(java.lang.String,java.lang.String)"
    - "[com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row].access$100(com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$1:659"
      Branch Sides:
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$1:657"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$1:658,1"
      Dst: "[com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row].access$000(com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$1:658,1"
      Dst: "[com.drew.lang.StringUtil].compare(java.lang.String,java.lang.String)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$1:659,1"
      Dst: "[com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row].access$100(com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row)"
    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: "[com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row].access$000(com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row)"
    functionSourceFile: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    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: "[com.drew.lang.StringUtil].compare(java.lang.String,java.lang.String)"
    functionSourceFile: "com.drew.lang.StringUtil"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].compareTo(java.lang.String)"
    functionUses: 0
    ICount: 24
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.lang.StringUtil:95"
      Branch Sides:
      - BranchSide: "com.drew.lang.StringUtil:95"
        BranchSideFuncs: []
      - BranchSide: "com.drew.lang.StringUtil:94"
        BranchSideFuncs: []
    - Branch String: "com.drew.lang.StringUtil:96"
      Branch Sides:
      - BranchSide: "com.drew.lang.StringUtil:-1"
        BranchSideFuncs: []
      - BranchSide: "com.drew.lang.StringUtil:-2"
        BranchSideFuncs: []
    - Branch String: "com.drew.lang.StringUtil:98"
      Branch Sides:
      - BranchSide: "com.drew.lang.StringUtil:100"
        BranchSideFuncs: []
      - BranchSide: "com.drew.lang.StringUtil:99"
        BranchSideFuncs: []
    - Branch String: "com.drew.lang.StringUtil:98"
      Branch Sides:
      - BranchSide: "com.drew.lang.StringUtil:100"
        BranchSideFuncs: []
      - BranchSide: "com.drew.lang.StringUtil:99"
        BranchSideFuncs: []
    - Branch String: "com.drew.lang.StringUtil:100"
      Branch Sides:
      - BranchSide: "com.drew.lang.StringUtil:102"
        BranchSideFuncs: []
      - BranchSide: "com.drew.lang.StringUtil:101"
        BranchSideFuncs: []
    - Branch String: "com.drew.lang.StringUtil:102"
      Branch Sides:
      - BranchSide: "com.drew.lang.StringUtil:105"
        BranchSideFuncs: []
      - BranchSide: "com.drew.lang.StringUtil:104"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.lang.StringUtil:105,1"
      Dst: "[java.lang.String].compareTo(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: 14
    CyclomaticComplexity: 4
  - functionName: "[com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row].access$100(com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row)"
    functionSourceFile: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    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: "[com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$1].compare(java.lang.Object,java.lang.Object)"
    functionSourceFile: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$1"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "int"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$1].compare(com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row,com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$1:655,1"
      Dst: "[com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$1].compare(com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row,com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row)"
    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: "[com.drew.tools.ProcessAllImagesInFolderUtility$UnknownTagHandler].<init>()"
    functionSourceFile: "com.drew.tools.ProcessAllImagesInFolderUtility$UnknownTagHandler"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.tools.ProcessAllImagesInFolderUtility$FileHandlerBase].<init>()"
    - "[java.util.HashMap].<init>()"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$UnknownTagHandler:688,1"
      Dst: "[com.drew.tools.ProcessAllImagesInFolderUtility$FileHandlerBase].<init>()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$UnknownTagHandler:690,1"
      Dst: "[java.util.HashMap].<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: "[com.drew.tools.ProcessAllImagesInFolderUtility$UnknownTagHandler].onExtractionSuccess(java.io.File,com.drew.metadata.Metadata,java.lang.String,java.io.PrintStream)"
    functionSourceFile: "com.drew.tools.ProcessAllImagesInFolderUtility$UnknownTagHandler"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 4
    argTypes:
    - "java.io.File"
    - "com.drew.metadata.Metadata"
    - "java.lang.String"
    - "java.io.PrintStream"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.tools.ProcessAllImagesInFolderUtility$FileHandlerBase].onExtractionSuccess(java.io.File,com.drew.metadata.Metadata,java.lang.String,java.io.PrintStream)"
    - "[com.drew.metadata.Metadata].getDirectories()"
    - "[java.lang.Iterable].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[com.drew.metadata.Directory].getTags()"
    - "[java.util.Collection].iterator()"
    - "[com.drew.metadata.Tag].hasTagName()"
    - "[com.drew.metadata.Directory].getName()"
    - "[java.util.HashMap].get(java.lang.Object)"
    - "[java.util.HashMap].<init>()"
    - "[java.util.HashMap].put(java.lang.Object,java.lang.Object)"
    - "[com.drew.metadata.Tag].getTagType()"
    - "[java.lang.Integer].valueOf(int)"
    - "[java.lang.Integer].intValue()"
    functionUses: 0
    ICount: 52
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.tools.ProcessAllImagesInFolderUtility$UnknownTagHandler:697"
      Branch Sides:
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$UnknownTagHandler:719"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$UnknownTagHandler:718"
        BranchSideFuncs: []
    - Branch String: "com.drew.tools.ProcessAllImagesInFolderUtility$UnknownTagHandler:698"
      Branch Sides:
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$UnknownTagHandler:718"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$UnknownTagHandler:717"
        BranchSideFuncs: []
    - Branch String: "com.drew.tools.ProcessAllImagesInFolderUtility$UnknownTagHandler:701"
      Branch Sides:
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$UnknownTagHandler:704"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$UnknownTagHandler:703"
        BranchSideFuncs: []
    - Branch String: "com.drew.tools.ProcessAllImagesInFolderUtility$UnknownTagHandler:705"
      Branch Sides:
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$UnknownTagHandler:710"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$UnknownTagHandler:709"
        BranchSideFuncs: []
    - Branch String: "com.drew.tools.ProcessAllImagesInFolderUtility$UnknownTagHandler:711"
      Branch Sides:
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$UnknownTagHandler:716"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$UnknownTagHandler:715"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$UnknownTagHandler:695,1"
      Dst: "[com.drew.tools.ProcessAllImagesInFolderUtility$FileHandlerBase].onExtractionSuccess(java.io.File,com.drew.metadata.Metadata,java.lang.String,java.io.PrintStream)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$UnknownTagHandler:697,1"
      Dst: "[com.drew.metadata.Metadata].getDirectories()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$UnknownTagHandler:697,1"
      Dst: "[java.lang.Iterable].iterator()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$UnknownTagHandler:697,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$UnknownTagHandler:697,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$UnknownTagHandler:698,1"
      Dst: "[com.drew.metadata.Directory].getTags()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$UnknownTagHandler:698,1"
      Dst: "[java.util.Collection].iterator()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$UnknownTagHandler:701,1"
      Dst: "[com.drew.metadata.Tag].hasTagName()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$UnknownTagHandler:704,1"
      Dst: "[com.drew.metadata.Directory].getName()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$UnknownTagHandler:704,1"
      Dst: "[java.util.HashMap].get(java.lang.Object)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$UnknownTagHandler:706,1"
      Dst: "[java.util.HashMap].<init>()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$UnknownTagHandler:707,1"
      Dst: "[java.util.HashMap].put(java.lang.Object,java.lang.Object)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$UnknownTagHandler:710,1"
      Dst: "[com.drew.metadata.Tag].getTagType()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$UnknownTagHandler:710,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$UnknownTagHandler:716,1"
      Dst: "[java.lang.Integer].intValue()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 13
    CyclomaticComplexity: 6
  - functionName: "[com.drew.metadata.Metadata].getDirectories()"
    functionSourceFile: "com.drew.metadata.Metadata"
    linkageType: ""
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionDepth: 0
    returnType: "java.lang.Iterable"
    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: "[com.drew.metadata.Tag].hasTagName()"
    functionSourceFile: "com.drew.metadata.Tag"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].hasTagName(int)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.Tag:89,1"
      Dst: "[com.drew.metadata.Directory].hasTagName(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: "[com.drew.tools.ProcessAllImagesInFolderUtility$UnknownTagHandler].onScanCompleted(java.io.PrintStream)"
    functionSourceFile: "com.drew.tools.ProcessAllImagesInFolderUtility$UnknownTagHandler"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.io.PrintStream"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.tools.ProcessAllImagesInFolderUtility$FileHandlerBase].onScanCompleted(java.io.PrintStream)"
    - "[java.util.HashMap].entrySet()"
    - "[java.util.Set].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.util.Map$Entry].getKey()"
    - "[java.util.Map$Entry].getValue()"
    - "[java.util.ArrayList].<init>(java.util.Collection)"
    - "[com.drew.tools.ProcessAllImagesInFolderUtility$UnknownTagHandler$1].<init>(com.drew.tools.ProcessAllImagesInFolderUtility$UnknownTagHandler)"
    - "[java.util.Collections].sort(java.util.List,java.util.Comparator)"
    - "[java.util.List].iterator()"
    - "[java.io.PrintStream].format(java.lang.String,java.lang.Object[])"
    functionUses: 0
    ICount: 37
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.tools.ProcessAllImagesInFolderUtility$UnknownTagHandler:726"
      Branch Sides:
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$UnknownTagHandler:742"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$UnknownTagHandler:741"
        BranchSideFuncs: []
    - Branch String: "com.drew.tools.ProcessAllImagesInFolderUtility$UnknownTagHandler:736"
      Branch Sides:
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$UnknownTagHandler:741"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$UnknownTagHandler:740"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$UnknownTagHandler:724,1"
      Dst: "[com.drew.tools.ProcessAllImagesInFolderUtility$FileHandlerBase].onScanCompleted(java.io.PrintStream)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$UnknownTagHandler:726,1"
      Dst: "[java.util.HashMap].entrySet()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$UnknownTagHandler:726,1"
      Dst: "[java.util.Set].iterator()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$UnknownTagHandler:726,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$UnknownTagHandler:726,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$UnknownTagHandler:727,1"
      Dst: "[java.util.Map$Entry].getKey()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$UnknownTagHandler:728,1"
      Dst: "[java.util.Map$Entry].getValue()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$UnknownTagHandler:728,1"
      Dst: "[java.util.ArrayList].<init>(java.util.Collection)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$UnknownTagHandler:729,1"
      Dst: "[com.drew.tools.ProcessAllImagesInFolderUtility$UnknownTagHandler$1].<init>(com.drew.tools.ProcessAllImagesInFolderUtility$UnknownTagHandler)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$UnknownTagHandler:729,1"
      Dst: "[java.util.Collections].sort(java.util.List,java.util.Comparator)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$UnknownTagHandler:736,1"
      Dst: "[java.util.List].iterator()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$UnknownTagHandler:739,1"
      Dst: "[java.io.PrintStream].format(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: 7
    CyclomaticComplexity: 3
  - functionName: "[com.drew.tools.ProcessAllImagesInFolderUtility$UnknownTagHandler$1].<init>(com.drew.tools.ProcessAllImagesInFolderUtility$UnknownTagHandler)"
    functionSourceFile: "com.drew.tools.ProcessAllImagesInFolderUtility$UnknownTagHandler$1"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.tools.ProcessAllImagesInFolderUtility$UnknownTagHandler"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$UnknownTagHandler$1:730,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: "[com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDirectory].<init>()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDirectory"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].<init>()"
    - "[com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDirectory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDirectory:74,1"
      Dst: "[com.drew.metadata.Directory].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDirectory:75,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDirectory)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDirectory:75,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDirectory].getName()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDirectory"
    linkageType: ""
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDirectory"
    linkageType: ""
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDirectory].<init>()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDirectory"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].<init>()"
    - "[com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDirectory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDirectory:101,1"
      Dst: "[com.drew.metadata.Directory].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDirectory:102,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDirectory)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDirectory:102,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDirectory].getName()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDirectory"
    linkageType: ""
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDirectory"
    linkageType: ""
    functionLinenumber: 115
    functionLinenumberEnd: 117
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.mov.QuickTimeContainerTypes].<init>()"
    functionSourceFile: "com.drew.metadata.mov.QuickTimeContainerTypes"
    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: "com.drew.metadata.mov.QuickTimeContainerTypes:28,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: "[com.drew.metadata.iptc.IptcDirectory].<init>()"
    functionSourceFile: "com.drew.metadata.iptc.IptcDirectory"
    linkageType: ""
    functionLinenumber: 213
    functionLinenumberEnd: 217
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].<init>()"
    - "[com.drew.metadata.iptc.IptcDescriptor].<init>(com.drew.metadata.iptc.IptcDirectory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 1
    ICount: 6
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.iptc.IptcDirectory:214,1"
      Dst: "[com.drew.metadata.Directory].<init>()"
    - Src: "com.drew.metadata.iptc.IptcDirectory:215,1"
      Dst: "[com.drew.metadata.iptc.IptcDescriptor].<init>(com.drew.metadata.iptc.IptcDirectory)"
    - Src: "com.drew.metadata.iptc.IptcDirectory:215,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.iptc.IptcDirectory].getName()"
    functionSourceFile: "com.drew.metadata.iptc.IptcDirectory"
    linkageType: ""
    functionLinenumber: 221
    functionLinenumberEnd: 223
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.iptc.IptcDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.iptc.IptcDirectory"
    linkageType: ""
    functionLinenumber: 228
    functionLinenumberEnd: 230
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.iptc.IptcDirectory].getKeywords()"
    functionSourceFile: "com.drew.metadata.iptc.IptcDirectory"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getStringArray(int)"
    - "[java.util.Arrays].asList(java.lang.Object[])"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.metadata.iptc.IptcDirectory:239"
      Branch Sides:
      - BranchSide: "com.drew.metadata.iptc.IptcDirectory:241"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.iptc.IptcDirectory:240"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.iptc.IptcDirectory:238,1"
      Dst: "[com.drew.metadata.Directory].getStringArray(int)"
    - Src: "com.drew.metadata.iptc.IptcDirectory:241,1"
      Dst: "[java.util.Arrays].asList(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: "[com.drew.metadata.iptc.IptcDirectory].getDateSent()"
    functionSourceFile: "com.drew.metadata.iptc.IptcDirectory"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.util.Date"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.iptc.IptcDirectory].getDate(int,int)"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.iptc.IptcDirectory:252,1"
      Dst: "[com.drew.metadata.iptc.IptcDirectory].getDate(int,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: "[com.drew.metadata.iptc.IptcDirectory].getDate(int,int)"
    functionSourceFile: "com.drew.metadata.iptc.IptcDirectory"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.util.Date"
    argCount: 2
    argTypes:
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getString(int)"
    - "[java.text.SimpleDateFormat].<init>(java.lang.String)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.text.DateFormat].parse(java.lang.String)"
    functionUses: 0
    ICount: 20
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.metadata.iptc.IptcDirectory:306"
      Branch Sides:
      - BranchSide: "com.drew.metadata.iptc.IptcDirectory:308"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.iptc.IptcDirectory:307"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.iptc.IptcDirectory:308"
      Branch Sides:
      - BranchSide: "com.drew.metadata.iptc.IptcDirectory:312"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.iptc.IptcDirectory:311"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.iptc.IptcDirectory:303,1"
      Dst: "[com.drew.metadata.Directory].getString(int)"
    - Src: "com.drew.metadata.iptc.IptcDirectory:312,1"
      Dst: "[java.text.SimpleDateFormat].<init>(java.lang.String)"
    - Src: "com.drew.metadata.iptc.IptcDirectory:313,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.iptc.IptcDirectory:313,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.iptc.IptcDirectory:313,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "com.drew.metadata.iptc.IptcDirectory:313,1"
      Dst: "[java.text.DateFormat].parse(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: 6
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.iptc.IptcDirectory].getReleaseDate()"
    functionSourceFile: "com.drew.metadata.iptc.IptcDirectory"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.util.Date"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.iptc.IptcDirectory].getDate(int,int)"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.iptc.IptcDirectory:263,1"
      Dst: "[com.drew.metadata.iptc.IptcDirectory].getDate(int,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: "[com.drew.metadata.iptc.IptcDirectory].getExpirationDate()"
    functionSourceFile: "com.drew.metadata.iptc.IptcDirectory"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.util.Date"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.iptc.IptcDirectory].getDate(int,int)"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.iptc.IptcDirectory:274,1"
      Dst: "[com.drew.metadata.iptc.IptcDirectory].getDate(int,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: "[com.drew.metadata.iptc.IptcDirectory].getDateCreated()"
    functionSourceFile: "com.drew.metadata.iptc.IptcDirectory"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.util.Date"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.iptc.IptcDirectory].getDate(int,int)"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.iptc.IptcDirectory:285,1"
      Dst: "[com.drew.metadata.iptc.IptcDirectory].getDate(int,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: "[com.drew.metadata.iptc.IptcDirectory].getDigitalDateCreated()"
    functionSourceFile: "com.drew.metadata.iptc.IptcDirectory"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.util.Date"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.iptc.IptcDirectory].getDate(int,int)"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.iptc.IptcDirectory:297,1"
      Dst: "[com.drew.metadata.iptc.IptcDirectory].getDate(int,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: "[com.drew.metadata.xmp.XmpWriter].<init>()"
    functionSourceFile: "com.drew.metadata.xmp.XmpWriter"
    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: "com.drew.metadata.xmp.XmpWriter:11,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: "[com.drew.metadata.xmp.XmpWriter].write(java.io.OutputStream,com.drew.metadata.Metadata)"
    functionSourceFile: "com.drew.metadata.xmp.XmpWriter"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "java.io.OutputStream"
    - "com.drew.metadata.Metadata"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Metadata].getFirstDirectoryOfType(java.lang.Class)"
    - "[com.drew.metadata.xmp.XmpDirectory].getXMPMeta()"
    - "[com.adobe.internal.xmp.options.SerializeOptions].<init>()"
    - "[com.adobe.internal.xmp.options.SerializeOptions].setOmitPacketWrapper(boolean)"
    - "[com.adobe.internal.xmp.XMPMetaFactory].serialize(com.adobe.internal.xmp.XMPMeta,java.io.OutputStream,com.adobe.internal.xmp.options.SerializeOptions)"
    functionUses: 0
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.metadata.xmp.XmpWriter:22"
      Branch Sides:
      - BranchSide: "com.drew.metadata.xmp.XmpWriter:24"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.xmp.XmpWriter:23"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.xmp.XmpWriter:21,1"
      Dst: "[com.drew.metadata.Metadata].getFirstDirectoryOfType(java.lang.Class)"
    - Src: "com.drew.metadata.xmp.XmpWriter:24,1"
      Dst: "[com.drew.metadata.xmp.XmpDirectory].getXMPMeta()"
    - Src: "com.drew.metadata.xmp.XmpWriter:25,1"
      Dst: "[com.adobe.internal.xmp.options.SerializeOptions].<init>()"
    - Src: "com.drew.metadata.xmp.XmpWriter:25,1"
      Dst: "[com.adobe.internal.xmp.options.SerializeOptions].setOmitPacketWrapper(boolean)"
    - Src: "com.drew.metadata.xmp.XmpWriter:26,1"
      Dst: "[com.adobe.internal.xmp.XMPMetaFactory].serialize(com.adobe.internal.xmp.XMPMeta,java.io.OutputStream,com.adobe.internal.xmp.options.SerializeOptions)"
    JavaMethodInfo:
      exceptions:
      - "com.adobe.internal.xmp.XMPException"
      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: "[com.drew.metadata.exif.makernotes.CanonMakernoteDirectory$AFInfo].<init>()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CanonMakernoteDirectory$AFInfo"
    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: "com.drew.metadata.exif.makernotes.CanonMakernoteDirectory$AFInfo:371,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: "[com.drew.metadata.heif.boxes.ItemInfoBox$ItemInfoEntry].<init>(com.drew.lang.SequentialReader,com.drew.metadata.heif.boxes.Box)"
    functionSourceFile: "com.drew.metadata.heif.boxes.ItemInfoBox$ItemInfoEntry"
    linkageType: ""
    functionLinenumber: 71
    functionLinenumberEnd: 111
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "com.drew.metadata.heif.boxes.Box"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.heif.boxes.FullBox].<init>(com.drew.lang.SequentialReader,com.drew.metadata.heif.boxes.Box)"
    - "[com.drew.lang.SequentialReader].getUInt16()"
    - "[com.drew.lang.SequentialReader].getNullTerminatedString(int,java.nio.charset.Charset,boolean)"
    - "[com.drew.lang.StreamReader].getPosition()"
    - "[com.drew.lang.SequentialByteArrayReader:com.drew.lang.StreamReader].getPosition()"
    - "[com.drew.lang.SequentialReader].getString(int)"
    - "[com.drew.lang.SequentialReader].getUInt32()"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[com.drew.lang.SequentialReader].getPosition()"
    functionUses: 1
    ICount: 126
    EdgeCount: 26
    BranchProfiles:
    - Branch String: "com.drew.metadata.heif.boxes.ItemInfoBox$ItemInfoEntry:77"
      Branch Sides:
      - BranchSide: "com.drew.metadata.heif.boxes.ItemInfoBox$ItemInfoEntry:78"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.heif.boxes.ItemInfoBox$ItemInfoEntry:77"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.heif.boxes.ItemInfoBox$ItemInfoEntry:77"
      Branch Sides:
      - BranchSide: "com.drew.metadata.heif.boxes.ItemInfoBox$ItemInfoEntry:86"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.heif.boxes.ItemInfoBox$ItemInfoEntry:85"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.heif.boxes.ItemInfoBox$ItemInfoEntry:82"
      Branch Sides:
      - BranchSide: "com.drew.metadata.heif.boxes.ItemInfoBox$ItemInfoEntry:86"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.heif.boxes.ItemInfoBox$ItemInfoEntry:85"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.heif.boxes.ItemInfoBox$ItemInfoEntry:86"
      Branch Sides:
      - BranchSide: "com.drew.metadata.heif.boxes.ItemInfoBox$ItemInfoEntry:91"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.heif.boxes.ItemInfoBox$ItemInfoEntry:90"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.heif.boxes.ItemInfoBox$ItemInfoEntry:87"
      Branch Sides:
      - BranchSide: "com.drew.metadata.heif.boxes.ItemInfoBox$ItemInfoEntry:91"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.heif.boxes.ItemInfoBox$ItemInfoEntry:90"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.heif.boxes.ItemInfoBox$ItemInfoEntry:91"
      Branch Sides:
      - BranchSide: "com.drew.metadata.heif.boxes.ItemInfoBox$ItemInfoEntry:110"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.heif.boxes.ItemInfoBox$ItemInfoEntry:109"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.heif.boxes.ItemInfoBox$ItemInfoEntry:92"
      Branch Sides:
      - BranchSide: "com.drew.metadata.heif.boxes.ItemInfoBox$ItemInfoEntry:94"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.heif.boxes.ItemInfoBox$ItemInfoEntry:93"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.heif.boxes.ItemInfoBox$ItemInfoEntry:94"
      Branch Sides:
      - BranchSide: "com.drew.metadata.heif.boxes.ItemInfoBox$ItemInfoEntry:97"
        BranchSideFuncs:
        - "getUInt32()"
      - BranchSide: "com.drew.metadata.heif.boxes.ItemInfoBox$ItemInfoEntry:96"
        BranchSideFuncs:
        - "getUInt16()"
    - Branch String: "com.drew.metadata.heif.boxes.ItemInfoBox$ItemInfoEntry:101"
      Branch Sides:
      - BranchSide: "com.drew.metadata.heif.boxes.ItemInfoBox$ItemInfoEntry:106"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.heif.boxes.ItemInfoBox$ItemInfoEntry:105"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "com.drew.metadata.heif.boxes.ItemInfoBox$ItemInfoEntry:103"
      Branch Sides:
      - BranchSide: "com.drew.metadata.heif.boxes.ItemInfoBox$ItemInfoEntry:110"
        BranchSideFuncs:
        - "getNullTerminatedString(int,java.nio.charset.Charset,boolean)"
      - BranchSide: "com.drew.metadata.heif.boxes.ItemInfoBox$ItemInfoEntry:109"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.heif.boxes.ItemInfoBox$ItemInfoEntry:106"
      Branch Sides:
      - BranchSide: "com.drew.metadata.heif.boxes.ItemInfoBox$ItemInfoEntry:110"
        BranchSideFuncs:
        - "getPosition()"
        - "getString(int)"
      - BranchSide: "com.drew.metadata.heif.boxes.ItemInfoBox$ItemInfoEntry:109"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.heif.boxes.ItemInfoBox$ItemInfoEntry:72,1"
      Dst: "[com.drew.metadata.heif.boxes.FullBox].<init>(com.drew.lang.SequentialReader,com.drew.metadata.heif.boxes.Box)"
    - Src: "com.drew.metadata.heif.boxes.ItemInfoBox$ItemInfoEntry:78,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt16()"
    - Src: "com.drew.metadata.heif.boxes.ItemInfoBox$ItemInfoEntry:80,1"
      Dst: "[com.drew.lang.SequentialReader].getPosition()"
    - Src: "com.drew.metadata.heif.boxes.ItemInfoBox$ItemInfoEntry:80,1"
      Dst: "[com.drew.lang.SequentialReader].getNullTerminatedString(int,java.nio.charset.Charset,boolean)"
    - Src: "com.drew.metadata.heif.boxes.ItemInfoBox$ItemInfoEntry:88,1"
      Dst: "[com.drew.lang.SequentialReader].getString(int)"
    - Src: "com.drew.metadata.heif.boxes.ItemInfoBox$ItemInfoEntry:95,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt32()"
    - Src: "com.drew.metadata.heif.boxes.ItemInfoBox$ItemInfoEntry:101,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 18
    CyclomaticComplexity: 12
  - functionName: "[com.drew.metadata.heif.boxes.ItemInfoBox$ItemInfoEntry].getItemType()"
    functionSourceFile: "com.drew.metadata.heif.boxes.ItemInfoBox$ItemInfoEntry"
    linkageType: ""
    functionLinenumber: 112
    functionLinenumberEnd: 114
    functionDepth: 0
    returnType: "java.lang.String"
    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: "[com.drew.imaging.jpeg.JpegSegmentData].<init>()"
    functionSourceFile: "com.drew.imaging.jpeg.JpegSegmentData"
    linkageType: ""
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.util.HashMap].<init>(int)"
    functionUses: 1
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.jpeg.JpegSegmentData:42,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.drew.imaging.jpeg.JpegSegmentData:45,1"
      Dst: "[java.util.HashMap].<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: "[com.drew.imaging.jpeg.JpegSegmentData].addSegment(byte,byte[])"
    functionSourceFile: "com.drew.imaging.jpeg.JpegSegmentData"
    linkageType: ""
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "byte"
    - "byte[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.AbstractList:java.util.ArrayList:java.util.LinkedList:java.util.Vector:java.util.concurrent.CopyOnWriteArrayList].add(java.lang.Object)"
    - "[com.drew.imaging.jpeg.JpegSegmentData].getOrCreateSegmentList(byte)"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 1
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.jpeg.JpegSegmentData:57,1"
      Dst: "[com.drew.imaging.jpeg.JpegSegmentData].getOrCreateSegmentList(byte)"
    - Src: "com.drew.imaging.jpeg.JpegSegmentData:57,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: "[com.drew.imaging.jpeg.JpegSegmentData].getOrCreateSegmentList(byte)"
    functionSourceFile: "com.drew.imaging.jpeg.JpegSegmentData"
    linkageType: ""
    functionLinenumber: 169
    functionLinenumberEnd: 177
    functionDepth: 0
    returnType: "java.util.List<byte[]>"
    argCount: 1
    argTypes:
    - "byte"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.HashMap].containsKey(java.lang.Object)"
    - "[java.lang.Byte].valueOf(byte)"
    - "[java.util.HashMap].get(java.lang.Object)"
    - "[java.util.LinkedHashMap].get(java.lang.Object)"
    - "[java.util.ArrayList].<init>()"
    - "[java.util.HashMap].put(java.lang.Object,java.lang.Object)"
    functionUses: 1
    ICount: 19
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "com.drew.imaging.jpeg.JpegSegmentData:170"
      Branch Sides:
      - BranchSide: "com.drew.imaging.jpeg.JpegSegmentData:173"
        BranchSideFuncs:
        - "get(java.lang.Object)"
      - BranchSide: "com.drew.imaging.jpeg.JpegSegmentData:172"
        BranchSideFuncs:
        - "put(java.lang.Object,java.lang.Object)"
        - "<init>()"
        - "valueOf(byte)"
    Callsites:
    - Src: "com.drew.imaging.jpeg.JpegSegmentData:170,1"
      Dst: "[java.lang.Byte].valueOf(byte)"
    - Src: "com.drew.imaging.jpeg.JpegSegmentData:170,1"
      Dst: "[java.util.HashMap].containsKey(java.lang.Object)"
    - Src: "com.drew.imaging.jpeg.JpegSegmentData:171,1"
      Dst: "[java.util.HashMap].get(java.lang.Object)"
    - Src: "com.drew.imaging.jpeg.JpegSegmentData:173,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "com.drew.imaging.jpeg.JpegSegmentData:174,1"
      Dst: "[java.util.HashMap].put(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: 4
    CyclomaticComplexity: 2
  - functionName: "[com.drew.imaging.jpeg.JpegSegmentData].getSegmentTypes()"
    functionSourceFile: "com.drew.imaging.jpeg.JpegSegmentData"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.lang.Iterable"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.HashSet].<init>()"
    - "[java.util.HashMap].keySet()"
    - "[java.util.Set].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.lang.Byte].byteValue()"
    - "[com.drew.imaging.jpeg.JpegSegmentType].fromByte(byte)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.Integer].toHexString(int)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - "[java.util.Set].add(java.lang.Object)"
    functionUses: 0
    ICount: 27
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.imaging.jpeg.JpegSegmentData:67"
      Branch Sides:
      - BranchSide: "com.drew.imaging.jpeg.JpegSegmentData:76"
        BranchSideFuncs: []
      - BranchSide: "com.drew.imaging.jpeg.JpegSegmentData:75"
        BranchSideFuncs: []
    - Branch String: "com.drew.imaging.jpeg.JpegSegmentData:70"
      Branch Sides:
      - BranchSide: "com.drew.imaging.jpeg.JpegSegmentData:73"
        BranchSideFuncs: []
      - BranchSide: "com.drew.imaging.jpeg.JpegSegmentData:72"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.imaging.jpeg.JpegSegmentData:65,1"
      Dst: "[java.util.HashSet].<init>()"
    - Src: "com.drew.imaging.jpeg.JpegSegmentData:67,1"
      Dst: "[java.util.HashMap].keySet()"
    - Src: "com.drew.imaging.jpeg.JpegSegmentData:67,1"
      Dst: "[java.util.Set].iterator()"
    - Src: "com.drew.imaging.jpeg.JpegSegmentData:67,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.drew.imaging.jpeg.JpegSegmentData:67,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.drew.imaging.jpeg.JpegSegmentData:69,1"
      Dst: "[java.lang.Byte].byteValue()"
    - Src: "com.drew.imaging.jpeg.JpegSegmentData:69,1"
      Dst: "[com.drew.imaging.jpeg.JpegSegmentType].fromByte(byte)"
    - Src: "com.drew.imaging.jpeg.JpegSegmentData:71,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.imaging.jpeg.JpegSegmentData:71,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.imaging.jpeg.JpegSegmentData:71,1"
      Dst: "[java.lang.Integer].toHexString(int)"
    - Src: "com.drew.imaging.jpeg.JpegSegmentData:71,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "com.drew.imaging.jpeg.JpegSegmentData:71,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - Src: "com.drew.imaging.jpeg.JpegSegmentData:73,1"
      Dst: "[java.util.Set].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: 6
    CyclomaticComplexity: 2
  - functionName: "[com.drew.imaging.jpeg.JpegSegmentType].fromByte(byte)"
    functionSourceFile: "com.drew.imaging.jpeg.JpegSegmentType"
    linkageType: ""
    functionLinenumber: 187
    functionLinenumberEnd: 193
    functionDepth: 0
    returnType: "com.drew.imaging.jpeg.JpegSegmentType"
    argCount: 1
    argTypes:
    - "byte"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Class].getEnumConstants()"
    functionUses: 1
    ICount: 16
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "com.drew.imaging.jpeg.JpegSegmentType:188"
      Branch Sides:
      - BranchSide: "com.drew.imaging.jpeg.JpegSegmentType:192"
        BranchSideFuncs:
        - "getEnumConstants()"
      - BranchSide: "com.drew.imaging.jpeg.JpegSegmentType:191"
        BranchSideFuncs: []
    - Branch String: "com.drew.imaging.jpeg.JpegSegmentType:189"
      Branch Sides:
      - BranchSide: "com.drew.imaging.jpeg.JpegSegmentType:188"
        BranchSideFuncs: []
      - BranchSide: "com.drew.imaging.jpeg.JpegSegmentType:187"
        BranchSideFuncs:
        - "getEnumConstants()"
    Callsites:
    - Src: "com.drew.imaging.jpeg.JpegSegmentType:188,1"
      Dst: "[java.lang.Class].getEnumConstants()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: true
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[com.drew.imaging.jpeg.JpegSegmentData].getSegment(byte)"
    functionSourceFile: "com.drew.imaging.jpeg.JpegSegmentData"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "byte[]"
    argCount: 1
    argTypes:
    - "byte"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.imaging.jpeg.JpegSegmentData].getSegment(byte,int)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.jpeg.JpegSegmentData:88,1"
      Dst: "[com.drew.imaging.jpeg.JpegSegmentData].getSegment(byte,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: "[com.drew.imaging.jpeg.JpegSegmentData].getSegment(byte,int)"
    functionSourceFile: "com.drew.imaging.jpeg.JpegSegmentData"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "byte[]"
    argCount: 2
    argTypes:
    - "byte"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.imaging.jpeg.JpegSegmentData].getSegmentList(byte)"
    - "[java.util.List].size()"
    - "[java.util.List].get(int)"
    functionUses: 0
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.imaging.jpeg.JpegSegmentData:130"
      Branch Sides:
      - BranchSide: "com.drew.imaging.jpeg.JpegSegmentData:128"
        BranchSideFuncs: []
      - BranchSide: "com.drew.imaging.jpeg.JpegSegmentData:127"
        BranchSideFuncs: []
    - Branch String: "com.drew.imaging.jpeg.JpegSegmentData:130"
      Branch Sides:
      - BranchSide: "com.drew.imaging.jpeg.JpegSegmentData:128"
        BranchSideFuncs: []
      - BranchSide: "com.drew.imaging.jpeg.JpegSegmentData:127"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.imaging.jpeg.JpegSegmentData:128,1"
      Dst: "[com.drew.imaging.jpeg.JpegSegmentData].getSegmentList(byte)"
    - Src: "com.drew.imaging.jpeg.JpegSegmentData:130,1"
      Dst: "[java.util.List].size()"
    - Src: "com.drew.imaging.jpeg.JpegSegmentData:131,1"
      Dst: "[java.util.List].get(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: 5
    CyclomaticComplexity: 3
  - functionName: "[com.drew.imaging.jpeg.JpegSegmentData].getSegment(com.drew.imaging.jpeg.JpegSegmentType)"
    functionSourceFile: "com.drew.imaging.jpeg.JpegSegmentData"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "byte[]"
    argCount: 1
    argTypes:
    - "com.drew.imaging.jpeg.JpegSegmentType"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.imaging.jpeg.JpegSegmentData].getSegment(byte,int)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.jpeg.JpegSegmentData:100,1"
      Dst: "[com.drew.imaging.jpeg.JpegSegmentData].getSegment(byte,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: "[com.drew.imaging.jpeg.JpegSegmentData].getSegment(com.drew.imaging.jpeg.JpegSegmentType,int)"
    functionSourceFile: "com.drew.imaging.jpeg.JpegSegmentData"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "byte[]"
    argCount: 2
    argTypes:
    - "com.drew.imaging.jpeg.JpegSegmentType"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.imaging.jpeg.JpegSegmentData].getSegment(byte,int)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.jpeg.JpegSegmentData:114,1"
      Dst: "[com.drew.imaging.jpeg.JpegSegmentData].getSegment(byte,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: "[com.drew.imaging.jpeg.JpegSegmentData].getSegmentCount(com.drew.imaging.jpeg.JpegSegmentType)"
    functionSourceFile: "com.drew.imaging.jpeg.JpegSegmentData"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "int"
    argCount: 1
    argTypes:
    - "com.drew.imaging.jpeg.JpegSegmentType"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.imaging.jpeg.JpegSegmentData].getSegmentCount(byte)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.jpeg.JpegSegmentData:187,1"
      Dst: "[com.drew.imaging.jpeg.JpegSegmentData].getSegmentCount(byte)"
    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: "[com.drew.imaging.jpeg.JpegSegmentData].getSegmentCount(byte)"
    functionSourceFile: "com.drew.imaging.jpeg.JpegSegmentData"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "int"
    argCount: 1
    argTypes:
    - "byte"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.imaging.jpeg.JpegSegmentData].getSegmentList(byte)"
    - "[java.util.List].size()"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.imaging.jpeg.JpegSegmentData:199"
      Branch Sides:
      - BranchSide: "com.drew.imaging.jpeg.JpegSegmentData:197"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.imaging.jpeg.JpegSegmentData:198,1"
      Dst: "[com.drew.imaging.jpeg.JpegSegmentData].getSegmentList(byte)"
    - Src: "com.drew.imaging.jpeg.JpegSegmentData:199,1"
      Dst: "[java.util.List].size()"
    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: "[com.drew.imaging.jpeg.JpegSegmentData].removeSegmentOccurrence(com.drew.imaging.jpeg.JpegSegmentType,int)"
    functionSourceFile: "com.drew.imaging.jpeg.JpegSegmentData"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.imaging.jpeg.JpegSegmentType"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.imaging.jpeg.JpegSegmentData].removeSegmentOccurrence(byte,int)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.jpeg.JpegSegmentData:212,1"
      Dst: "[com.drew.imaging.jpeg.JpegSegmentData].removeSegmentOccurrence(byte,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: "[com.drew.imaging.jpeg.JpegSegmentData].removeSegmentOccurrence(byte,int)"
    functionSourceFile: "com.drew.imaging.jpeg.JpegSegmentData"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "byte"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Byte].valueOf(byte)"
    - "[java.util.HashMap].get(java.lang.Object)"
    - "[java.util.List].remove(int)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.jpeg.JpegSegmentData:225,1"
      Dst: "[java.lang.Byte].valueOf(byte)"
    - Src: "com.drew.imaging.jpeg.JpegSegmentData:225,1"
      Dst: "[java.util.HashMap].get(java.lang.Object)"
    - Src: "com.drew.imaging.jpeg.JpegSegmentData:226,1"
      Dst: "[java.util.List].remove(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: "[com.drew.imaging.jpeg.JpegSegmentData].removeSegment(com.drew.imaging.jpeg.JpegSegmentType)"
    functionSourceFile: "com.drew.imaging.jpeg.JpegSegmentData"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.imaging.jpeg.JpegSegmentType"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.imaging.jpeg.JpegSegmentData].removeSegment(byte)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.jpeg.JpegSegmentData:236,1"
      Dst: "[com.drew.imaging.jpeg.JpegSegmentData].removeSegment(byte)"
    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: "[com.drew.imaging.jpeg.JpegSegmentData].removeSegment(byte)"
    functionSourceFile: "com.drew.imaging.jpeg.JpegSegmentData"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "byte"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Byte].valueOf(byte)"
    - "[java.util.HashMap].remove(java.lang.Object)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.jpeg.JpegSegmentData:246,1"
      Dst: "[java.lang.Byte].valueOf(byte)"
    - Src: "com.drew.imaging.jpeg.JpegSegmentData:246,1"
      Dst: "[java.util.HashMap].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: "[com.drew.imaging.jpeg.JpegSegmentData].containsSegment(com.drew.imaging.jpeg.JpegSegmentType)"
    functionSourceFile: "com.drew.imaging.jpeg.JpegSegmentData"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "com.drew.imaging.jpeg.JpegSegmentType"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.imaging.jpeg.JpegSegmentData].containsSegment(byte)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.jpeg.JpegSegmentData:257,1"
      Dst: "[com.drew.imaging.jpeg.JpegSegmentData].containsSegment(byte)"
    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: "[com.drew.imaging.jpeg.JpegSegmentData].containsSegment(byte)"
    functionSourceFile: "com.drew.imaging.jpeg.JpegSegmentData"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "byte"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Byte].valueOf(byte)"
    - "[java.util.HashMap].containsKey(java.lang.Object)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.jpeg.JpegSegmentData:268,1"
      Dst: "[java.lang.Byte].valueOf(byte)"
    - Src: "com.drew.imaging.jpeg.JpegSegmentData:268,1"
      Dst: "[java.util.HashMap].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: "[com.drew.metadata.exif.makernotes.LeicaMakernoteDirectory].<init>()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.LeicaMakernoteDirectory"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].<init>()"
    - "[com.drew.metadata.exif.makernotes.LeicaMakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.LeicaMakernoteDirectory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.LeicaMakernoteDirectory:91,1"
      Dst: "[com.drew.metadata.Directory].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.LeicaMakernoteDirectory:92,1"
      Dst: "[com.drew.metadata.exif.makernotes.LeicaMakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.LeicaMakernoteDirectory)"
    - Src: "com.drew.metadata.exif.makernotes.LeicaMakernoteDirectory:92,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.exif.makernotes.LeicaMakernoteDirectory].getName()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.LeicaMakernoteDirectory"
    linkageType: ""
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.exif.makernotes.LeicaMakernoteDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.LeicaMakernoteDirectory"
    linkageType: ""
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.PanasonicRawWbInfo2Directory].<init>()"
    functionSourceFile: "com.drew.metadata.exif.PanasonicRawWbInfo2Directory"
    linkageType: ""
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].<init>()"
    - "[com.drew.metadata.exif.PanasonicRawWbInfo2Descriptor].<init>(com.drew.metadata.exif.PanasonicRawWbInfo2Directory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 1
    ICount: 6
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.PanasonicRawWbInfo2Directory:86,1"
      Dst: "[com.drew.metadata.Directory].<init>()"
    - Src: "com.drew.metadata.exif.PanasonicRawWbInfo2Directory:87,1"
      Dst: "[com.drew.metadata.exif.PanasonicRawWbInfo2Descriptor].<init>(com.drew.metadata.exif.PanasonicRawWbInfo2Directory)"
    - Src: "com.drew.metadata.exif.PanasonicRawWbInfo2Directory:87,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.exif.PanasonicRawWbInfo2Directory].getName()"
    functionSourceFile: "com.drew.metadata.exif.PanasonicRawWbInfo2Directory"
    linkageType: ""
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.exif.PanasonicRawWbInfo2Directory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.exif.PanasonicRawWbInfo2Directory"
    linkageType: ""
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.jfif.JfifDescriptor].<init>(com.drew.metadata.jfif.JfifDirectory)"
    functionSourceFile: "com.drew.metadata.jfif.JfifDescriptor"
    linkageType: ""
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.jfif.JfifDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.jfif.JfifDescriptor:44,1"
      Dst: "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    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: "[com.drew.metadata.jfif.JfifDescriptor].getDescription(int)"
    functionSourceFile: "com.drew.metadata.jfif.JfifDescriptor"
    linkageType: ""
    functionLinenumber: 50
    functionLinenumberEnd: 62
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.jfif.JfifDescriptor].getImageResXDescription()"
    - "[com.drew.metadata.jfif.JfifDescriptor].getImageResYDescription()"
    - "[com.drew.metadata.jfif.JfifDescriptor].getImageVersionDescription()"
    - "[com.drew.metadata.jfif.JfifDescriptor].getImageResUnitsDescription()"
    - "[com.drew.metadata.TagDescriptor].getDescription(int)"
    functionUses: 1
    ICount: 13
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.jfif.JfifDescriptor:53,1"
      Dst: "[com.drew.metadata.jfif.JfifDescriptor].getImageResXDescription()"
    - Src: "com.drew.metadata.jfif.JfifDescriptor:55,1"
      Dst: "[com.drew.metadata.jfif.JfifDescriptor].getImageResYDescription()"
    - Src: "com.drew.metadata.jfif.JfifDescriptor:57,1"
      Dst: "[com.drew.metadata.jfif.JfifDescriptor].getImageVersionDescription()"
    - Src: "com.drew.metadata.jfif.JfifDescriptor:59,1"
      Dst: "[com.drew.metadata.jfif.JfifDescriptor].getImageResUnitsDescription()"
    - Src: "com.drew.metadata.jfif.JfifDescriptor:61,1"
      Dst: "[com.drew.metadata.TagDescriptor].getDescription(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: 6
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.jfif.JfifDescriptor].getImageResXDescription()"
    functionSourceFile: "com.drew.metadata.jfif.JfifDescriptor"
    linkageType: ""
    functionLinenumber: 87
    functionLinenumberEnd: 94
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.lang.Integer].intValue()"
    functionUses: 1
    ICount: 16
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.drew.metadata.jfif.JfifDescriptor:89"
      Branch Sides:
      - BranchSide: "com.drew.metadata.jfif.JfifDescriptor:91"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.jfif.JfifDescriptor:90"
        BranchSideFuncs:
        - "intValue()"
        - "format(java.lang.String,java.lang.Object[])"
    - Branch String: "com.drew.metadata.jfif.JfifDescriptor:93"
      Branch Sides:
      - BranchSide: "com.drew.metadata.jfif.JfifDescriptor:90"
        BranchSideFuncs:
        - "intValue()"
        - "format(java.lang.String,java.lang.Object[])"
    Callsites:
    - Src: "com.drew.metadata.jfif.JfifDescriptor:88,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.jfif.JfifDescriptor:93,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.jfif.JfifDescriptor:91,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: 6
    CyclomaticComplexity: 2
  - functionName: "[com.drew.metadata.jfif.JfifDescriptor].getImageResYDescription()"
    functionSourceFile: "com.drew.metadata.jfif.JfifDescriptor"
    linkageType: ""
    functionLinenumber: 76
    functionLinenumberEnd: 83
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.lang.Integer].intValue()"
    functionUses: 1
    ICount: 16
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.drew.metadata.jfif.JfifDescriptor:78"
      Branch Sides:
      - BranchSide: "com.drew.metadata.jfif.JfifDescriptor:80"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.jfif.JfifDescriptor:79"
        BranchSideFuncs:
        - "intValue()"
        - "format(java.lang.String,java.lang.Object[])"
    - Branch String: "com.drew.metadata.jfif.JfifDescriptor:82"
      Branch Sides:
      - BranchSide: "com.drew.metadata.jfif.JfifDescriptor:79"
        BranchSideFuncs:
        - "intValue()"
        - "format(java.lang.String,java.lang.Object[])"
    Callsites:
    - Src: "com.drew.metadata.jfif.JfifDescriptor:77,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.jfif.JfifDescriptor:82,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.jfif.JfifDescriptor:80,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: 6
    CyclomaticComplexity: 2
  - functionName: "[com.drew.metadata.jfif.JfifDescriptor].getImageVersionDescription()"
    functionSourceFile: "com.drew.metadata.jfif.JfifDescriptor"
    linkageType: ""
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.Integer].valueOf(int)"
    functionUses: 1
    ICount: 19
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "com.drew.metadata.jfif.JfifDescriptor:69"
      Branch Sides:
      - BranchSide: "com.drew.metadata.jfif.JfifDescriptor:71"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.jfif.JfifDescriptor:70"
        BranchSideFuncs:
        - "intValue()"
        - "format(java.lang.String,java.lang.Object[])"
        - "valueOf(int)"
    Callsites:
    - Src: "com.drew.metadata.jfif.JfifDescriptor:68,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.jfif.JfifDescriptor:71,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.jfif.JfifDescriptor:71,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.drew.metadata.jfif.JfifDescriptor:71,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: 3
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.jfif.JfifDescriptor].getImageResUnitsDescription()"
    functionSourceFile: "com.drew.metadata.jfif.JfifDescriptor"
    linkageType: ""
    functionLinenumber: 98
    functionLinenumberEnd: 108
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    functionUses: 1
    ICount: 12
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.drew.metadata.jfif.JfifDescriptor:100"
      Branch Sides:
      - BranchSide: "com.drew.metadata.jfif.JfifDescriptor:102"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.jfif.JfifDescriptor:101"
        BranchSideFuncs:
        - "intValue()"
    Callsites:
    - Src: "com.drew.metadata.jfif.JfifDescriptor:99,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.jfif.JfifDescriptor:102,1"
      Dst: "[java.lang.Integer].intValue()"
    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: 1
  - functionName: "[com.drew.metadata.plist.BplistReader$Trailer].<init>()"
    functionSourceFile: "com.drew.metadata.plist.BplistReader$Trailer"
    linkageType: ""
    functionLinenumber: 257
    functionLinenumberEnd: 259
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.plist.BplistReader$Trailer:258,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: "[com.drew.metadata.plist.BplistReader$Trailer].<init>(com.drew.metadata.plist.BplistReader$1)"
    functionSourceFile: "com.drew.metadata.plist.BplistReader$Trailer"
    linkageType: ""
    functionLinenumber: 257
    functionLinenumberEnd: 259
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.plist.BplistReader$1"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.plist.BplistReader$Trailer].<init>()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.plist.BplistReader$Trailer:258,1"
      Dst: "[com.drew.metadata.plist.BplistReader$Trailer].<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: "[com.drew.metadata.jpeg.JpegDirectory].<init>()"
    functionSourceFile: "com.drew.metadata.jpeg.JpegDirectory"
    linkageType: ""
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].<init>()"
    - "[com.drew.metadata.jpeg.JpegDescriptor].<init>(com.drew.metadata.jpeg.JpegDirectory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 1
    ICount: 6
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.jpeg.JpegDirectory:83,1"
      Dst: "[com.drew.metadata.Directory].<init>()"
    - Src: "com.drew.metadata.jpeg.JpegDirectory:84,1"
      Dst: "[com.drew.metadata.jpeg.JpegDescriptor].<init>(com.drew.metadata.jpeg.JpegDirectory)"
    - Src: "com.drew.metadata.jpeg.JpegDirectory:84,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.jpeg.JpegDirectory].getName()"
    functionSourceFile: "com.drew.metadata.jpeg.JpegDirectory"
    linkageType: ""
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.jpeg.JpegDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.jpeg.JpegDirectory"
    linkageType: ""
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.jpeg.JpegDirectory].getComponent(int)"
    functionSourceFile: "com.drew.metadata.jpeg.JpegDirectory"
    linkageType: ""
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionDepth: 0
    returnType: "com.drew.metadata.jpeg.JpegComponent"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getObject(int)"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.jpeg.JpegDirectory:110,1"
      Dst: "[com.drew.metadata.Directory].getObject(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: "[com.drew.metadata.jpeg.JpegDirectory].getImageWidth()"
    functionSourceFile: "com.drew.metadata.jpeg.JpegDirectory"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInt(int)"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.jpeg.JpegDirectory:115,1"
      Dst: "[com.drew.metadata.Directory].getInt(int)"
    JavaMethodInfo:
      exceptions:
      - "com.drew.metadata.MetadataException"
      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: "[com.drew.metadata.jpeg.JpegDirectory].getImageHeight()"
    functionSourceFile: "com.drew.metadata.jpeg.JpegDirectory"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInt(int)"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.jpeg.JpegDirectory:120,1"
      Dst: "[com.drew.metadata.Directory].getInt(int)"
    JavaMethodInfo:
      exceptions:
      - "com.drew.metadata.MetadataException"
      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: "[com.drew.metadata.jpeg.JpegDirectory].getNumberOfComponents()"
    functionSourceFile: "com.drew.metadata.jpeg.JpegDirectory"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInt(int)"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.jpeg.JpegDirectory:125,1"
      Dst: "[com.drew.metadata.Directory].getInt(int)"
    JavaMethodInfo:
      exceptions:
      - "com.drew.metadata.MetadataException"
      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: "[com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.PentaxMakernoteDirectory)"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.exif.makernotes.PentaxMakernoteDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor:42,1"
      Dst: "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    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: "[com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor].getDescription(int)"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 48
    functionLinenumberEnd: 74
    functionDepth: 3
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor].getCaptureModeDescription()"
    - "[com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor].getQualityLevelDescription()"
    - "[com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor].getFocusModeDescription()"
    - "[com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor].getFlashModeDescription()"
    - "[com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor].getWhiteBalanceDescription()"
    - "[com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor].getDigitalZoomDescription()"
    - "[com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor].getSharpnessDescription()"
    - "[com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor].getContrastDescription()"
    - "[com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor].getSaturationDescription()"
    - "[com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor].getIsoSpeedDescription()"
    - "[com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor].getColourDescription()"
    - "[com.drew.metadata.TagDescriptor].getDescription(int)"
    functionUses: 1
    ICount: 27
    EdgeCount: 12
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor:51,1"
      Dst: "[com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor].getCaptureModeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor:53,1"
      Dst: "[com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor].getQualityLevelDescription()"
    - Src: "com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor:55,1"
      Dst: "[com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor].getFocusModeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor:57,1"
      Dst: "[com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor].getFlashModeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor:59,1"
      Dst: "[com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor].getWhiteBalanceDescription()"
    - Src: "com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor:61,1"
      Dst: "[com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor].getDigitalZoomDescription()"
    - Src: "com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor:63,1"
      Dst: "[com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor].getSharpnessDescription()"
    - Src: "com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor:65,1"
      Dst: "[com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor].getContrastDescription()"
    - Src: "com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor:67,1"
      Dst: "[com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor].getSaturationDescription()"
    - Src: "com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor:69,1"
      Dst: "[com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor].getIsoSpeedDescription()"
    - Src: "com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor:71,1"
      Dst: "[com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor].getColourDescription()"
    - Src: "com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor:73,1"
      Dst: "[com.drew.metadata.TagDescriptor].getDescription(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: 13
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor].getCaptureModeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 156
    functionLinenumberEnd: 158
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 9
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor:157,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor].getQualityLevelDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 150
    functionLinenumberEnd: 152
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor:151,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor].getFocusModeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 144
    functionLinenumberEnd: 146
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,java.lang.String[])"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor:145,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,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: "[com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor].getFlashModeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 137
    functionLinenumberEnd: 139
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,java.lang.String[])"
    functionUses: 1
    ICount: 10
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor:138,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,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: "[com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor].getWhiteBalanceDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 130
    functionLinenumberEnd: 132
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 10
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor:131,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor].getDigitalZoomDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 119
    functionLinenumberEnd: 126
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getFloatObject(int)"
    - "[java.lang.Float].floatValue()"
    - "[java.lang.Float].toString(float)"
    functionUses: 1
    ICount: 13
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor:121"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor:123"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor:122"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor:123"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor:125"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor:124"
        BranchSideFuncs:
        - "toString(float)"
        - "floatValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor:120,1"
      Dst: "[com.drew.metadata.Directory].getFloatObject(int)"
    - Src: "com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor:123,1"
      Dst: "[java.lang.Float].floatValue()"
    - Src: "com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor:125,1"
      Dst: "[java.lang.Float].toString(float)"
    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: "[com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor].getSharpnessDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 113
    functionLinenumberEnd: 115
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor:114,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor].getContrastDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor:108,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor].getSaturationDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 101
    functionLinenumberEnd: 103
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor:102,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor].getIsoSpeedDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 85
    functionLinenumberEnd: 96
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    functionUses: 1
    ICount: 19
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor:87"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor:89"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor:88"
        BranchSideFuncs:
        - "intValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor:86,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor:89,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor:95,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor:95,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor:95,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor:95,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: 8
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor].getColourDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,java.lang.String[])"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PentaxMakernoteDescriptor:80,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,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: "[com.drew.imaging.heif.HeifMetadataReader].<init>()"
    functionSourceFile: "com.drew.imaging.heif.HeifMetadataReader"
    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: "com.drew.imaging.heif.HeifMetadataReader:29,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: "[com.drew.imaging.heif.HeifMetadataReader].readMetadata(java.io.InputStream)"
    functionSourceFile: "com.drew.imaging.heif.HeifMetadataReader"
    linkageType: ""
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionDepth: 2
    returnType: "com.drew.metadata.Metadata"
    argCount: 1
    argTypes:
    - "java.io.InputStream"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Metadata].<init>()"
    - "[com.drew.metadata.heif.HeifBoxHandler].<init>(com.drew.metadata.Metadata)"
    - "[com.drew.imaging.heif.HeifReader].<init>()"
    - "[com.drew.imaging.heif.HeifReader].extract(java.io.InputStream,com.drew.imaging.heif.HeifHandler)"
    functionUses: 1
    ICount: 9
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.heif.HeifMetadataReader:34,1"
      Dst: "[com.drew.metadata.Metadata].<init>()"
    - Src: "com.drew.imaging.heif.HeifMetadataReader:35,1"
      Dst: "[com.drew.imaging.heif.HeifReader].<init>()"
    - Src: "com.drew.imaging.heif.HeifMetadataReader:35,1"
      Dst: "[com.drew.metadata.heif.HeifBoxHandler].<init>(com.drew.metadata.Metadata)"
    - Src: "com.drew.imaging.heif.HeifMetadataReader:35,1"
      Dst: "[com.drew.imaging.heif.HeifReader].extract(java.io.InputStream,com.drew.imaging.heif.HeifHandler)"
    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: "[com.drew.metadata.heif.HeifHandlerFactory].<init>(com.drew.imaging.heif.HeifHandler)"
    functionSourceFile: "com.drew.metadata.heif.HeifHandlerFactory"
    linkageType: ""
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.imaging.heif.HeifHandler"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.heif.HeifHandlerFactory:34,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: "[com.drew.lang.GeoLocation].<init>(double,double)"
    functionSourceFile: "com.drew.lang.GeoLocation"
    linkageType: ""
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "double"
    - "double"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.lang.GeoLocation: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: "[com.drew.lang.GeoLocation].getLatitude()"
    functionSourceFile: "com.drew.lang.GeoLocation"
    linkageType: ""
    functionLinenumber: 57
    functionLinenumberEnd: 59
    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: "[com.drew.lang.GeoLocation].getLongitude()"
    functionSourceFile: "com.drew.lang.GeoLocation"
    linkageType: ""
    functionLinenumber: 65
    functionLinenumberEnd: 67
    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: "[com.drew.lang.GeoLocation].isZero()"
    functionSourceFile: "com.drew.lang.GeoLocation"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 11
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.lang.GeoLocation:74"
      Branch Sides:
      - BranchSide: "com.drew.lang.GeoLocation:73"
        BranchSideFuncs: []
    - Branch String: "com.drew.lang.GeoLocation:74"
      Branch Sides:
      - BranchSide: "com.drew.lang.GeoLocation:73"
        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: 5
    CyclomaticComplexity: 3
  - functionName: "[com.drew.lang.GeoLocation].decimalToDegreesMinutesSecondsString(double)"
    functionSourceFile: "com.drew.lang.GeoLocation"
    linkageType: ""
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "double"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.GeoLocation].decimalToDegreesMinutesSeconds(double)"
    - "[java.text.DecimalFormat].<init>(java.lang.String)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.text.NumberFormat].format(double)"
    functionUses: 3
    ICount: 16
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.lang.GeoLocation:84,1"
      Dst: "[com.drew.lang.GeoLocation].decimalToDegreesMinutesSeconds(double)"
    - Src: "com.drew.lang.GeoLocation:85,1"
      Dst: "[java.text.DecimalFormat].<init>(java.lang.String)"
    - Src: "com.drew.lang.GeoLocation:86,1"
      Dst: "[java.text.NumberFormat].format(double)"
    - Src: "com.drew.lang.GeoLocation:86,1"
      Dst: "[java.lang.String].format(java.lang.String,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: "[com.drew.lang.GeoLocation].decimalToDegreesMinutesSeconds(double)"
    functionSourceFile: "com.drew.lang.GeoLocation"
    linkageType: ""
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionDepth: 0
    returnType: "double[]"
    argCount: 1
    argTypes:
    - "double"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Math].abs(double)"
    functionUses: 1
    ICount: 15
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.lang.GeoLocation:97,1"
      Dst: "[java.lang.Math].abs(double)"
    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: "[com.drew.lang.GeoLocation].degreesMinutesSecondsToDecimal(com.drew.lang.Rational,com.drew.lang.Rational,com.drew.lang.Rational,boolean)"
    functionSourceFile: "com.drew.lang.GeoLocation"
    linkageType: ""
    functionLinenumber: 108
    functionLinenumberEnd: 120
    functionDepth: 1
    returnType: "java.lang.Double"
    argCount: 4
    argTypes:
    - "com.drew.lang.Rational"
    - "com.drew.lang.Rational"
    - "com.drew.lang.Rational"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Math].abs(double)"
    - "[com.drew.lang.Rational].doubleValue()"
    - "[java.lang.Double].isNaN(double)"
    - "[java.lang.Double].valueOf(double)"
    functionUses: 3
    ICount: 19
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "com.drew.lang.GeoLocation:113"
      Branch Sides:
      - BranchSide: "com.drew.lang.GeoLocation:116"
        BranchSideFuncs: []
      - BranchSide: "com.drew.lang.GeoLocation:115"
        BranchSideFuncs: []
    - Branch String: "com.drew.lang.GeoLocation:116"
      Branch Sides:
      - BranchSide: "com.drew.lang.GeoLocation:119"
        BranchSideFuncs: []
      - BranchSide: "com.drew.lang.GeoLocation:118"
        BranchSideFuncs:
        - "valueOf(double)"
    Callsites:
    - Src: "com.drew.lang.GeoLocation:109,1"
      Dst: "[com.drew.lang.Rational].doubleValue()"
    - Src: "com.drew.lang.GeoLocation:109,1"
      Dst: "[java.lang.Math].abs(double)"
    - Src: "com.drew.lang.GeoLocation:113,1"
      Dst: "[java.lang.Double].isNaN(double)"
    - Src: "com.drew.lang.GeoLocation:119,1"
      Dst: "[java.lang.Double].valueOf(double)"
    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: 2
  - functionName: "[com.drew.lang.GeoLocation].equals(java.lang.Object)"
    functionSourceFile: "com.drew.lang.GeoLocation"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].getClass()"
    - "[java.lang.Double].compare(double,double)"
    functionUses: 0
    ICount: 21
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.lang.GeoLocation:125"
      Branch Sides:
      - BranchSide: "com.drew.lang.GeoLocation:126"
        BranchSideFuncs: []
      - BranchSide: "com.drew.lang.GeoLocation:125"
        BranchSideFuncs: []
    - Branch String: "com.drew.lang.GeoLocation:126"
      Branch Sides:
      - BranchSide: "com.drew.lang.GeoLocation:126"
        BranchSideFuncs: []
      - BranchSide: "com.drew.lang.GeoLocation:125"
        BranchSideFuncs: []
    - Branch String: "com.drew.lang.GeoLocation:126"
      Branch Sides:
      - BranchSide: "com.drew.lang.GeoLocation:127"
        BranchSideFuncs: []
      - BranchSide: "com.drew.lang.GeoLocation:126"
        BranchSideFuncs: []
    - Branch String: "com.drew.lang.GeoLocation:128"
      Branch Sides:
      - BranchSide: "com.drew.lang.GeoLocation:129"
        BranchSideFuncs: []
      - BranchSide: "com.drew.lang.GeoLocation:128"
        BranchSideFuncs: []
    - Branch String: "com.drew.lang.GeoLocation:129"
      Branch Sides:
      - BranchSide: "com.drew.lang.GeoLocation:130"
        BranchSideFuncs: []
      - BranchSide: "com.drew.lang.GeoLocation:129"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.lang.GeoLocation:126,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "com.drew.lang.GeoLocation:128,1"
      Dst: "[java.lang.Double].compare(double,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: 10
    CyclomaticComplexity: 2
  - functionName: "[com.drew.lang.GeoLocation].hashCode()"
    functionSourceFile: "com.drew.lang.GeoLocation"
    linkageType: ""
    functionLinenumber: 137
    functionLinenumberEnd: 143
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Double].doubleToLongBits(double)"
    functionUses: 1
    ICount: 24
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.drew.lang.GeoLocation:138"
      Branch Sides:
      - BranchSide: "com.drew.lang.GeoLocation:138"
        BranchSideFuncs:
        - "doubleToLongBits(double)"
      - BranchSide: "com.drew.lang.GeoLocation:137"
        BranchSideFuncs: []
    - Branch String: "com.drew.lang.GeoLocation:140"
      Branch Sides:
      - BranchSide: "com.drew.lang.GeoLocation:139"
        BranchSideFuncs: []
      - BranchSide: "com.drew.lang.GeoLocation:138"
        BranchSideFuncs:
        - "doubleToLongBits(double)"
    Callsites:
    - Src: "com.drew.lang.GeoLocation:138,1"
      Dst: "[java.lang.Double].doubleToLongBits(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: 7
    CyclomaticComplexity: 3
  - functionName: "[com.drew.lang.GeoLocation].toString()"
    functionSourceFile: "com.drew.lang.GeoLocation"
    linkageType: ""
    functionLinenumber: 151
    functionLinenumberEnd: 153
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(double)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 14
    ICount: 10
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.lang.GeoLocation:152,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.lang.GeoLocation:152,1"
      Dst: "[java.lang.StringBuilder].append(double)"
    - Src: "com.drew.lang.GeoLocation:152,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.lang.GeoLocation:152,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: "[com.drew.lang.GeoLocation].toDMSString()"
    functionSourceFile: "com.drew.lang.GeoLocation"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[com.drew.lang.GeoLocation].decimalToDegreesMinutesSecondsString(double)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 0
    ICount: 12
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.lang.GeoLocation:161,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.lang.GeoLocation:161,1"
      Dst: "[com.drew.lang.GeoLocation].decimalToDegreesMinutesSecondsString(double)"
    - Src: "com.drew.lang.GeoLocation:161,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.lang.GeoLocation:161,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: "[com.drew.metadata.mov.atoms.TextSampleDescriptionAtom].<init>(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
    functionSourceFile: "com.drew.metadata.mov.atoms.TextSampleDescriptionAtom"
    linkageType: ""
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "com.drew.metadata.mov.atoms.Atom"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mov.atoms.SampleDescriptionAtom].<init>(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.atoms.TextSampleDescriptionAtom:38,1"
      Dst: "[com.drew.metadata.mov.atoms.SampleDescriptionAtom].<init>(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.mov.atoms.TextSampleDescriptionAtom].getSampleDescription(com.drew.lang.SequentialReader)"
    functionSourceFile: "com.drew.metadata.mov.atoms.TextSampleDescriptionAtom"
    linkageType: ""
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionDepth: 2
    returnType: "com.drew.metadata.mov.atoms.TextSampleDescriptionAtom$TextSampleDescription"
    argCount: 1
    argTypes:
    - "com.drew.lang.SequentialReader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mov.atoms.TextSampleDescriptionAtom$TextSampleDescription].<init>(com.drew.lang.SequentialReader)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.atoms.TextSampleDescriptionAtom:45,1"
      Dst: "[com.drew.metadata.mov.atoms.TextSampleDescriptionAtom$TextSampleDescription].<init>(com.drew.lang.SequentialReader)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.mov.atoms.TextSampleDescriptionAtom$TextSampleDescription].<init>(com.drew.lang.SequentialReader)"
    functionSourceFile: "com.drew.metadata.mov.atoms.TextSampleDescriptionAtom$TextSampleDescription"
    linkageType: ""
    functionLinenumber: 130
    functionLinenumberEnd: 145
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.lang.SequentialReader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mov.atoms.SampleDescription].<init>(com.drew.lang.SequentialReader)"
    - "[com.drew.lang.SequentialReader].getInt32()"
    - "[com.drew.lang.SequentialReader].getUInt16()"
    - "[com.drew.lang.SequentialReader].getInt64()"
    - "[com.drew.lang.StreamReader].skip(long)"
    - "[com.drew.lang.SequentialByteArrayReader].skip(long)"
    - "[com.drew.lang.SequentialReader].getString(int)"
    - "[com.drew.lang.SequentialReader].getUInt8()"
    - "[com.drew.lang.SequentialReader].skip(long)"
    functionUses: 1
    ICount: 37
    EdgeCount: 20
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.atoms.TextSampleDescriptionAtom$TextSampleDescription:131,1"
      Dst: "[com.drew.metadata.mov.atoms.SampleDescription].<init>(com.drew.lang.SequentialReader)"
    - Src: "com.drew.metadata.mov.atoms.TextSampleDescriptionAtom$TextSampleDescription:133,1"
      Dst: "[com.drew.lang.SequentialReader].getInt32()"
    - Src: "com.drew.metadata.mov.atoms.TextSampleDescriptionAtom$TextSampleDescription:135,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt16()"
    - Src: "com.drew.metadata.mov.atoms.TextSampleDescriptionAtom$TextSampleDescription:136,1"
      Dst: "[com.drew.lang.SequentialReader].getInt64()"
    - Src: "com.drew.metadata.mov.atoms.TextSampleDescriptionAtom$TextSampleDescription:137,1"
      Dst: "[com.drew.lang.SequentialReader].skip(long)"
    - Src: "com.drew.metadata.mov.atoms.TextSampleDescriptionAtom$TextSampleDescription:143,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt8()"
    - Src: "com.drew.metadata.mov.atoms.TextSampleDescriptionAtom$TextSampleDescription:143,1"
      Dst: "[com.drew.lang.SequentialReader].getString(int)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.mov.atoms.TextSampleDescriptionAtom].addMetadata(com.drew.metadata.mov.media.QuickTimeTextDirectory)"
    functionSourceFile: "com.drew.metadata.mov.atoms.TextSampleDescriptionAtom"
    linkageType: ""
    functionLinenumber: 49
    functionLinenumberEnd: 117
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.mov.media.QuickTimeTextDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].size()"
    - "[java.util.ArrayList].get(int)"
    - "[com.drew.metadata.Directory].setBoolean(int,boolean)"
    - "[com.drew.metadata.Directory].setString(int,java.lang.String)"
    - "[com.drew.metadata.Directory].setIntArray(int,int[])"
    - "[com.drew.metadata.Directory].setLong(int,long)"
    - "[com.drew.metadata.Directory].setInt(int,int)"
    functionUses: 1
    ICount: 112
    EdgeCount: 27
    BranchProfiles:
    - Branch String: "com.drew.metadata.mov.atoms.TextSampleDescriptionAtom:50"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.atoms.TextSampleDescriptionAtom:54"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.mov.atoms.TextSampleDescriptionAtom:53"
        BranchSideFuncs:
        - "get(int)"
    - Branch String: "com.drew.metadata.mov.atoms.TextSampleDescriptionAtom:56"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.atoms.TextSampleDescriptionAtom:54"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.mov.atoms.TextSampleDescriptionAtom:53"
        BranchSideFuncs:
        - "get(int)"
    - Branch String: "com.drew.metadata.mov.atoms.TextSampleDescriptionAtom:58"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.atoms.TextSampleDescriptionAtom:56"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.mov.atoms.TextSampleDescriptionAtom:55"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mov.atoms.TextSampleDescriptionAtom:60"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.atoms.TextSampleDescriptionAtom:58"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.mov.atoms.TextSampleDescriptionAtom:57"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mov.atoms.TextSampleDescriptionAtom:62"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.atoms.TextSampleDescriptionAtom:60"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.mov.atoms.TextSampleDescriptionAtom:59"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mov.atoms.TextSampleDescriptionAtom:64"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.atoms.TextSampleDescriptionAtom:62"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.mov.atoms.TextSampleDescriptionAtom:61"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mov.atoms.TextSampleDescriptionAtom:66"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.atoms.TextSampleDescriptionAtom:64"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.mov.atoms.TextSampleDescriptionAtom:63"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mov.atoms.TextSampleDescriptionAtom:68"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.atoms.TextSampleDescriptionAtom:66"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.mov.atoms.TextSampleDescriptionAtom:65"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mov.atoms.TextSampleDescriptionAtom:70"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.atoms.TextSampleDescriptionAtom:68"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.mov.atoms.TextSampleDescriptionAtom:67"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mov.atoms.TextSampleDescriptionAtom:72"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.atoms.TextSampleDescriptionAtom:70"
        BranchSideFuncs:
        - "setBoolean(int,boolean)"
      - BranchSide: "com.drew.metadata.mov.atoms.TextSampleDescriptionAtom:69"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mov.atoms.TextSampleDescriptionAtom:74"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.atoms.TextSampleDescriptionAtom:72"
        BranchSideFuncs:
        - "setBoolean(int,boolean)"
      - BranchSide: "com.drew.metadata.mov.atoms.TextSampleDescriptionAtom:71"
        BranchSideFuncs:
        - "setBoolean(int,boolean)"
    Callsites:
    - Src: "com.drew.metadata.mov.atoms.TextSampleDescriptionAtom:50,1"
      Dst: "[java.util.ArrayList].size()"
    - Src: "com.drew.metadata.mov.atoms.TextSampleDescriptionAtom:54,1"
      Dst: "[java.util.ArrayList].get(int)"
    - Src: "com.drew.metadata.mov.atoms.TextSampleDescriptionAtom:56,1"
      Dst: "[com.drew.metadata.Directory].setBoolean(int,boolean)"
    - Src: "com.drew.metadata.mov.atoms.TextSampleDescriptionAtom:64,1"
      Dst: "[com.drew.metadata.Directory].setString(int,java.lang.String)"
    - Src: "com.drew.metadata.mov.atoms.TextSampleDescriptionAtom:87,1"
      Dst: "[com.drew.metadata.Directory].setIntArray(int,int[])"
    - Src: "com.drew.metadata.mov.atoms.TextSampleDescriptionAtom:88,1"
      Dst: "[com.drew.metadata.Directory].setLong(int,long)"
    - Src: "com.drew.metadata.mov.atoms.TextSampleDescriptionAtom:89,1"
      Dst: "[com.drew.metadata.Directory].setInt(int,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: 45
    CyclomaticComplexity: 21
  - functionName: "[com.drew.imaging.FileType].values()"
    functionSourceFile: "com.drew.imaging.FileType"
    linkageType: ""
    functionLinenumber: 31
    functionLinenumberEnd: 33
    functionDepth: 0
    returnType: "com.drew.imaging.FileType[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.adobe.internal.xmp.impl.XMPNode].clone()"
    - "[com.adobe.internal.xmp.options.SerializeOptions].clone()"
    - "[com.adobe.internal.xmp.impl.XMPMetaImpl].clone()"
    - "[java.lang.Enum].clone()"
    - "[java.lang.Thread].clone()"
    - "[java.lang.Object:java.lang.invoke.MemberName:java.lang.ref.Reference:java.net.HttpCookie:java.security.MessageDigest:java.security.MessageDigestSpi:java.security.Signature:java.security.SignatureSpi:java.text.BreakIterator:java.text.Collator:java.text.DateFormat:java.text.DateFormatSymbols:java.text.DecimalFormat:java.text.DecimalFormatSymbols:java.text.DigitList:java.text.Format:java.text.MessageFormat:java.text.NumberFormat:java.text.SimpleDateFormat:java.util.AbstractMap:java.util.ArrayDeque:java.util.ArrayList:java.util.Calendar:java.util.Date:java.util.EnumSet:java.util.GregorianCalendar:java.util.HashMap:java.util.HashSet:java.util.Hashtable:java.util.Hashtable$Entry:java.util.IdentityHashMap:java.util.LinkedList:java.util.Locale:java.util.Properties:java.util.SimpleTimeZone:java.util.TimeZone:java.util.TreeMap:java.util.TreeSet:java.util.Vector:java.util.concurrent.CopyOnWriteArrayList:java.util.jar.Attributes:java.util.jar.Manifest:java.util.zip.ZipEntry:sun.util.calendar.CalendarDate].clone()"
    - "[java.lang.Object].clone()"
    functionUses: 1
    ICount: 4
    EdgeCount: 6
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.FileType:32,1"
      Dst: "[java.lang.Object].clone()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.imaging.FileType].valueOf(java.lang.String)"
    functionSourceFile: "com.drew.imaging.FileType"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.drew.imaging.FileType"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].valueOf(java.lang.Class,java.lang.String)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.FileType:32,1"
      Dst: "[java.lang.Enum].valueOf(java.lang.Class,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: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.imaging.FileType].<init>(java.lang.String,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[])"
    functionSourceFile: "com.drew.imaging.FileType"
    linkageType: ""
    functionLinenumber: 93
    functionLinenumberEnd: 100
    functionDepth: 0
    returnType: "void"
    argCount: 6
    argTypes:
    - "java.lang.String"
    - "int"
    - "java.lang.String"
    - "java.lang.String"
    - "java.lang.String"
    - "java.lang.String[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].<init>(java.lang.String,int)"
    functionUses: 42
    ICount: 13
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.FileType:94,1"
      Dst: "[java.lang.Enum].<init>(java.lang.String,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.imaging.FileType].getName()"
    functionSourceFile: "com.drew.imaging.FileType"
    linkageType: ""
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionDepth: 0
    returnType: "java.lang.String"
    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: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.imaging.FileType].getLongName()"
    functionSourceFile: "com.drew.imaging.FileType"
    linkageType: ""
    functionLinenumber: 109
    functionLinenumberEnd: 111
    functionDepth: 0
    returnType: "java.lang.String"
    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: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.imaging.FileType].getMimeType()"
    functionSourceFile: "com.drew.imaging.FileType"
    linkageType: ""
    functionLinenumber: 115
    functionLinenumberEnd: 117
    functionDepth: 0
    returnType: "java.lang.String"
    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: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.imaging.FileType].getCommonExtension()"
    functionSourceFile: "com.drew.imaging.FileType"
    linkageType: ""
    functionLinenumber: 121
    functionLinenumberEnd: 123
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 11
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.imaging.FileType:122"
      Branch Sides:
      - BranchSide: "com.drew.imaging.FileType:121"
        BranchSideFuncs: []
    - Branch String: "com.drew.imaging.FileType:122"
      Branch Sides:
      - BranchSide: "com.drew.imaging.FileType: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: true
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[com.drew.imaging.FileType].getAllExtensions()"
    functionSourceFile: "com.drew.imaging.FileType"
    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: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.imaging.FileType].$values()"
    functionSourceFile: "com.drew.imaging.FileType"
    linkageType: ""
    functionLinenumber: 31
    functionLinenumberEnd: 33
    functionDepth: 0
    returnType: "com.drew.imaging.FileType[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 86
    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: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDirectory)"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor:44,1"
      Dst: "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    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: "[com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor].getDescription(int)"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 50
    functionLinenumberEnd: 66
    functionDepth: 3
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor].getRawDevVersionDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor].getRawDevColorSpaceDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor].getRawDevEngineDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor].getRawDevNoiseReductionDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor].getRawDevEditStatusDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor].getRawDevSettingsDescription()"
    - "[com.drew.metadata.TagDescriptor].getDescription(int)"
    functionUses: 1
    ICount: 17
    EdgeCount: 7
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor:53,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor].getRawDevVersionDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor:55,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor].getRawDevColorSpaceDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor:57,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor].getRawDevEngineDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor:59,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor].getRawDevNoiseReductionDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor:61,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor].getRawDevEditStatusDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor:63,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor].getRawDevSettingsDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor:65,1"
      Dst: "[com.drew.metadata.TagDescriptor].getDescription(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: 8
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor].getRawDevVersionDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getVersionBytesDescription(int,int)"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor:72,1"
      Dst: "[com.drew.metadata.TagDescriptor].getVersionBytesDescription(int,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: "[com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor].getRawDevColorSpaceDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor:78,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor].getRawDevEngineDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 8
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor:85,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor].getRawDevNoiseReductionDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 91
    functionLinenumberEnd: 107
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].length()"
    - "[java.lang.StringBuilder].substring(int,int)"
    functionUses: 1
    ICount: 27
    EdgeCount: 9
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor:93"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor:96"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor:95"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor:96"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor:99"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor:98"
        BranchSideFuncs:
        - "<init>()"
        - "intValue()"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor:102"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor:103"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor:102"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor:103"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor:104"
        BranchSideFuncs:
        - "append(java.lang.String)"
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor:103"
        BranchSideFuncs:
        - "append(java.lang.String)"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor:104"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor:105"
        BranchSideFuncs:
        - "length()"
        - "substring(int,int)"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor:92,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor:96,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor:99,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor:102,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor:106,1"
      Dst: "[java.lang.StringBuilder].length()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor:106,1"
      Dst: "[java.lang.StringBuilder].substring(int,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: 11
    CyclomaticComplexity: 4
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor].getRawDevEditStatusDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 111
    functionLinenumberEnd: 127
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    functionUses: 1
    ICount: 18
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor:113"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor:116"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor:115"
        BranchSideFuncs:
        - "intValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor:112,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor:116,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor:126,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor:126,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor:126,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor:126,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: 7
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor].getRawDevSettingsDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 132
    functionLinenumberEnd: 153
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].length()"
    - "[java.lang.StringBuilder].substring(int,int)"
    functionUses: 1
    ICount: 47
    EdgeCount: 14
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor:134"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor:137"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor:136"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor:137"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor:140"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor:139"
        BranchSideFuncs:
        - "<init>()"
        - "intValue()"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor:143"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor:144"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor:143"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor:144"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor:145"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor:144"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor:145"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor:146"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor:145"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor:146"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor:147"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor:146"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor:147"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor:148"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor:147"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor:148"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor:149"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor:148"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor:149"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor:150"
        BranchSideFuncs:
        - "append(java.lang.String)"
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor:149"
        BranchSideFuncs:
        - "append(java.lang.String)"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor:150"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor:151"
        BranchSideFuncs:
        - "length()"
        - "substring(int,int)"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor:133,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor:137,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor:140,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor:143,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor:152,1"
      Dst: "[java.lang.StringBuilder].length()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDescriptor:152,1"
      Dst: "[java.lang.StringBuilder].substring(int,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: 21
    CyclomaticComplexity: 9
  - functionName: "[com.drew.metadata.exif.PanasonicRawIFD0Directory].<init>()"
    functionSourceFile: "com.drew.metadata.exif.PanasonicRawIFD0Directory"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].<init>()"
    - "[com.drew.metadata.exif.PanasonicRawIFD0Descriptor].<init>(com.drew.metadata.exif.PanasonicRawIFD0Directory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.PanasonicRawIFD0Directory:87,1"
      Dst: "[com.drew.metadata.Directory].<init>()"
    - Src: "com.drew.metadata.exif.PanasonicRawIFD0Directory:88,1"
      Dst: "[com.drew.metadata.exif.PanasonicRawIFD0Descriptor].<init>(com.drew.metadata.exif.PanasonicRawIFD0Directory)"
    - Src: "com.drew.metadata.exif.PanasonicRawIFD0Directory:88,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.exif.PanasonicRawIFD0Directory].getName()"
    functionSourceFile: "com.drew.metadata.exif.PanasonicRawIFD0Directory"
    linkageType: ""
    functionLinenumber: 143
    functionLinenumberEnd: 145
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.exif.PanasonicRawIFD0Directory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.exif.PanasonicRawIFD0Directory"
    linkageType: ""
    functionLinenumber: 150
    functionLinenumberEnd: 152
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.photoshop.PsdReader].<init>()"
    functionSourceFile: "com.drew.metadata.photoshop.PsdReader"
    linkageType: ""
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.photoshop.PsdReader:35,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: "[com.drew.metadata.photoshop.PsdReader].extract(com.drew.lang.SequentialReader,com.drew.metadata.Metadata)"
    functionSourceFile: "com.drew.metadata.photoshop.PsdReader"
    linkageType: ""
    functionLinenumber: 38
    functionLinenumberEnd: 121
    functionDepth: 8
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "com.drew.metadata.Metadata"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.photoshop.PsdHeaderDirectory].<init>()"
    - "[com.drew.metadata.Metadata].addDirectory(com.drew.metadata.Directory)"
    - "[com.drew.lang.SequentialReader].getInt32()"
    - "[com.drew.metadata.Directory].addError(java.lang.String)"
    - "[com.drew.lang.SequentialReader].getUInt16()"
    - "[com.drew.lang.StreamReader].skip(long)"
    - "[com.drew.lang.SequentialByteArrayReader].skip(long)"
    - "[com.drew.metadata.Directory].setInt(int,int)"
    - "[com.drew.lang.SequentialReader].getUInt32()"
    - "[java.lang.AssertionError].<init>()"
    - "[com.drew.metadata.photoshop.PhotoshopReader].<init>()"
    - "[com.drew.metadata.photoshop.PhotoshopReader].extract(com.drew.lang.SequentialReader,int,com.drew.metadata.Metadata)"
    - "[com.drew.lang.SequentialReader].skip(long)"
    functionUses: 1
    ICount: 51
    EdgeCount: 26
    BranchProfiles:
    - Branch String: "com.drew.metadata.photoshop.PsdReader:46"
      Branch Sides:
      - BranchSide: "com.drew.metadata.photoshop.PsdReader:51"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.photoshop.PsdReader:53"
      Branch Sides:
      - BranchSide: "com.drew.metadata.photoshop.PsdReader:59"
        BranchSideFuncs:
        - "getInt32()"
        - "addError(java.lang.String)"
        - "setInt(int,int)"
        - "getUInt16()"
    - Branch String: "com.drew.metadata.photoshop.PsdReader:53"
      Branch Sides:
      - BranchSide: "com.drew.metadata.photoshop.PsdReader:59"
        BranchSideFuncs:
        - "getInt32()"
        - "addError(java.lang.String)"
        - "setInt(int,int)"
        - "getUInt16()"
    - Branch String: "com.drew.metadata.photoshop.PsdReader:110"
      Branch Sides:
      - BranchSide: "com.drew.metadata.photoshop.PsdReader:111"
        BranchSideFuncs:
        - "<init>()"
        - "extract(com.drew.lang.SequentialReader,int,com.drew.metadata.Metadata)"
    - Branch String: "com.drew.metadata.photoshop.PsdReader:110"
      Branch Sides:
      - BranchSide: "com.drew.metadata.photoshop.PsdReader:111"
        BranchSideFuncs:
        - "<init>()"
        - "extract(com.drew.lang.SequentialReader,int,com.drew.metadata.Metadata)"
    Callsites:
    - Src: "com.drew.metadata.photoshop.PsdReader:39,1"
      Dst: "[com.drew.metadata.photoshop.PsdHeaderDirectory].<init>()"
    - Src: "com.drew.metadata.photoshop.PsdReader:40,1"
      Dst: "[com.drew.metadata.Metadata].addDirectory(com.drew.metadata.Directory)"
    - Src: "com.drew.metadata.photoshop.PsdReader:45,1"
      Dst: "[com.drew.lang.SequentialReader].getInt32()"
    - Src: "com.drew.metadata.photoshop.PsdReader:48,1"
      Dst: "[com.drew.metadata.Directory].addError(java.lang.String)"
    - Src: "com.drew.metadata.photoshop.PsdReader:52,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt16()"
    - Src: "com.drew.metadata.photoshop.PsdReader:60,1"
      Dst: "[com.drew.lang.SequentialReader].skip(long)"
    - Src: "com.drew.metadata.photoshop.PsdReader:63,1"
      Dst: "[com.drew.metadata.Directory].setInt(int,int)"
    - Src: "com.drew.metadata.photoshop.PsdReader:86,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt32()"
    - Src: "com.drew.metadata.photoshop.PsdReader:110,1"
      Dst: "[java.lang.AssertionError].<init>()"
    - Src: "com.drew.metadata.photoshop.PsdReader:112,1"
      Dst: "[com.drew.metadata.photoshop.PhotoshopReader].<init>()"
    - Src: "com.drew.metadata.photoshop.PsdReader:112,1"
      Dst: "[com.drew.metadata.photoshop.PhotoshopReader].extract(com.drew.lang.SequentialReader,int,com.drew.metadata.Metadata)"
    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: 1
  - functionName: "[com.drew.metadata.photoshop.PsdHeaderDirectory].<init>()"
    functionSourceFile: "com.drew.metadata.photoshop.PsdHeaderDirectory"
    linkageType: ""
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].<init>()"
    - "[com.drew.metadata.photoshop.PsdHeaderDescriptor].<init>(com.drew.metadata.photoshop.PsdHeaderDirectory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 1
    ICount: 6
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.photoshop.PsdHeaderDirectory:71,1"
      Dst: "[com.drew.metadata.Directory].<init>()"
    - Src: "com.drew.metadata.photoshop.PsdHeaderDirectory:72,1"
      Dst: "[com.drew.metadata.photoshop.PsdHeaderDescriptor].<init>(com.drew.metadata.photoshop.PsdHeaderDirectory)"
    - Src: "com.drew.metadata.photoshop.PsdHeaderDirectory:72,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.photoshop.PsdHeaderDescriptor].<init>(com.drew.metadata.photoshop.PsdHeaderDirectory)"
    functionSourceFile: "com.drew.metadata.photoshop.PsdHeaderDescriptor"
    linkageType: ""
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.photoshop.PsdHeaderDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.photoshop.PsdHeaderDescriptor:38,1"
      Dst: "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    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: "[com.drew.metadata.photoshop.PhotoshopReader].<init>()"
    functionSourceFile: "com.drew.metadata.photoshop.PhotoshopReader"
    linkageType: ""
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 6
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.photoshop.PhotoshopReader:50,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: "[com.drew.metadata.photoshop.PhotoshopReader].extract(com.drew.lang.SequentialReader,int,com.drew.metadata.Metadata)"
    functionSourceFile: "com.drew.metadata.photoshop.PhotoshopReader"
    linkageType: ""
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionDepth: 7
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "int"
    - "com.drew.metadata.Metadata"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.photoshop.PhotoshopReader].extract(com.drew.lang.SequentialReader,int,com.drew.metadata.Metadata,com.drew.metadata.Directory)"
    functionUses: 4
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.photoshop.PhotoshopReader:79,1"
      Dst: "[com.drew.metadata.photoshop.PhotoshopReader].extract(com.drew.lang.SequentialReader,int,com.drew.metadata.Metadata,com.drew.metadata.Directory)"
    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: "[com.drew.metadata.photoshop.PhotoshopReader].extract(com.drew.lang.SequentialReader,int,com.drew.metadata.Metadata,com.drew.metadata.Directory)"
    functionSourceFile: "com.drew.metadata.photoshop.PhotoshopReader"
    linkageType: ""
    functionLinenumber: 83
    functionLinenumberEnd: 180
    functionDepth: 6
    returnType: "void"
    argCount: 4
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "int"
    - "com.drew.metadata.Metadata"
    - "com.drew.metadata.Directory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.photoshop.PhotoshopDirectory].<init>()"
    - "[com.drew.metadata.Metadata].addDirectory(com.drew.metadata.Directory)"
    - "[com.drew.metadata.Directory].setParent(com.drew.metadata.Directory)"
    - "[com.drew.lang.SequentialReader].getString(int)"
    - "[com.drew.lang.SequentialReader].getUInt16()"
    - "[com.drew.lang.SequentialReader].getUInt8()"
    - "[com.drew.imaging.ImageProcessingException].<init>(java.lang.String)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(char)"
    - "[com.drew.lang.StreamReader].skip(long)"
    - "[com.drew.lang.SequentialByteArrayReader].skip(long)"
    - "[com.drew.lang.SequentialReader].getInt32()"
    - "[com.drew.lang.SequentialByteArrayReader].getBytes(int)"
    - "[com.drew.lang.StreamReader].getBytes(int)"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[com.drew.lang.SequentialByteArrayReader].<init>(byte[])"
    - "[com.drew.metadata.iptc.IptcReader].<init>()"
    - "[com.drew.metadata.iptc.IptcReader].extract(com.drew.lang.SequentialReader,com.drew.metadata.Metadata,long,com.drew.metadata.Directory)"
    - "[com.drew.lang.ByteArrayReader].<init>(byte[])"
    - "[com.drew.metadata.icc.IccReader].<init>()"
    - "[com.drew.metadata.icc.IccReader].extract(com.drew.lang.RandomAccessReader,com.drew.metadata.Metadata,com.drew.metadata.Directory)"
    - "[com.drew.metadata.exif.ExifReader].<init>()"
    - "[com.drew.metadata.exif.ExifReader].extract(com.drew.lang.RandomAccessReader,com.drew.metadata.Metadata,int,com.drew.metadata.Directory)"
    - "[com.drew.metadata.xmp.XmpReader].<init>()"
    - "[com.drew.metadata.xmp.XmpReader].extract(byte[],com.drew.metadata.Metadata,com.drew.metadata.Directory)"
    - "[java.util.Arrays].copyOf(byte[],int)"
    - "[java.lang.StringBuilder].length()"
    - "[java.lang.StringBuilder].charAt(int)"
    - "[java.lang.StringBuilder].append(int)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.util.HashMap].put(java.lang.Object,java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.Integer].valueOf(int)"
    - "[com.drew.metadata.Directory].setByteArray(int,byte[])"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[com.drew.metadata.Directory].addError(java.lang.String)"
    - "[org.xml.sax.SAXException].getMessage()"
    - "[java.io.InvalidClassException].getMessage()"
    - "[java.lang.Throwable].getMessage()"
    - "[java.nio.file.InvalidPathException].getMessage()"
    - "[java.util.regex.PatternSyntaxException].getMessage()"
    - "[java.net.URISyntaxException].getMessage()"
    - "[sun.nio.fs.UnixException].getMessage()"
    - "[java.nio.file.FileSystemException].getMessage()"
    - "[com.drew.lang.SequentialReader].skip(long)"
    - "[com.drew.lang.SequentialReader].getBytes(int)"
    functionUses: 3
    ICount: 147
    EdgeCount: 58
    BranchProfiles:
    - Branch String: "com.drew.metadata.photoshop.PhotoshopReader:87"
      Branch Sides:
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopReader:100"
        BranchSideFuncs:
        - "setParent(com.drew.metadata.Directory)"
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopReader:99"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.photoshop.PhotoshopReader:102"
      Branch Sides:
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopReader:179"
        BranchSideFuncs:
        - "append(java.lang.String)"
        - "getMessage()"
        - "extract(com.drew.lang.SequentialReader,com.drew.metadata.Metadata,long,com.drew.metadata.Directory)"
        - "length()"
        - "getUInt16()"
        - "append(char)"
        - "skip(long)"
        - "getUInt8()"
        - "<init>()"
        - "addError(java.lang.String)"
        - "<init>(byte[])"
        - "extract(com.drew.lang.RandomAccessReader,com.drew.metadata.Metadata,int,com.drew.metadata.Directory)"
        - "setByteArray(int,byte[])"
        - "getBytes(int)"
        - "getString(int)"
        - "copyOf(byte[],int)"
        - "toString()"
        - "format(java.lang.String,java.lang.Object[])"
        - "append(int)"
        - "extract(byte[],com.drew.metadata.Metadata,com.drew.metadata.Directory)"
        - "put(java.lang.Object,java.lang.Object)"
        - "getInt32()"
        - "extract(com.drew.lang.RandomAccessReader,com.drew.metadata.Metadata,com.drew.metadata.Directory)"
        - "valueOf(int)"
        - "<init>(java.lang.String)"
        - "equals(java.lang.Object)"
        - "charAt(int)"
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopReader:178"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.photoshop.PhotoshopReader:116"
      Branch Sides:
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopReader:117"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopReader:116"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
    - Branch String: "com.drew.metadata.photoshop.PhotoshopReader:116"
      Branch Sides:
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopReader:120"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopReader:119"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.photoshop.PhotoshopReader:123"
      Branch Sides:
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopReader:129"
        BranchSideFuncs:
        - "append(char)"
        - "getUInt8()"
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopReader:128"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.photoshop.PhotoshopReader:129"
      Branch Sides:
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopReader:135"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopReader:134"
        BranchSideFuncs:
        - "getBytes(int)"
        - "getInt32()"
    - Branch String: "com.drew.metadata.photoshop.PhotoshopReader:141"
      Branch Sides:
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopReader:146"
        BranchSideFuncs:
        - "skip(long)"
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopReader:145"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "com.drew.metadata.photoshop.PhotoshopReader:146"
      Branch Sides:
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopReader:177"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopReader:176"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.photoshop.PhotoshopReader:147"
      Branch Sides:
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopReader:149"
        BranchSideFuncs:
        - "extract(com.drew.lang.SequentialReader,com.drew.metadata.Metadata,long,com.drew.metadata.Directory)"
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopReader:148"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.photoshop.PhotoshopReader:149"
      Branch Sides:
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopReader:151"
        BranchSideFuncs:
        - "extract(com.drew.lang.RandomAccessReader,com.drew.metadata.Metadata,com.drew.metadata.Directory)"
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopReader:150"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.photoshop.PhotoshopReader:151"
      Branch Sides:
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopReader:152"
        BranchSideFuncs:
        - "<init>(byte[])"
        - "extract(com.drew.lang.RandomAccessReader,com.drew.metadata.Metadata,int,com.drew.metadata.Directory)"
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopReader:151"
        BranchSideFuncs:
        - "<init>(byte[])"
        - "extract(com.drew.lang.RandomAccessReader,com.drew.metadata.Metadata,int,com.drew.metadata.Directory)"
    - Branch String: "com.drew.metadata.photoshop.PhotoshopReader:151"
      Branch Sides:
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopReader:153"
        BranchSideFuncs:
        - "<init>(byte[])"
        - "extract(com.drew.lang.RandomAccessReader,com.drew.metadata.Metadata,int,com.drew.metadata.Directory)"
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopReader:152"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.photoshop.PhotoshopReader:153"
      Branch Sides:
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopReader:155"
        BranchSideFuncs:
        - "extract(byte[],com.drew.metadata.Metadata,com.drew.metadata.Directory)"
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopReader:154"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.photoshop.PhotoshopReader:155"
      Branch Sides:
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopReader:169"
        BranchSideFuncs:
        - "copyOf(byte[],int)"
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopReader:168"
        BranchSideFuncs:
        - "setByteArray(int,byte[])"
    - Branch String: "com.drew.metadata.photoshop.PhotoshopReader:155"
      Branch Sides:
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopReader:169"
        BranchSideFuncs:
        - "copyOf(byte[],int)"
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopReader:168"
        BranchSideFuncs:
        - "setByteArray(int,byte[])"
    - Branch String: "com.drew.metadata.photoshop.PhotoshopReader:159"
      Branch Sides:
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopReader:165"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopReader:164"
        BranchSideFuncs:
        - "append(java.lang.String)"
        - "<init>()"
        - "toString()"
        - "append(int)"
    - Branch String: "com.drew.metadata.photoshop.PhotoshopReader:160"
      Branch Sides:
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopReader:163"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopReader:162"
        BranchSideFuncs:
        - "length()"
        - "charAt(int)"
    - Branch String: "com.drew.metadata.photoshop.PhotoshopReader:171"
      Branch Sides:
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopReader:177"
        BranchSideFuncs:
        - "format(java.lang.String,java.lang.Object[])"
        - "put(java.lang.Object,java.lang.Object)"
        - "valueOf(int)"
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopReader:176"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.photoshop.PhotoshopReader:171"
      Branch Sides:
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopReader:177"
        BranchSideFuncs:
        - "format(java.lang.String,java.lang.Object[])"
        - "put(java.lang.Object,java.lang.Object)"
        - "valueOf(int)"
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopReader:176"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.photoshop.PhotoshopReader:84,1"
      Dst: "[com.drew.metadata.photoshop.PhotoshopDirectory].<init>()"
    - Src: "com.drew.metadata.photoshop.PhotoshopReader:85,1"
      Dst: "[com.drew.metadata.Metadata].addDirectory(com.drew.metadata.Directory)"
    - Src: "com.drew.metadata.photoshop.PhotoshopReader:88,1"
      Dst: "[com.drew.metadata.Directory].setParent(com.drew.metadata.Directory)"
    - Src: "com.drew.metadata.photoshop.PhotoshopReader:105,1"
      Dst: "[com.drew.lang.SequentialReader].getString(int)"
    - Src: "com.drew.metadata.photoshop.PhotoshopReader:109,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt16()"
    - Src: "com.drew.metadata.photoshop.PhotoshopReader:113,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt8()"
    - Src: "com.drew.metadata.photoshop.PhotoshopReader:117,1"
      Dst: "[com.drew.imaging.ImageProcessingException].<init>(java.lang.String)"
    - Src: "com.drew.metadata.photoshop.PhotoshopReader:120,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.photoshop.PhotoshopReader:124,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "com.drew.metadata.photoshop.PhotoshopReader:130,1"
      Dst: "[com.drew.lang.SequentialReader].skip(long)"
    - Src: "com.drew.metadata.photoshop.PhotoshopReader:135,1"
      Dst: "[com.drew.lang.SequentialReader].getInt32()"
    - Src: "com.drew.metadata.photoshop.PhotoshopReader:138,1"
      Dst: "[com.drew.lang.SequentialReader].getBytes(int)"
    - Src: "com.drew.metadata.photoshop.PhotoshopReader:146,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "com.drew.metadata.photoshop.PhotoshopReader:148,1"
      Dst: "[com.drew.metadata.iptc.IptcReader].<init>()"
    - Src: "com.drew.metadata.photoshop.PhotoshopReader:148,1"
      Dst: "[com.drew.lang.SequentialByteArrayReader].<init>(byte[])"
    - Src: "com.drew.metadata.photoshop.PhotoshopReader:148,1"
      Dst: "[com.drew.metadata.iptc.IptcReader].extract(com.drew.lang.SequentialReader,com.drew.metadata.Metadata,long,com.drew.metadata.Directory)"
    - Src: "com.drew.metadata.photoshop.PhotoshopReader:150,1"
      Dst: "[com.drew.metadata.icc.IccReader].<init>()"
    - Src: "com.drew.metadata.photoshop.PhotoshopReader:150,1"
      Dst: "[com.drew.lang.ByteArrayReader].<init>(byte[])"
    - Src: "com.drew.metadata.photoshop.PhotoshopReader:150,1"
      Dst: "[com.drew.metadata.icc.IccReader].extract(com.drew.lang.RandomAccessReader,com.drew.metadata.Metadata,com.drew.metadata.Directory)"
    - Src: "com.drew.metadata.photoshop.PhotoshopReader:152,1"
      Dst: "[com.drew.metadata.exif.ExifReader].<init>()"
    - Src: "com.drew.metadata.photoshop.PhotoshopReader:152,1"
      Dst: "[com.drew.metadata.exif.ExifReader].extract(com.drew.lang.RandomAccessReader,com.drew.metadata.Metadata,int,com.drew.metadata.Directory)"
    - Src: "com.drew.metadata.photoshop.PhotoshopReader:154,1"
      Dst: "[com.drew.metadata.xmp.XmpReader].<init>()"
    - Src: "com.drew.metadata.photoshop.PhotoshopReader:154,1"
      Dst: "[com.drew.metadata.xmp.XmpReader].extract(byte[],com.drew.metadata.Metadata,com.drew.metadata.Directory)"
    - Src: "com.drew.metadata.photoshop.PhotoshopReader:157,1"
      Dst: "[java.lang.StringBuilder].length()"
    - Src: "com.drew.metadata.photoshop.PhotoshopReader:157,1"
      Dst: "[java.util.Arrays].copyOf(byte[],int)"
    - Src: "com.drew.metadata.photoshop.PhotoshopReader:163,1"
      Dst: "[java.lang.StringBuilder].charAt(int)"
    - Src: "com.drew.metadata.photoshop.PhotoshopReader:165,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.drew.metadata.photoshop.PhotoshopReader:165,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.photoshop.PhotoshopReader:165,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    - Src: "com.drew.metadata.photoshop.PhotoshopReader:165,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "com.drew.metadata.photoshop.PhotoshopReader:165,1"
      Dst: "[java.util.HashMap].put(java.lang.Object,java.lang.Object)"
    - Src: "com.drew.metadata.photoshop.PhotoshopReader:166,1"
      Dst: "[com.drew.metadata.Directory].setByteArray(int,byte[])"
    - Src: "com.drew.metadata.photoshop.PhotoshopReader:172,1"
      Dst: "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - Src: "com.drew.metadata.photoshop.PhotoshopReader:175,1"
      Dst: "[java.lang.Throwable].getMessage()"
    - Src: "com.drew.metadata.photoshop.PhotoshopReader:175,1"
      Dst: "[com.drew.metadata.Directory].addError(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: 40
    CyclomaticComplexity: 18
  - functionName: "[com.drew.metadata.photoshop.PhotoshopDirectory].<init>()"
    functionSourceFile: "com.drew.metadata.photoshop.PhotoshopDirectory"
    linkageType: ""
    functionLinenumber: 227
    functionLinenumberEnd: 231
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].<init>()"
    - "[com.drew.metadata.photoshop.PhotoshopDescriptor].<init>(com.drew.metadata.photoshop.PhotoshopDirectory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 1
    ICount: 6
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.photoshop.PhotoshopDirectory:228,1"
      Dst: "[com.drew.metadata.Directory].<init>()"
    - Src: "com.drew.metadata.photoshop.PhotoshopDirectory:229,1"
      Dst: "[com.drew.metadata.photoshop.PhotoshopDescriptor].<init>(com.drew.metadata.photoshop.PhotoshopDirectory)"
    - Src: "com.drew.metadata.photoshop.PhotoshopDirectory:229,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.photoshop.PhotoshopDescriptor].<init>(com.drew.metadata.photoshop.PhotoshopDirectory)"
    functionSourceFile: "com.drew.metadata.photoshop.PhotoshopDescriptor"
    linkageType: ""
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.photoshop.PhotoshopDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:46,1"
      Dst: "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    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: "[com.drew.imaging.ImageProcessingException].<init>(java.lang.String)"
    functionSourceFile: "com.drew.imaging.ImageProcessingException"
    linkageType: ""
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.CompoundException].<init>(java.lang.String)"
    functionUses: 9
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.ImageProcessingException:37,1"
      Dst: "[com.drew.lang.CompoundException].<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: "[com.drew.lang.CompoundException].<init>(java.lang.String)"
    functionSourceFile: "com.drew.lang.CompoundException"
    linkageType: ""
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.CompoundException].<init>(java.lang.String,java.lang.Throwable)"
    functionUses: 2
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.lang.CompoundException:45,1"
      Dst: "[com.drew.lang.CompoundException].<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: "[com.drew.lang.CompoundException].<init>(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "com.drew.lang.CompoundException"
    linkageType: ""
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Exception].<init>(java.lang.String)"
    functionUses: 2
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.lang.CompoundException:55,1"
      Dst: "[java.lang.Exception].<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: "[com.drew.metadata.iptc.IptcReader].<init>()"
    functionSourceFile: "com.drew.metadata.iptc.IptcReader"
    linkageType: ""
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 4
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.iptc.IptcReader:44,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: "[com.drew.metadata.iptc.IptcReader].extract(com.drew.lang.SequentialReader,com.drew.metadata.Metadata,long,com.drew.metadata.Directory)"
    functionSourceFile: "com.drew.metadata.iptc.IptcReader"
    linkageType: ""
    functionLinenumber: 90
    functionLinenumberEnd: 159
    functionDepth: 3
    returnType: "void"
    argCount: 4
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "com.drew.metadata.Metadata"
    - "long"
    - "com.drew.metadata.Directory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.iptc.IptcDirectory].<init>()"
    - "[com.drew.metadata.Metadata].addDirectory(com.drew.metadata.Directory)"
    - "[com.drew.metadata.Directory].setParent(com.drew.metadata.Directory)"
    - "[com.drew.lang.SequentialReader].getUInt8()"
    - "[com.drew.metadata.Directory].addError(java.lang.String)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.Integer].toHexString(int)"
    - "[java.lang.StringBuilder].toString()"
    - "[com.drew.lang.SequentialReader].getUInt16()"
    - "[com.drew.metadata.iptc.IptcReader].processTag(com.drew.lang.SequentialReader,com.drew.metadata.Directory,int,int,int)"
    - "[java.lang.StringBuilder].append(int)"
    functionUses: 4
    ICount: 81
    EdgeCount: 20
    BranchProfiles:
    - Branch String: "com.drew.metadata.iptc.IptcReader:94"
      Branch Sides:
      - BranchSide: "com.drew.metadata.iptc.IptcReader:97"
        BranchSideFuncs:
        - "setParent(com.drew.metadata.Directory)"
      - BranchSide: "com.drew.metadata.iptc.IptcReader:96"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.iptc.IptcReader:100"
      Branch Sides:
      - BranchSide: "com.drew.metadata.iptc.IptcReader:158"
        BranchSideFuncs:
        - "getUInt8()"
        - "<init>()"
        - "processTag(com.drew.lang.SequentialReader,com.drew.metadata.Directory,int,int,int)"
        - "append(java.lang.String)"
        - "toString()"
        - "addError(java.lang.String)"
        - "toHexString(int)"
        - "getUInt16()"
      - BranchSide: "com.drew.metadata.iptc.IptcReader:157"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.iptc.IptcReader:112"
      Branch Sides:
      - BranchSide: "com.drew.metadata.iptc.IptcReader:121"
        BranchSideFuncs:
        - "getUInt8()"
        - "<init>()"
        - "processTag(com.drew.lang.SequentialReader,com.drew.metadata.Directory,int,int,int)"
        - "append(java.lang.String)"
        - "toString()"
        - "addError(java.lang.String)"
        - "toHexString(int)"
        - "getUInt16()"
      - BranchSide: "com.drew.metadata.iptc.IptcReader:120"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.iptc.IptcReader:115"
      Branch Sides:
      - BranchSide: "com.drew.metadata.iptc.IptcReader:117"
        BranchSideFuncs:
        - "<init>()"
        - "append(java.lang.String)"
        - "toString()"
        - "toHexString(int)"
      - BranchSide: "com.drew.metadata.iptc.IptcReader:116"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.iptc.IptcReader:121"
      Branch Sides:
      - BranchSide: "com.drew.metadata.iptc.IptcReader:130"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.iptc.IptcReader:129"
        BranchSideFuncs:
        - "getUInt8()"
    - Branch String: "com.drew.metadata.iptc.IptcReader:133"
      Branch Sides:
      - BranchSide: "com.drew.metadata.iptc.IptcReader:138"
        BranchSideFuncs:
        - "getUInt8()"
        - "<init>()"
        - "processTag(com.drew.lang.SequentialReader,com.drew.metadata.Directory,int,int,int)"
        - "append(java.lang.String)"
        - "toString()"
        - "addError(java.lang.String)"
        - "toHexString(int)"
        - "getUInt16()"
      - BranchSide: "com.drew.metadata.iptc.IptcReader:137"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.iptc.IptcReader:144"
      Branch Sides:
      - BranchSide: "com.drew.metadata.iptc.IptcReader:null"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.iptc.IptcReader:91,1"
      Dst: "[com.drew.metadata.iptc.IptcDirectory].<init>()"
    - Src: "com.drew.metadata.iptc.IptcReader:92,1"
      Dst: "[com.drew.metadata.Metadata].addDirectory(com.drew.metadata.Directory)"
    - Src: "com.drew.metadata.iptc.IptcReader:95,1"
      Dst: "[com.drew.metadata.Directory].setParent(com.drew.metadata.Directory)"
    - Src: "com.drew.metadata.iptc.IptcReader:105,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt8()"
    - Src: "com.drew.metadata.iptc.IptcReader:108,1"
      Dst: "[com.drew.metadata.Directory].addError(java.lang.String)"
    - Src: "com.drew.metadata.iptc.IptcReader:116,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.iptc.IptcReader:116,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.iptc.IptcReader:116,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    - Src: "com.drew.metadata.iptc.IptcReader:116,1"
      Dst: "[java.lang.Integer].toHexString(int)"
    - Src: "com.drew.metadata.iptc.IptcReader:116,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "com.drew.metadata.iptc.IptcReader:132,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt16()"
    - Src: "com.drew.metadata.iptc.IptcReader:150,1"
      Dst: "[com.drew.metadata.iptc.IptcReader].processTag(com.drew.lang.SequentialReader,com.drew.metadata.Directory,int,int,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: 22
    CyclomaticComplexity: 2
  - functionName: "[com.drew.metadata.iptc.IptcReader].processTag(com.drew.lang.SequentialReader,com.drew.metadata.Directory,int,int,int)"
    functionSourceFile: "com.drew.metadata.iptc.IptcReader"
    linkageType: ""
    functionLinenumber: 161
    functionLinenumberEnd: 241
    functionDepth: 1
    returnType: "void"
    argCount: 5
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "com.drew.metadata.Directory"
    - "int"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].setString(int,java.lang.String)"
    - "[com.drew.lang.SequentialByteArrayReader].getBytes(int)"
    - "[com.drew.lang.StreamReader].getBytes(int)"
    - "[com.drew.metadata.iptc.Iso2022Converter].convertISO2022CharsetToJavaCharset(byte[])"
    - "[java.lang.String].<init>(byte[])"
    - "[com.drew.lang.SequentialReader].getUInt16()"
    - "[com.drew.lang.StreamReader].skip(long)"
    - "[com.drew.lang.SequentialByteArrayReader].skip(long)"
    - "[com.drew.metadata.Directory].setInt(int,int)"
    - "[com.drew.lang.SequentialReader].getUInt8()"
    - "[com.drew.metadata.Directory].getString(int)"
    - "[java.nio.charset.Charset].forName(java.lang.String)"
    - "[com.drew.lang.SequentialReader].getStringValue(int,java.nio.charset.Charset)"
    - "[com.drew.metadata.iptc.Iso2022Converter].guessCharSet(byte[])"
    - "[com.drew.metadata.StringValue].<init>(byte[],java.nio.charset.Charset)"
    - "[com.drew.metadata.Directory].containsTag(int)"
    - "[com.drew.metadata.Directory].getStringValueArray(int)"
    - "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    - "[com.drew.metadata.Directory].setStringValueArray(int,com.drew.metadata.StringValue[])"
    - "[com.drew.metadata.Directory].setStringValue(int,com.drew.metadata.StringValue)"
    - "[com.drew.lang.SequentialReader].getBytes(int)"
    - "[com.drew.lang.SequentialReader].skip(long)"
    functionUses: 1
    ICount: 73
    EdgeCount: 27
    BranchProfiles:
    - Branch String: "com.drew.metadata.iptc.IptcReader:168"
      Branch Sides:
      - BranchSide: "com.drew.metadata.iptc.IptcReader:173"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.iptc.IptcReader:172"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.iptc.IptcReader:177"
      Branch Sides:
      - BranchSide: "com.drew.metadata.iptc.IptcReader:180"
        BranchSideFuncs:
        - "setString(int,java.lang.String)"
    - Branch String: "com.drew.metadata.iptc.IptcReader:189"
      Branch Sides:
      - BranchSide: "com.drew.metadata.iptc.IptcReader:207"
        BranchSideFuncs:
        - "getUInt16()"
      - BranchSide: "com.drew.metadata.iptc.IptcReader:206"
        BranchSideFuncs:
        - "getString(int)"
    - Branch String: "com.drew.metadata.iptc.IptcReader:210"
      Branch Sides:
      - BranchSide: "com.drew.metadata.iptc.IptcReader:213"
        BranchSideFuncs:
        - "forName(java.lang.String)"
      - BranchSide: "com.drew.metadata.iptc.IptcReader:212"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.iptc.IptcReader:216"
      Branch Sides:
      - BranchSide: "com.drew.metadata.iptc.IptcReader:219"
        BranchSideFuncs:
        - "getStringValue(int,java.nio.charset.Charset)"
      - BranchSide: "com.drew.metadata.iptc.IptcReader:218"
        BranchSideFuncs:
        - "<init>(byte[],java.nio.charset.Charset)"
        - "guessCharSet(byte[])"
        - "getBytes(int)"
    - Branch String: "com.drew.metadata.iptc.IptcReader:221"
      Branch Sides:
      - BranchSide: "com.drew.metadata.iptc.IptcReader:218"
        BranchSideFuncs:
        - "<init>(byte[],java.nio.charset.Charset)"
        - "guessCharSet(byte[])"
        - "getBytes(int)"
    - Branch String: "com.drew.metadata.iptc.IptcReader:224"
      Branch Sides:
      - BranchSide: "com.drew.metadata.iptc.IptcReader:237"
        BranchSideFuncs:
        - "setStringValue(int,com.drew.metadata.StringValue)"
    - Branch String: "com.drew.metadata.iptc.IptcReader:228"
      Branch Sides:
      - BranchSide: "com.drew.metadata.iptc.IptcReader:231"
        BranchSideFuncs:
        - "arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    Callsites:
    - Src: "com.drew.metadata.iptc.IptcReader:169,1"
      Dst: "[com.drew.metadata.Directory].setString(int,java.lang.String)"
    - Src: "com.drew.metadata.iptc.IptcReader:175,1"
      Dst: "[com.drew.lang.SequentialReader].getBytes(int)"
    - Src: "com.drew.metadata.iptc.IptcReader:176,1"
      Dst: "[com.drew.metadata.iptc.Iso2022Converter].convertISO2022CharsetToJavaCharset(byte[])"
    - Src: "com.drew.metadata.iptc.IptcReader:179,1"
      Dst: "[java.lang.String].<init>(byte[])"
    - Src: "com.drew.metadata.iptc.IptcReader:190,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt16()"
    - Src: "com.drew.metadata.iptc.IptcReader:191,1"
      Dst: "[com.drew.lang.SequentialReader].skip(long)"
    - Src: "com.drew.metadata.iptc.IptcReader:192,1"
      Dst: "[com.drew.metadata.Directory].setInt(int,int)"
    - Src: "com.drew.metadata.iptc.IptcReader:198,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt8()"
    - Src: "com.drew.metadata.iptc.IptcReader:207,1"
      Dst: "[com.drew.metadata.Directory].getString(int)"
    - Src: "com.drew.metadata.iptc.IptcReader:211,1"
      Dst: "[java.nio.charset.Charset].forName(java.lang.String)"
    - Src: "com.drew.metadata.iptc.IptcReader:217,1"
      Dst: "[com.drew.lang.SequentialReader].getStringValue(int,java.nio.charset.Charset)"
    - Src: "com.drew.metadata.iptc.IptcReader:220,1"
      Dst: "[com.drew.metadata.iptc.Iso2022Converter].guessCharSet(byte[])"
    - Src: "com.drew.metadata.iptc.IptcReader:221,1"
      Dst: "[com.drew.metadata.StringValue].<init>(byte[],java.nio.charset.Charset)"
    - Src: "com.drew.metadata.iptc.IptcReader:224,1"
      Dst: "[com.drew.metadata.Directory].containsTag(int)"
    - Src: "com.drew.metadata.iptc.IptcReader:226,1"
      Dst: "[com.drew.metadata.Directory].getStringValueArray(int)"
    - Src: "com.drew.metadata.iptc.IptcReader:233,1"
      Dst: "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    - Src: "com.drew.metadata.iptc.IptcReader:236,1"
      Dst: "[com.drew.metadata.Directory].setStringValueArray(int,com.drew.metadata.StringValue[])"
    - Src: "com.drew.metadata.iptc.IptcReader:238,1"
      Dst: "[com.drew.metadata.Directory].setStringValue(int,com.drew.metadata.StringValue)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 26
    CyclomaticComplexity: 8
  - functionName: "[com.drew.metadata.exif.ExifReader].extract(com.drew.lang.RandomAccessReader,com.drew.metadata.Metadata,int,com.drew.metadata.Directory)"
    functionSourceFile: "com.drew.metadata.exif.ExifReader"
    linkageType: ""
    functionLinenumber: 89
    functionLinenumberEnd: 105
    functionDepth: 5
    returnType: "void"
    argCount: 4
    argTypes:
    - "com.drew.lang.RandomAccessReader"
    - "com.drew.metadata.Metadata"
    - "int"
    - "com.drew.metadata.Directory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.ExifTiffHandler].<init>(com.drew.metadata.Metadata,com.drew.metadata.Directory,int)"
    - "[com.drew.imaging.tiff.TiffReader].<init>()"
    - "[com.drew.imaging.tiff.TiffReader].processTiff(com.drew.lang.RandomAccessReader,com.drew.imaging.tiff.TiffHandler,int)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[com.drew.metadata.tiff.DirectoryTiffHandler].error(java.lang.String)"
    - "[java.lang.Throwable].getMessage()"
    - "[java.lang.StringBuilder].toString()"
    - "[java.io.InvalidClassException].getMessage()"
    functionUses: 3
    ICount: 30
    EdgeCount: 13
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.ExifReader:90,1"
      Dst: "[com.drew.metadata.exif.ExifTiffHandler].<init>(com.drew.metadata.Metadata,com.drew.metadata.Directory,int)"
    - Src: "com.drew.metadata.exif.ExifReader:94,1"
      Dst: "[com.drew.imaging.tiff.TiffReader].<init>()"
    - Src: "com.drew.metadata.exif.ExifReader:94,1"
      Dst: "[com.drew.imaging.tiff.TiffReader].processTiff(com.drew.lang.RandomAccessReader,com.drew.imaging.tiff.TiffHandler,int)"
    - Src: "com.drew.metadata.exif.ExifReader:100,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.ExifReader:100,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.ExifReader:100,1"
      Dst: "[java.lang.Throwable].getMessage()"
    - Src: "com.drew.metadata.exif.ExifReader:100,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "com.drew.metadata.exif.ExifReader:100,1"
      Dst: "[com.drew.metadata.tiff.DirectoryTiffHandler].error(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: 4
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.ExifTiffHandler].<init>(com.drew.metadata.Metadata,com.drew.metadata.Directory,int)"
    functionSourceFile: "com.drew.metadata.exif.ExifTiffHandler"
    linkageType: ""
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.drew.metadata.Metadata"
    - "com.drew.metadata.Directory"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.tiff.DirectoryTiffHandler].<init>(com.drew.metadata.Metadata,com.drew.metadata.Directory)"
    functionUses: 4
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.ExifTiffHandler:64,1"
      Dst: "[com.drew.metadata.tiff.DirectoryTiffHandler].<init>(com.drew.metadata.Metadata,com.drew.metadata.Directory)"
    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: "[com.drew.imaging.tiff.TiffReader].<init>()"
    functionSourceFile: "com.drew.imaging.tiff.TiffReader"
    linkageType: ""
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 4
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.tiff.TiffReader: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: "[com.drew.imaging.tiff.TiffReader].processTiff(com.drew.lang.RandomAccessReader,com.drew.imaging.tiff.TiffHandler,int)"
    functionSourceFile: "com.drew.imaging.tiff.TiffReader"
    linkageType: ""
    functionLinenumber: 52
    functionLinenumberEnd: 80
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.drew.lang.RandomAccessReader"
    - "com.drew.imaging.tiff.TiffHandler"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.RandomAccessReader].getInt16(int)"
    - "[com.drew.lang.RandomAccessReader].setMotorolaByteOrder(boolean)"
    - "[com.drew.imaging.tiff.TiffProcessingException].<init>(java.lang.String)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(int)"
    - "[java.lang.StringBuilder].toString()"
    - "[com.drew.lang.RandomAccessReader].getUInt16(int)"
    - "[com.drew.metadata.exif.ExifTiffHandler].setTiffMarker(int)"
    - "[com.drew.lang.RandomAccessReader].getInt32(int)"
    - "[com.drew.lang.RandomAccessStreamReader].getLength()"
    - "[com.drew.metadata.tiff.DirectoryTiffHandler].warn(java.lang.String)"
    - "[java.util.HashSet].<init>()"
    - "[com.drew.imaging.tiff.TiffReader].processIfd(com.drew.imaging.tiff.TiffHandler,com.drew.lang.RandomAccessReader,java.util.Set,int,int)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[com.drew.imaging.tiff.TiffHandler].setTiffMarker(int)"
    - "[com.drew.lang.RandomAccessReader].getLength()"
    - "[com.drew.imaging.tiff.TiffHandler].warn(java.lang.String)"
    functionUses: 4
    ICount: 43
    EdgeCount: 14
    BranchProfiles:
    - Branch String: "com.drew.imaging.tiff.TiffReader:55"
      Branch Sides:
      - BranchSide: "com.drew.imaging.tiff.TiffReader:null"
        BranchSideFuncs: []
    - Branch String: "com.drew.imaging.tiff.TiffReader:57"
      Branch Sides:
      - BranchSide: "com.drew.imaging.tiff.TiffReader:60"
        BranchSideFuncs:
        - "setMotorolaByteOrder(boolean)"
      - BranchSide: "com.drew.imaging.tiff.TiffReader:59"
        BranchSideFuncs:
        - "toString()"
        - "<init>(java.lang.String)"
        - "append(int)"
    - Branch String: "com.drew.imaging.tiff.TiffReader:71"
      Branch Sides:
      - BranchSide: "com.drew.imaging.tiff.TiffReader:77"
        BranchSideFuncs:
        - "warn(java.lang.String)"
      - BranchSide: "com.drew.imaging.tiff.TiffReader:76"
        BranchSideFuncs:
        - "<init>()"
        - "processIfd(com.drew.imaging.tiff.TiffHandler,com.drew.lang.RandomAccessReader,java.util.Set,int,int)"
    Callsites:
    - Src: "com.drew.imaging.tiff.TiffReader:53,1"
      Dst: "[com.drew.lang.RandomAccessReader].getInt16(int)"
    - Src: "com.drew.imaging.tiff.TiffReader:56,1"
      Dst: "[com.drew.lang.RandomAccessReader].setMotorolaByteOrder(boolean)"
    - Src: "com.drew.imaging.tiff.TiffReader:60,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.imaging.tiff.TiffReader:60,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.imaging.tiff.TiffReader:60,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    - Src: "com.drew.imaging.tiff.TiffReader:60,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "com.drew.imaging.tiff.TiffReader:60,1"
      Dst: "[com.drew.imaging.tiff.TiffProcessingException].<init>(java.lang.String)"
    - Src: "com.drew.imaging.tiff.TiffReader:64,1"
      Dst: "[com.drew.lang.RandomAccessReader].getUInt16(int)"
    - Src: "com.drew.imaging.tiff.TiffReader:65,1"
      Dst: "[com.drew.imaging.tiff.TiffHandler].setTiffMarker(int)"
    - Src: "com.drew.imaging.tiff.TiffReader:67,1"
      Dst: "[com.drew.lang.RandomAccessReader].getInt32(int)"
    - Src: "com.drew.imaging.tiff.TiffReader:71,1"
      Dst: "[com.drew.lang.RandomAccessReader].getLength()"
    - Src: "com.drew.imaging.tiff.TiffReader:72,1"
      Dst: "[com.drew.imaging.tiff.TiffHandler].warn(java.lang.String)"
    - Src: "com.drew.imaging.tiff.TiffReader:77,1"
      Dst: "[java.util.HashSet].<init>()"
    - Src: "com.drew.imaging.tiff.TiffReader:78,1"
      Dst: "[com.drew.imaging.tiff.TiffReader].processIfd(com.drew.imaging.tiff.TiffHandler,com.drew.lang.RandomAccessReader,java.util.Set,int,int)"
    JavaMethodInfo:
      exceptions:
      - "com.drew.imaging.tiff.TiffProcessingException"
      - "java.io.IOException"
      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: "[com.drew.imaging.tiff.TiffProcessingException].<init>(java.lang.String)"
    functionSourceFile: "com.drew.imaging.tiff.TiffProcessingException"
    linkageType: ""
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.imaging.ImageProcessingException].<init>(java.lang.String)"
    functionUses: 2
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.tiff.TiffProcessingException:39,1"
      Dst: "[com.drew.imaging.ImageProcessingException].<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: "[com.drew.imaging.tiff.TiffReader].processIfd(com.drew.imaging.tiff.TiffHandler,com.drew.lang.RandomAccessReader,java.util.Set,int,int)"
    functionSourceFile: "com.drew.imaging.tiff.TiffReader"
    linkageType: ""
    functionLinenumber: 109
    functionLinenumberEnd: 251
    functionDepth: 2
    returnType: "void"
    argCount: 5
    argTypes:
    - "com.drew.imaging.tiff.TiffHandler"
    - "com.drew.lang.RandomAccessReader"
    - "java.util.Set"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.NullPointerException].<init>(java.lang.String)"
    - "[java.util.concurrent.ConcurrentHashMap$EntrySetView].contains(java.lang.Object)"
    - "[java.lang.Integer].valueOf(int)"
    - "[java.util.AbstractCollection:java.util.HashSet:java.util.TreeMap$EntrySet:java.util.TreeMap$KeySet:java.util.TreeSet:java.util.concurrent.ConcurrentHashMap$EntrySetView:java.util.concurrent.ConcurrentHashMap$KeySetView].add(java.lang.Object)"
    - "[com.drew.lang.RandomAccessStreamReader].getLength()"
    - "[com.drew.metadata.tiff.DirectoryTiffHandler].error(java.lang.String)"
    - "[com.drew.lang.RandomAccessReader].getUInt16(int)"
    - "[com.drew.lang.RandomAccessReader].isMotorolaByteOrder()"
    - "[java.lang.Boolean].valueOf(boolean)"
    - "[com.drew.lang.RandomAccessReader].setMotorolaByteOrder(boolean)"
    - "[com.drew.lang.ByteArrayReader].getLength()"
    - "[com.drew.lang.RandomAccessFileReader].getLength()"
    - "[com.drew.imaging.tiff.TiffReader].calculateTagOffset(int,int)"
    - "[com.drew.imaging.tiff.TiffDataFormat].fromTiffFormatCode(int)"
    - "[com.drew.lang.RandomAccessReader].getUInt32(int)"
    - "[com.drew.metadata.exif.ExifTiffHandler].tryCustomProcessFormat(int,int,long)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.lang.Long].longValue()"
    - "[com.drew.imaging.tiff.TiffDataFormat].getComponentSizeBytes()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(long)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    - "[com.drew.metadata.exif.ExifTiffHandler].tryEnterSubIfd(int)"
    - "[com.drew.lang.RandomAccessReader].getInt32(int)"
    - "[com.drew.imaging.tiff.TiffReader].processIfd(com.drew.imaging.tiff.TiffHandler,com.drew.lang.RandomAccessReader,java.util.Set,int,int)"
    - "[com.drew.metadata.exif.ExifTiffHandler].customProcessTag(int,java.util.Set,int,com.drew.lang.RandomAccessReader,int,int)"
    - "[com.drew.metadata.photoshop.PhotoshopTiffHandler].customProcessTag(int,java.util.Set,int,com.drew.lang.RandomAccessReader,int,int)"
    - "[com.drew.imaging.tiff.TiffReader].processTag(com.drew.imaging.tiff.TiffHandler,int,int,int,int,com.drew.lang.RandomAccessReader)"
    - "[com.drew.metadata.exif.ExifTiffHandler].hasFollowerIfd()"
    - "[com.drew.metadata.tiff.DirectoryTiffHandler].endingIFD()"
    - "[java.lang.Boolean].booleanValue()"
    - "[java.util.Set].contains(java.lang.Object)"
    - "[com.drew.imaging.tiff.TiffHandler].endingIFD()"
    - "[java.util.Set].add(java.lang.Object)"
    - "[com.drew.lang.RandomAccessReader].getLength()"
    - "[com.drew.imaging.tiff.TiffHandler].error(java.lang.String)"
    - "[com.drew.imaging.tiff.TiffHandler].tryCustomProcessFormat(int,int,long)"
    - "[com.drew.imaging.tiff.TiffHandler].tryEnterSubIfd(int)"
    - "[com.drew.imaging.tiff.TiffHandler].customProcessTag(int,java.util.Set,int,com.drew.lang.RandomAccessReader,int,int)"
    - "[com.drew.imaging.tiff.TiffHandler].hasFollowerIfd()"
    functionUses: 37
    ICount: 199
    EdgeCount: 80
    BranchProfiles:
    - Branch String: "com.drew.imaging.tiff.TiffReader:113"
      Branch Sides:
      - BranchSide: "com.drew.imaging.tiff.TiffReader:118"
        BranchSideFuncs: []
      - BranchSide: "com.drew.imaging.tiff.TiffReader:117"
        BranchSideFuncs:
        - "add(java.lang.Object)"
    - Branch String: "com.drew.imaging.tiff.TiffReader:247"
      Branch Sides:
      - BranchSide: "com.drew.imaging.tiff.TiffReader:114"
        BranchSideFuncs:
        - "booleanValue()"
        - "setMotorolaByteOrder(boolean)"
      - BranchSide: "com.drew.imaging.tiff.TiffReader:113"
        BranchSideFuncs: []
    - Branch String: "com.drew.imaging.tiff.TiffReader:120"
      Branch Sides:
      - BranchSide: "com.drew.imaging.tiff.TiffReader:121"
        BranchSideFuncs:
        - "getComponentSizeBytes()"
        - "tryEnterSubIfd(int)"
        - "getUInt32(int)"
        - "valueOf(boolean)"
        - "tryCustomProcessFormat(int,int,long)"
        - "append(java.lang.String)"
        - "append(long)"
        - "longValue()"
        - "getInt32(int)"
        - "getUInt16(int)"
        - "<init>()"
        - "getLength()"
        - "fromTiffFormatCode(int)"
        - "error(java.lang.String)"
        - "toString()"
        - "isMotorolaByteOrder()"
        - "format(java.lang.String,java.lang.Object[])"
        - "calculateTagOffset(int,int)"
        - "processTag(com.drew.imaging.tiff.TiffHandler,int,int,int,int,com.drew.lang.RandomAccessReader)"
        - "hasFollowerIfd()"
        - "endingIFD()"
        - "valueOf(int)"
        - "processIfd(com.drew.imaging.tiff.TiffHandler,com.drew.lang.RandomAccessReader,java.util.Set,int,int)"
        - "customProcessTag(int,java.util.Set,int,com.drew.lang.RandomAccessReader,int,int)"
      - BranchSide: "com.drew.imaging.tiff.TiffReader:120"
        BranchSideFuncs:
        - "getComponentSizeBytes()"
        - "tryEnterSubIfd(int)"
        - "getUInt32(int)"
        - "valueOf(boolean)"
        - "tryCustomProcessFormat(int,int,long)"
        - "append(java.lang.String)"
        - "append(long)"
        - "longValue()"
        - "getInt32(int)"
        - "getUInt16(int)"
        - "<init>()"
        - "getLength()"
        - "fromTiffFormatCode(int)"
        - "error(java.lang.String)"
        - "toString()"
        - "isMotorolaByteOrder()"
        - "format(java.lang.String,java.lang.Object[])"
        - "calculateTagOffset(int,int)"
        - "processTag(com.drew.imaging.tiff.TiffHandler,int,int,int,int,com.drew.lang.RandomAccessReader)"
        - "hasFollowerIfd()"
        - "endingIFD()"
        - "valueOf(int)"
        - "processIfd(com.drew.imaging.tiff.TiffHandler,com.drew.lang.RandomAccessReader,java.util.Set,int,int)"
        - "customProcessTag(int,java.util.Set,int,com.drew.lang.RandomAccessReader,int,int)"
    - Branch String: "com.drew.imaging.tiff.TiffReader:120"
      Branch Sides:
      - BranchSide: "com.drew.imaging.tiff.TiffReader:121"
        BranchSideFuncs:
        - "getComponentSizeBytes()"
        - "tryEnterSubIfd(int)"
        - "getUInt32(int)"
        - "valueOf(boolean)"
        - "tryCustomProcessFormat(int,int,long)"
        - "append(java.lang.String)"
        - "append(long)"
        - "longValue()"
        - "getInt32(int)"
        - "getUInt16(int)"
        - "<init>()"
        - "getLength()"
        - "fromTiffFormatCode(int)"
        - "error(java.lang.String)"
        - "toString()"
        - "isMotorolaByteOrder()"
        - "format(java.lang.String,java.lang.Object[])"
        - "calculateTagOffset(int,int)"
        - "processTag(com.drew.imaging.tiff.TiffHandler,int,int,int,int,com.drew.lang.RandomAccessReader)"
        - "hasFollowerIfd()"
        - "endingIFD()"
        - "valueOf(int)"
        - "processIfd(com.drew.imaging.tiff.TiffHandler,com.drew.lang.RandomAccessReader,java.util.Set,int,int)"
        - "customProcessTag(int,java.util.Set,int,com.drew.lang.RandomAccessReader,int,int)"
      - BranchSide: "com.drew.imaging.tiff.TiffReader:120"
        BranchSideFuncs:
        - "getComponentSizeBytes()"
        - "tryEnterSubIfd(int)"
        - "getUInt32(int)"
        - "valueOf(boolean)"
        - "tryCustomProcessFormat(int,int,long)"
        - "append(java.lang.String)"
        - "append(long)"
        - "longValue()"
        - "getInt32(int)"
        - "getUInt16(int)"
        - "<init>()"
        - "getLength()"
        - "fromTiffFormatCode(int)"
        - "error(java.lang.String)"
        - "toString()"
        - "isMotorolaByteOrder()"
        - "format(java.lang.String,java.lang.Object[])"
        - "calculateTagOffset(int,int)"
        - "processTag(com.drew.imaging.tiff.TiffHandler,int,int,int,int,com.drew.lang.RandomAccessReader)"
        - "hasFollowerIfd()"
        - "endingIFD()"
        - "valueOf(int)"
        - "processIfd(com.drew.imaging.tiff.TiffHandler,com.drew.lang.RandomAccessReader,java.util.Set,int,int)"
        - "customProcessTag(int,java.util.Set,int,com.drew.lang.RandomAccessReader,int,int)"
    - Branch String: "com.drew.imaging.tiff.TiffReader:247"
      Branch Sides:
      - BranchSide: "com.drew.imaging.tiff.TiffReader:121"
        BranchSideFuncs:
        - "booleanValue()"
        - "setMotorolaByteOrder(boolean)"
      - BranchSide: "com.drew.imaging.tiff.TiffReader:120"
        BranchSideFuncs:
        - "getComponentSizeBytes()"
        - "tryEnterSubIfd(int)"
        - "getUInt32(int)"
        - "valueOf(boolean)"
        - "tryCustomProcessFormat(int,int,long)"
        - "append(java.lang.String)"
        - "append(long)"
        - "longValue()"
        - "getInt32(int)"
        - "getUInt16(int)"
        - "<init>()"
        - "getLength()"
        - "fromTiffFormatCode(int)"
        - "error(java.lang.String)"
        - "toString()"
        - "isMotorolaByteOrder()"
        - "format(java.lang.String,java.lang.Object[])"
        - "calculateTagOffset(int,int)"
        - "processTag(com.drew.imaging.tiff.TiffHandler,int,int,int,int,com.drew.lang.RandomAccessReader)"
        - "hasFollowerIfd()"
        - "endingIFD()"
        - "valueOf(int)"
        - "processIfd(com.drew.imaging.tiff.TiffHandler,com.drew.lang.RandomAccessReader,java.util.Set,int,int)"
        - "customProcessTag(int,java.util.Set,int,com.drew.lang.RandomAccessReader,int,int)"
    - Branch String: "com.drew.imaging.tiff.TiffReader:132"
      Branch Sides:
      - BranchSide: "com.drew.imaging.tiff.TiffReader:121"
        BranchSideFuncs:
        - "getComponentSizeBytes()"
        - "tryEnterSubIfd(int)"
        - "getUInt32(int)"
        - "valueOf(boolean)"
        - "tryCustomProcessFormat(int,int,long)"
        - "append(java.lang.String)"
        - "append(long)"
        - "longValue()"
        - "getInt32(int)"
        - "getUInt16(int)"
        - "<init>()"
        - "getLength()"
        - "fromTiffFormatCode(int)"
        - "error(java.lang.String)"
        - "toString()"
        - "isMotorolaByteOrder()"
        - "format(java.lang.String,java.lang.Object[])"
        - "calculateTagOffset(int,int)"
        - "processTag(com.drew.imaging.tiff.TiffHandler,int,int,int,int,com.drew.lang.RandomAccessReader)"
        - "hasFollowerIfd()"
        - "endingIFD()"
        - "valueOf(int)"
        - "processIfd(com.drew.imaging.tiff.TiffHandler,com.drew.lang.RandomAccessReader,java.util.Set,int,int)"
        - "customProcessTag(int,java.util.Set,int,com.drew.lang.RandomAccessReader,int,int)"
      - BranchSide: "com.drew.imaging.tiff.TiffReader:120"
        BranchSideFuncs:
        - "getComponentSizeBytes()"
        - "tryEnterSubIfd(int)"
        - "getUInt32(int)"
        - "valueOf(boolean)"
        - "tryCustomProcessFormat(int,int,long)"
        - "append(java.lang.String)"
        - "append(long)"
        - "longValue()"
        - "getInt32(int)"
        - "getUInt16(int)"
        - "<init>()"
        - "getLength()"
        - "fromTiffFormatCode(int)"
        - "error(java.lang.String)"
        - "toString()"
        - "isMotorolaByteOrder()"
        - "format(java.lang.String,java.lang.Object[])"
        - "calculateTagOffset(int,int)"
        - "processTag(com.drew.imaging.tiff.TiffHandler,int,int,int,int,com.drew.lang.RandomAccessReader)"
        - "hasFollowerIfd()"
        - "endingIFD()"
        - "valueOf(int)"
        - "processIfd(com.drew.imaging.tiff.TiffHandler,com.drew.lang.RandomAccessReader,java.util.Set,int,int)"
        - "customProcessTag(int,java.util.Set,int,com.drew.lang.RandomAccessReader,int,int)"
    - Branch String: "com.drew.imaging.tiff.TiffReader:132"
      Branch Sides:
      - BranchSide: "com.drew.imaging.tiff.TiffReader:121"
        BranchSideFuncs:
        - "getComponentSizeBytes()"
        - "tryEnterSubIfd(int)"
        - "getUInt32(int)"
        - "valueOf(boolean)"
        - "tryCustomProcessFormat(int,int,long)"
        - "append(java.lang.String)"
        - "append(long)"
        - "longValue()"
        - "getInt32(int)"
        - "getUInt16(int)"
        - "<init>()"
        - "getLength()"
        - "fromTiffFormatCode(int)"
        - "error(java.lang.String)"
        - "toString()"
        - "isMotorolaByteOrder()"
        - "format(java.lang.String,java.lang.Object[])"
        - "calculateTagOffset(int,int)"
        - "processTag(com.drew.imaging.tiff.TiffHandler,int,int,int,int,com.drew.lang.RandomAccessReader)"
        - "hasFollowerIfd()"
        - "endingIFD()"
        - "valueOf(int)"
        - "processIfd(com.drew.imaging.tiff.TiffHandler,com.drew.lang.RandomAccessReader,java.util.Set,int,int)"
        - "customProcessTag(int,java.util.Set,int,com.drew.lang.RandomAccessReader,int,int)"
      - BranchSide: "com.drew.imaging.tiff.TiffReader:120"
        BranchSideFuncs:
        - "getComponentSizeBytes()"
        - "tryEnterSubIfd(int)"
        - "getUInt32(int)"
        - "valueOf(boolean)"
        - "tryCustomProcessFormat(int,int,long)"
        - "append(java.lang.String)"
        - "append(long)"
        - "longValue()"
        - "getInt32(int)"
        - "getUInt16(int)"
        - "<init>()"
        - "getLength()"
        - "fromTiffFormatCode(int)"
        - "error(java.lang.String)"
        - "toString()"
        - "isMotorolaByteOrder()"
        - "format(java.lang.String,java.lang.Object[])"
        - "calculateTagOffset(int,int)"
        - "processTag(com.drew.imaging.tiff.TiffHandler,int,int,int,int,com.drew.lang.RandomAccessReader)"
        - "hasFollowerIfd()"
        - "endingIFD()"
        - "valueOf(int)"
        - "processIfd(com.drew.imaging.tiff.TiffHandler,com.drew.lang.RandomAccessReader,java.util.Set,int,int)"
        - "customProcessTag(int,java.util.Set,int,com.drew.lang.RandomAccessReader,int,int)"
    - Branch String: "com.drew.imaging.tiff.TiffReader:135"
      Branch Sides:
      - BranchSide: "com.drew.imaging.tiff.TiffReader:121"
        BranchSideFuncs:
        - "getComponentSizeBytes()"
        - "tryEnterSubIfd(int)"
        - "getUInt32(int)"
        - "valueOf(boolean)"
        - "tryCustomProcessFormat(int,int,long)"
        - "append(java.lang.String)"
        - "append(long)"
        - "longValue()"
        - "getInt32(int)"
        - "getUInt16(int)"
        - "<init>()"
        - "getLength()"
        - "fromTiffFormatCode(int)"
        - "error(java.lang.String)"
        - "toString()"
        - "isMotorolaByteOrder()"
        - "format(java.lang.String,java.lang.Object[])"
        - "calculateTagOffset(int,int)"
        - "processTag(com.drew.imaging.tiff.TiffHandler,int,int,int,int,com.drew.lang.RandomAccessReader)"
        - "hasFollowerIfd()"
        - "endingIFD()"
        - "valueOf(int)"
        - "processIfd(com.drew.imaging.tiff.TiffHandler,com.drew.lang.RandomAccessReader,java.util.Set,int,int)"
        - "customProcessTag(int,java.util.Set,int,com.drew.lang.RandomAccessReader,int,int)"
      - BranchSide: "com.drew.imaging.tiff.TiffReader:120"
        BranchSideFuncs:
        - "getComponentSizeBytes()"
        - "tryEnterSubIfd(int)"
        - "getUInt32(int)"
        - "valueOf(boolean)"
        - "tryCustomProcessFormat(int,int,long)"
        - "append(java.lang.String)"
        - "append(long)"
        - "longValue()"
        - "getInt32(int)"
        - "getUInt16(int)"
        - "<init>()"
        - "getLength()"
        - "fromTiffFormatCode(int)"
        - "error(java.lang.String)"
        - "toString()"
        - "isMotorolaByteOrder()"
        - "format(java.lang.String,java.lang.Object[])"
        - "calculateTagOffset(int,int)"
        - "processTag(com.drew.imaging.tiff.TiffHandler,int,int,int,int,com.drew.lang.RandomAccessReader)"
        - "hasFollowerIfd()"
        - "endingIFD()"
        - "valueOf(int)"
        - "processIfd(com.drew.imaging.tiff.TiffHandler,com.drew.lang.RandomAccessReader,java.util.Set,int,int)"
        - "customProcessTag(int,java.util.Set,int,com.drew.lang.RandomAccessReader,int,int)"
    - Branch String: "com.drew.imaging.tiff.TiffReader:139"
      Branch Sides:
      - BranchSide: "com.drew.imaging.tiff.TiffReader:121"
        BranchSideFuncs:
        - "getComponentSizeBytes()"
        - "tryEnterSubIfd(int)"
        - "getUInt32(int)"
        - "valueOf(boolean)"
        - "tryCustomProcessFormat(int,int,long)"
        - "append(java.lang.String)"
        - "append(long)"
        - "longValue()"
        - "getInt32(int)"
        - "getUInt16(int)"
        - "<init>()"
        - "getLength()"
        - "fromTiffFormatCode(int)"
        - "error(java.lang.String)"
        - "toString()"
        - "isMotorolaByteOrder()"
        - "format(java.lang.String,java.lang.Object[])"
        - "calculateTagOffset(int,int)"
        - "processTag(com.drew.imaging.tiff.TiffHandler,int,int,int,int,com.drew.lang.RandomAccessReader)"
        - "hasFollowerIfd()"
        - "endingIFD()"
        - "valueOf(int)"
        - "processIfd(com.drew.imaging.tiff.TiffHandler,com.drew.lang.RandomAccessReader,java.util.Set,int,int)"
        - "customProcessTag(int,java.util.Set,int,com.drew.lang.RandomAccessReader,int,int)"
      - BranchSide: "com.drew.imaging.tiff.TiffReader:120"
        BranchSideFuncs:
        - "getComponentSizeBytes()"
        - "tryEnterSubIfd(int)"
        - "getUInt32(int)"
        - "valueOf(boolean)"
        - "tryCustomProcessFormat(int,int,long)"
        - "append(java.lang.String)"
        - "append(long)"
        - "longValue()"
        - "getInt32(int)"
        - "getUInt16(int)"
        - "<init>()"
        - "getLength()"
        - "fromTiffFormatCode(int)"
        - "error(java.lang.String)"
        - "toString()"
        - "isMotorolaByteOrder()"
        - "format(java.lang.String,java.lang.Object[])"
        - "calculateTagOffset(int,int)"
        - "processTag(com.drew.imaging.tiff.TiffHandler,int,int,int,int,com.drew.lang.RandomAccessReader)"
        - "hasFollowerIfd()"
        - "endingIFD()"
        - "valueOf(int)"
        - "processIfd(com.drew.imaging.tiff.TiffHandler,com.drew.lang.RandomAccessReader,java.util.Set,int,int)"
        - "customProcessTag(int,java.util.Set,int,com.drew.lang.RandomAccessReader,int,int)"
    - Branch String: "com.drew.imaging.tiff.TiffReader:247"
      Branch Sides:
      - BranchSide: "com.drew.imaging.tiff.TiffReader:121"
        BranchSideFuncs:
        - "booleanValue()"
        - "setMotorolaByteOrder(boolean)"
      - BranchSide: "com.drew.imaging.tiff.TiffReader:120"
        BranchSideFuncs:
        - "getComponentSizeBytes()"
        - "tryEnterSubIfd(int)"
        - "getUInt32(int)"
        - "valueOf(boolean)"
        - "tryCustomProcessFormat(int,int,long)"
        - "append(java.lang.String)"
        - "append(long)"
        - "longValue()"
        - "getInt32(int)"
        - "getUInt16(int)"
        - "<init>()"
        - "getLength()"
        - "fromTiffFormatCode(int)"
        - "error(java.lang.String)"
        - "toString()"
        - "isMotorolaByteOrder()"
        - "format(java.lang.String,java.lang.Object[])"
        - "calculateTagOffset(int,int)"
        - "processTag(com.drew.imaging.tiff.TiffHandler,int,int,int,int,com.drew.lang.RandomAccessReader)"
        - "hasFollowerIfd()"
        - "endingIFD()"
        - "valueOf(int)"
        - "processIfd(com.drew.imaging.tiff.TiffHandler,com.drew.lang.RandomAccessReader,java.util.Set,int,int)"
        - "customProcessTag(int,java.util.Set,int,com.drew.lang.RandomAccessReader,int,int)"
    - Branch String: "com.drew.imaging.tiff.TiffReader:148"
      Branch Sides:
      - BranchSide: "com.drew.imaging.tiff.TiffReader:121"
        BranchSideFuncs:
        - "getComponentSizeBytes()"
        - "tryEnterSubIfd(int)"
        - "getUInt32(int)"
        - "valueOf(boolean)"
        - "tryCustomProcessFormat(int,int,long)"
        - "append(java.lang.String)"
        - "append(long)"
        - "longValue()"
        - "getInt32(int)"
        - "getUInt16(int)"
        - "<init>()"
        - "getLength()"
        - "fromTiffFormatCode(int)"
        - "error(java.lang.String)"
        - "toString()"
        - "isMotorolaByteOrder()"
        - "format(java.lang.String,java.lang.Object[])"
        - "calculateTagOffset(int,int)"
        - "processTag(com.drew.imaging.tiff.TiffHandler,int,int,int,int,com.drew.lang.RandomAccessReader)"
        - "hasFollowerIfd()"
        - "endingIFD()"
        - "valueOf(int)"
        - "processIfd(com.drew.imaging.tiff.TiffHandler,com.drew.lang.RandomAccessReader,java.util.Set,int,int)"
        - "customProcessTag(int,java.util.Set,int,com.drew.lang.RandomAccessReader,int,int)"
      - BranchSide: "com.drew.imaging.tiff.TiffReader:120"
        BranchSideFuncs:
        - "getComponentSizeBytes()"
        - "tryEnterSubIfd(int)"
        - "getUInt32(int)"
        - "valueOf(boolean)"
        - "tryCustomProcessFormat(int,int,long)"
        - "append(java.lang.String)"
        - "append(long)"
        - "longValue()"
        - "getInt32(int)"
        - "getUInt16(int)"
        - "<init>()"
        - "getLength()"
        - "fromTiffFormatCode(int)"
        - "error(java.lang.String)"
        - "toString()"
        - "isMotorolaByteOrder()"
        - "format(java.lang.String,java.lang.Object[])"
        - "calculateTagOffset(int,int)"
        - "processTag(com.drew.imaging.tiff.TiffHandler,int,int,int,int,com.drew.lang.RandomAccessReader)"
        - "hasFollowerIfd()"
        - "endingIFD()"
        - "valueOf(int)"
        - "processIfd(com.drew.imaging.tiff.TiffHandler,com.drew.lang.RandomAccessReader,java.util.Set,int,int)"
        - "customProcessTag(int,java.util.Set,int,com.drew.lang.RandomAccessReader,int,int)"
    - Branch String: "com.drew.imaging.tiff.TiffReader:162"
      Branch Sides:
      - BranchSide: "com.drew.imaging.tiff.TiffReader:121"
        BranchSideFuncs:
        - "getComponentSizeBytes()"
        - "tryEnterSubIfd(int)"
        - "getUInt32(int)"
        - "valueOf(boolean)"
        - "tryCustomProcessFormat(int,int,long)"
        - "append(java.lang.String)"
        - "append(long)"
        - "longValue()"
        - "getInt32(int)"
        - "getUInt16(int)"
        - "<init>()"
        - "getLength()"
        - "fromTiffFormatCode(int)"
        - "error(java.lang.String)"
        - "toString()"
        - "isMotorolaByteOrder()"
        - "format(java.lang.String,java.lang.Object[])"
        - "calculateTagOffset(int,int)"
        - "processTag(com.drew.imaging.tiff.TiffHandler,int,int,int,int,com.drew.lang.RandomAccessReader)"
        - "hasFollowerIfd()"
        - "endingIFD()"
        - "valueOf(int)"
        - "processIfd(com.drew.imaging.tiff.TiffHandler,com.drew.lang.RandomAccessReader,java.util.Set,int,int)"
        - "customProcessTag(int,java.util.Set,int,com.drew.lang.RandomAccessReader,int,int)"
      - BranchSide: "com.drew.imaging.tiff.TiffReader:120"
        BranchSideFuncs:
        - "getComponentSizeBytes()"
        - "tryEnterSubIfd(int)"
        - "getUInt32(int)"
        - "valueOf(boolean)"
        - "tryCustomProcessFormat(int,int,long)"
        - "append(java.lang.String)"
        - "append(long)"
        - "longValue()"
        - "getInt32(int)"
        - "getUInt16(int)"
        - "<init>()"
        - "getLength()"
        - "fromTiffFormatCode(int)"
        - "error(java.lang.String)"
        - "toString()"
        - "isMotorolaByteOrder()"
        - "format(java.lang.String,java.lang.Object[])"
        - "calculateTagOffset(int,int)"
        - "processTag(com.drew.imaging.tiff.TiffHandler,int,int,int,int,com.drew.lang.RandomAccessReader)"
        - "hasFollowerIfd()"
        - "endingIFD()"
        - "valueOf(int)"
        - "processIfd(com.drew.imaging.tiff.TiffHandler,com.drew.lang.RandomAccessReader,java.util.Set,int,int)"
        - "customProcessTag(int,java.util.Set,int,com.drew.lang.RandomAccessReader,int,int)"
    - Branch String: "com.drew.imaging.tiff.TiffReader:164"
      Branch Sides:
      - BranchSide: "com.drew.imaging.tiff.TiffReader:121"
        BranchSideFuncs:
        - "getComponentSizeBytes()"
        - "tryEnterSubIfd(int)"
        - "getUInt32(int)"
        - "valueOf(boolean)"
        - "tryCustomProcessFormat(int,int,long)"
        - "append(java.lang.String)"
        - "append(long)"
        - "longValue()"
        - "getInt32(int)"
        - "getUInt16(int)"
        - "<init>()"
        - "getLength()"
        - "fromTiffFormatCode(int)"
        - "error(java.lang.String)"
        - "toString()"
        - "isMotorolaByteOrder()"
        - "format(java.lang.String,java.lang.Object[])"
        - "calculateTagOffset(int,int)"
        - "processTag(com.drew.imaging.tiff.TiffHandler,int,int,int,int,com.drew.lang.RandomAccessReader)"
        - "hasFollowerIfd()"
        - "endingIFD()"
        - "valueOf(int)"
        - "processIfd(com.drew.imaging.tiff.TiffHandler,com.drew.lang.RandomAccessReader,java.util.Set,int,int)"
        - "customProcessTag(int,java.util.Set,int,com.drew.lang.RandomAccessReader,int,int)"
      - BranchSide: "com.drew.imaging.tiff.TiffReader:120"
        BranchSideFuncs:
        - "getComponentSizeBytes()"
        - "tryEnterSubIfd(int)"
        - "getUInt32(int)"
        - "valueOf(boolean)"
        - "tryCustomProcessFormat(int,int,long)"
        - "append(java.lang.String)"
        - "append(long)"
        - "longValue()"
        - "getInt32(int)"
        - "getUInt16(int)"
        - "<init>()"
        - "getLength()"
        - "fromTiffFormatCode(int)"
        - "error(java.lang.String)"
        - "toString()"
        - "isMotorolaByteOrder()"
        - "format(java.lang.String,java.lang.Object[])"
        - "calculateTagOffset(int,int)"
        - "processTag(com.drew.imaging.tiff.TiffHandler,int,int,int,int,com.drew.lang.RandomAccessReader)"
        - "hasFollowerIfd()"
        - "endingIFD()"
        - "valueOf(int)"
        - "processIfd(com.drew.imaging.tiff.TiffHandler,com.drew.lang.RandomAccessReader,java.util.Set,int,int)"
        - "customProcessTag(int,java.util.Set,int,com.drew.lang.RandomAccessReader,int,int)"
    - Branch String: "com.drew.imaging.tiff.TiffReader:169"
      Branch Sides:
      - BranchSide: "com.drew.imaging.tiff.TiffReader:121"
        BranchSideFuncs:
        - "getComponentSizeBytes()"
        - "tryEnterSubIfd(int)"
        - "getUInt32(int)"
        - "valueOf(boolean)"
        - "tryCustomProcessFormat(int,int,long)"
        - "append(java.lang.String)"
        - "append(long)"
        - "longValue()"
        - "getInt32(int)"
        - "getUInt16(int)"
        - "<init>()"
        - "getLength()"
        - "fromTiffFormatCode(int)"
        - "error(java.lang.String)"
        - "toString()"
        - "isMotorolaByteOrder()"
        - "format(java.lang.String,java.lang.Object[])"
        - "calculateTagOffset(int,int)"
        - "processTag(com.drew.imaging.tiff.TiffHandler,int,int,int,int,com.drew.lang.RandomAccessReader)"
        - "hasFollowerIfd()"
        - "endingIFD()"
        - "valueOf(int)"
        - "processIfd(com.drew.imaging.tiff.TiffHandler,com.drew.lang.RandomAccessReader,java.util.Set,int,int)"
        - "customProcessTag(int,java.util.Set,int,com.drew.lang.RandomAccessReader,int,int)"
      - BranchSide: "com.drew.imaging.tiff.TiffReader:120"
        BranchSideFuncs:
        - "getComponentSizeBytes()"
        - "tryEnterSubIfd(int)"
        - "getUInt32(int)"
        - "valueOf(boolean)"
        - "tryCustomProcessFormat(int,int,long)"
        - "append(java.lang.String)"
        - "append(long)"
        - "longValue()"
        - "getInt32(int)"
        - "getUInt16(int)"
        - "<init>()"
        - "getLength()"
        - "fromTiffFormatCode(int)"
        - "error(java.lang.String)"
        - "toString()"
        - "isMotorolaByteOrder()"
        - "format(java.lang.String,java.lang.Object[])"
        - "calculateTagOffset(int,int)"
        - "processTag(com.drew.imaging.tiff.TiffHandler,int,int,int,int,com.drew.lang.RandomAccessReader)"
        - "hasFollowerIfd()"
        - "endingIFD()"
        - "valueOf(int)"
        - "processIfd(com.drew.imaging.tiff.TiffHandler,com.drew.lang.RandomAccessReader,java.util.Set,int,int)"
        - "customProcessTag(int,java.util.Set,int,com.drew.lang.RandomAccessReader,int,int)"
    - Branch String: "com.drew.imaging.tiff.TiffReader:247"
      Branch Sides:
      - BranchSide: "com.drew.imaging.tiff.TiffReader:121"
        BranchSideFuncs:
        - "booleanValue()"
        - "setMotorolaByteOrder(boolean)"
      - BranchSide: "com.drew.imaging.tiff.TiffReader:120"
        BranchSideFuncs:
        - "getComponentSizeBytes()"
        - "tryEnterSubIfd(int)"
        - "getUInt32(int)"
        - "valueOf(boolean)"
        - "tryCustomProcessFormat(int,int,long)"
        - "append(java.lang.String)"
        - "append(long)"
        - "longValue()"
        - "getInt32(int)"
        - "getUInt16(int)"
        - "<init>()"
        - "getLength()"
        - "fromTiffFormatCode(int)"
        - "error(java.lang.String)"
        - "toString()"
        - "isMotorolaByteOrder()"
        - "format(java.lang.String,java.lang.Object[])"
        - "calculateTagOffset(int,int)"
        - "processTag(com.drew.imaging.tiff.TiffHandler,int,int,int,int,com.drew.lang.RandomAccessReader)"
        - "hasFollowerIfd()"
        - "endingIFD()"
        - "valueOf(int)"
        - "processIfd(com.drew.imaging.tiff.TiffHandler,com.drew.lang.RandomAccessReader,java.util.Set,int,int)"
        - "customProcessTag(int,java.util.Set,int,com.drew.lang.RandomAccessReader,int,int)"
    - Branch String: "com.drew.imaging.tiff.TiffReader:181"
      Branch Sides:
      - BranchSide: "com.drew.imaging.tiff.TiffReader:121"
        BranchSideFuncs:
        - "getComponentSizeBytes()"
        - "tryEnterSubIfd(int)"
        - "getUInt32(int)"
        - "valueOf(boolean)"
        - "tryCustomProcessFormat(int,int,long)"
        - "append(java.lang.String)"
        - "append(long)"
        - "longValue()"
        - "getInt32(int)"
        - "getUInt16(int)"
        - "<init>()"
        - "getLength()"
        - "fromTiffFormatCode(int)"
        - "error(java.lang.String)"
        - "toString()"
        - "isMotorolaByteOrder()"
        - "format(java.lang.String,java.lang.Object[])"
        - "calculateTagOffset(int,int)"
        - "processTag(com.drew.imaging.tiff.TiffHandler,int,int,int,int,com.drew.lang.RandomAccessReader)"
        - "hasFollowerIfd()"
        - "endingIFD()"
        - "valueOf(int)"
        - "processIfd(com.drew.imaging.tiff.TiffHandler,com.drew.lang.RandomAccessReader,java.util.Set,int,int)"
        - "customProcessTag(int,java.util.Set,int,com.drew.lang.RandomAccessReader,int,int)"
      - BranchSide: "com.drew.imaging.tiff.TiffReader:120"
        BranchSideFuncs:
        - "getComponentSizeBytes()"
        - "tryEnterSubIfd(int)"
        - "getUInt32(int)"
        - "valueOf(boolean)"
        - "tryCustomProcessFormat(int,int,long)"
        - "append(java.lang.String)"
        - "append(long)"
        - "longValue()"
        - "getInt32(int)"
        - "getUInt16(int)"
        - "<init>()"
        - "getLength()"
        - "fromTiffFormatCode(int)"
        - "error(java.lang.String)"
        - "toString()"
        - "isMotorolaByteOrder()"
        - "format(java.lang.String,java.lang.Object[])"
        - "calculateTagOffset(int,int)"
        - "processTag(com.drew.imaging.tiff.TiffHandler,int,int,int,int,com.drew.lang.RandomAccessReader)"
        - "hasFollowerIfd()"
        - "endingIFD()"
        - "valueOf(int)"
        - "processIfd(com.drew.imaging.tiff.TiffHandler,com.drew.lang.RandomAccessReader,java.util.Set,int,int)"
        - "customProcessTag(int,java.util.Set,int,com.drew.lang.RandomAccessReader,int,int)"
    - Branch String: "com.drew.imaging.tiff.TiffReader:184"
      Branch Sides:
      - BranchSide: "com.drew.imaging.tiff.TiffReader:121"
        BranchSideFuncs:
        - "getComponentSizeBytes()"
        - "tryEnterSubIfd(int)"
        - "getUInt32(int)"
        - "valueOf(boolean)"
        - "tryCustomProcessFormat(int,int,long)"
        - "append(java.lang.String)"
        - "append(long)"
        - "longValue()"
        - "getInt32(int)"
        - "getUInt16(int)"
        - "<init>()"
        - "getLength()"
        - "fromTiffFormatCode(int)"
        - "error(java.lang.String)"
        - "toString()"
        - "isMotorolaByteOrder()"
        - "format(java.lang.String,java.lang.Object[])"
        - "calculateTagOffset(int,int)"
        - "processTag(com.drew.imaging.tiff.TiffHandler,int,int,int,int,com.drew.lang.RandomAccessReader)"
        - "hasFollowerIfd()"
        - "endingIFD()"
        - "valueOf(int)"
        - "processIfd(com.drew.imaging.tiff.TiffHandler,com.drew.lang.RandomAccessReader,java.util.Set,int,int)"
        - "customProcessTag(int,java.util.Set,int,com.drew.lang.RandomAccessReader,int,int)"
      - BranchSide: "com.drew.imaging.tiff.TiffReader:120"
        BranchSideFuncs:
        - "getComponentSizeBytes()"
        - "tryEnterSubIfd(int)"
        - "getUInt32(int)"
        - "valueOf(boolean)"
        - "tryCustomProcessFormat(int,int,long)"
        - "append(java.lang.String)"
        - "append(long)"
        - "longValue()"
        - "getInt32(int)"
        - "getUInt16(int)"
        - "<init>()"
        - "getLength()"
        - "fromTiffFormatCode(int)"
        - "error(java.lang.String)"
        - "toString()"
        - "isMotorolaByteOrder()"
        - "format(java.lang.String,java.lang.Object[])"
        - "calculateTagOffset(int,int)"
        - "processTag(com.drew.imaging.tiff.TiffHandler,int,int,int,int,com.drew.lang.RandomAccessReader)"
        - "hasFollowerIfd()"
        - "endingIFD()"
        - "valueOf(int)"
        - "processIfd(com.drew.imaging.tiff.TiffHandler,com.drew.lang.RandomAccessReader,java.util.Set,int,int)"
        - "customProcessTag(int,java.util.Set,int,com.drew.lang.RandomAccessReader,int,int)"
    - Branch String: "com.drew.imaging.tiff.TiffReader:195"
      Branch Sides:
      - BranchSide: "com.drew.imaging.tiff.TiffReader:121"
        BranchSideFuncs:
        - "getComponentSizeBytes()"
        - "tryEnterSubIfd(int)"
        - "getUInt32(int)"
        - "valueOf(boolean)"
        - "tryCustomProcessFormat(int,int,long)"
        - "append(java.lang.String)"
        - "append(long)"
        - "longValue()"
        - "getInt32(int)"
        - "getUInt16(int)"
        - "<init>()"
        - "getLength()"
        - "fromTiffFormatCode(int)"
        - "error(java.lang.String)"
        - "toString()"
        - "isMotorolaByteOrder()"
        - "format(java.lang.String,java.lang.Object[])"
        - "calculateTagOffset(int,int)"
        - "processTag(com.drew.imaging.tiff.TiffHandler,int,int,int,int,com.drew.lang.RandomAccessReader)"
        - "hasFollowerIfd()"
        - "endingIFD()"
        - "valueOf(int)"
        - "processIfd(com.drew.imaging.tiff.TiffHandler,com.drew.lang.RandomAccessReader,java.util.Set,int,int)"
        - "customProcessTag(int,java.util.Set,int,com.drew.lang.RandomAccessReader,int,int)"
      - BranchSide: "com.drew.imaging.tiff.TiffReader:120"
        BranchSideFuncs:
        - "getComponentSizeBytes()"
        - "tryEnterSubIfd(int)"
        - "getUInt32(int)"
        - "valueOf(boolean)"
        - "tryCustomProcessFormat(int,int,long)"
        - "append(java.lang.String)"
        - "append(long)"
        - "longValue()"
        - "getInt32(int)"
        - "getUInt16(int)"
        - "<init>()"
        - "getLength()"
        - "fromTiffFormatCode(int)"
        - "error(java.lang.String)"
        - "toString()"
        - "isMotorolaByteOrder()"
        - "format(java.lang.String,java.lang.Object[])"
        - "calculateTagOffset(int,int)"
        - "processTag(com.drew.imaging.tiff.TiffHandler,int,int,int,int,com.drew.lang.RandomAccessReader)"
        - "hasFollowerIfd()"
        - "endingIFD()"
        - "valueOf(int)"
        - "processIfd(com.drew.imaging.tiff.TiffHandler,com.drew.lang.RandomAccessReader,java.util.Set,int,int)"
        - "customProcessTag(int,java.util.Set,int,com.drew.lang.RandomAccessReader,int,int)"
    - Branch String: "com.drew.imaging.tiff.TiffReader:195"
      Branch Sides:
      - BranchSide: "com.drew.imaging.tiff.TiffReader:121"
        BranchSideFuncs:
        - "getComponentSizeBytes()"
        - "tryEnterSubIfd(int)"
        - "getUInt32(int)"
        - "valueOf(boolean)"
        - "tryCustomProcessFormat(int,int,long)"
        - "append(java.lang.String)"
        - "append(long)"
        - "longValue()"
        - "getInt32(int)"
        - "getUInt16(int)"
        - "<init>()"
        - "getLength()"
        - "fromTiffFormatCode(int)"
        - "error(java.lang.String)"
        - "toString()"
        - "isMotorolaByteOrder()"
        - "format(java.lang.String,java.lang.Object[])"
        - "calculateTagOffset(int,int)"
        - "processTag(com.drew.imaging.tiff.TiffHandler,int,int,int,int,com.drew.lang.RandomAccessReader)"
        - "hasFollowerIfd()"
        - "endingIFD()"
        - "valueOf(int)"
        - "processIfd(com.drew.imaging.tiff.TiffHandler,com.drew.lang.RandomAccessReader,java.util.Set,int,int)"
        - "customProcessTag(int,java.util.Set,int,com.drew.lang.RandomAccessReader,int,int)"
      - BranchSide: "com.drew.imaging.tiff.TiffReader:120"
        BranchSideFuncs:
        - "getComponentSizeBytes()"
        - "tryEnterSubIfd(int)"
        - "getUInt32(int)"
        - "valueOf(boolean)"
        - "tryCustomProcessFormat(int,int,long)"
        - "append(java.lang.String)"
        - "append(long)"
        - "longValue()"
        - "getInt32(int)"
        - "getUInt16(int)"
        - "<init>()"
        - "getLength()"
        - "fromTiffFormatCode(int)"
        - "error(java.lang.String)"
        - "toString()"
        - "isMotorolaByteOrder()"
        - "format(java.lang.String,java.lang.Object[])"
        - "calculateTagOffset(int,int)"
        - "processTag(com.drew.imaging.tiff.TiffHandler,int,int,int,int,com.drew.lang.RandomAccessReader)"
        - "hasFollowerIfd()"
        - "endingIFD()"
        - "valueOf(int)"
        - "processIfd(com.drew.imaging.tiff.TiffHandler,com.drew.lang.RandomAccessReader,java.util.Set,int,int)"
        - "customProcessTag(int,java.util.Set,int,com.drew.lang.RandomAccessReader,int,int)"
    - Branch String: "com.drew.imaging.tiff.TiffReader:202"
      Branch Sides:
      - BranchSide: "com.drew.imaging.tiff.TiffReader:121"
        BranchSideFuncs:
        - "getComponentSizeBytes()"
        - "tryEnterSubIfd(int)"
        - "getUInt32(int)"
        - "valueOf(boolean)"
        - "tryCustomProcessFormat(int,int,long)"
        - "append(java.lang.String)"
        - "append(long)"
        - "longValue()"
        - "getInt32(int)"
        - "getUInt16(int)"
        - "<init>()"
        - "getLength()"
        - "fromTiffFormatCode(int)"
        - "error(java.lang.String)"
        - "toString()"
        - "isMotorolaByteOrder()"
        - "format(java.lang.String,java.lang.Object[])"
        - "calculateTagOffset(int,int)"
        - "processTag(com.drew.imaging.tiff.TiffHandler,int,int,int,int,com.drew.lang.RandomAccessReader)"
        - "hasFollowerIfd()"
        - "endingIFD()"
        - "valueOf(int)"
        - "processIfd(com.drew.imaging.tiff.TiffHandler,com.drew.lang.RandomAccessReader,java.util.Set,int,int)"
        - "customProcessTag(int,java.util.Set,int,com.drew.lang.RandomAccessReader,int,int)"
      - BranchSide: "com.drew.imaging.tiff.TiffReader:120"
        BranchSideFuncs:
        - "getComponentSizeBytes()"
        - "tryEnterSubIfd(int)"
        - "getUInt32(int)"
        - "valueOf(boolean)"
        - "tryCustomProcessFormat(int,int,long)"
        - "append(java.lang.String)"
        - "append(long)"
        - "longValue()"
        - "getInt32(int)"
        - "getUInt16(int)"
        - "<init>()"
        - "getLength()"
        - "fromTiffFormatCode(int)"
        - "error(java.lang.String)"
        - "toString()"
        - "isMotorolaByteOrder()"
        - "format(java.lang.String,java.lang.Object[])"
        - "calculateTagOffset(int,int)"
        - "processTag(com.drew.imaging.tiff.TiffHandler,int,int,int,int,com.drew.lang.RandomAccessReader)"
        - "hasFollowerIfd()"
        - "endingIFD()"
        - "valueOf(int)"
        - "processIfd(com.drew.imaging.tiff.TiffHandler,com.drew.lang.RandomAccessReader,java.util.Set,int,int)"
        - "customProcessTag(int,java.util.Set,int,com.drew.lang.RandomAccessReader,int,int)"
    - Branch String: "com.drew.imaging.tiff.TiffReader:202"
      Branch Sides:
      - BranchSide: "com.drew.imaging.tiff.TiffReader:121"
        BranchSideFuncs:
        - "getComponentSizeBytes()"
        - "tryEnterSubIfd(int)"
        - "getUInt32(int)"
        - "valueOf(boolean)"
        - "tryCustomProcessFormat(int,int,long)"
        - "append(java.lang.String)"
        - "append(long)"
        - "longValue()"
        - "getInt32(int)"
        - "getUInt16(int)"
        - "<init>()"
        - "getLength()"
        - "fromTiffFormatCode(int)"
        - "error(java.lang.String)"
        - "toString()"
        - "isMotorolaByteOrder()"
        - "format(java.lang.String,java.lang.Object[])"
        - "calculateTagOffset(int,int)"
        - "processTag(com.drew.imaging.tiff.TiffHandler,int,int,int,int,com.drew.lang.RandomAccessReader)"
        - "hasFollowerIfd()"
        - "endingIFD()"
        - "valueOf(int)"
        - "processIfd(com.drew.imaging.tiff.TiffHandler,com.drew.lang.RandomAccessReader,java.util.Set,int,int)"
        - "customProcessTag(int,java.util.Set,int,com.drew.lang.RandomAccessReader,int,int)"
      - BranchSide: "com.drew.imaging.tiff.TiffReader:120"
        BranchSideFuncs:
        - "getComponentSizeBytes()"
        - "tryEnterSubIfd(int)"
        - "getUInt32(int)"
        - "valueOf(boolean)"
        - "tryCustomProcessFormat(int,int,long)"
        - "append(java.lang.String)"
        - "append(long)"
        - "longValue()"
        - "getInt32(int)"
        - "getUInt16(int)"
        - "<init>()"
        - "getLength()"
        - "fromTiffFormatCode(int)"
        - "error(java.lang.String)"
        - "toString()"
        - "isMotorolaByteOrder()"
        - "format(java.lang.String,java.lang.Object[])"
        - "calculateTagOffset(int,int)"
        - "processTag(com.drew.imaging.tiff.TiffHandler,int,int,int,int,com.drew.lang.RandomAccessReader)"
        - "hasFollowerIfd()"
        - "endingIFD()"
        - "valueOf(int)"
        - "processIfd(com.drew.imaging.tiff.TiffHandler,com.drew.lang.RandomAccessReader,java.util.Set,int,int)"
        - "customProcessTag(int,java.util.Set,int,com.drew.lang.RandomAccessReader,int,int)"
    - Branch String: "com.drew.imaging.tiff.TiffReader:209"
      Branch Sides:
      - BranchSide: "com.drew.imaging.tiff.TiffReader:121"
        BranchSideFuncs:
        - "getComponentSizeBytes()"
        - "tryEnterSubIfd(int)"
        - "getUInt32(int)"
        - "valueOf(boolean)"
        - "tryCustomProcessFormat(int,int,long)"
        - "append(java.lang.String)"
        - "append(long)"
        - "longValue()"
        - "getInt32(int)"
        - "getUInt16(int)"
        - "<init>()"
        - "getLength()"
        - "fromTiffFormatCode(int)"
        - "error(java.lang.String)"
        - "toString()"
        - "isMotorolaByteOrder()"
        - "format(java.lang.String,java.lang.Object[])"
        - "calculateTagOffset(int,int)"
        - "processTag(com.drew.imaging.tiff.TiffHandler,int,int,int,int,com.drew.lang.RandomAccessReader)"
        - "hasFollowerIfd()"
        - "endingIFD()"
        - "valueOf(int)"
        - "processIfd(com.drew.imaging.tiff.TiffHandler,com.drew.lang.RandomAccessReader,java.util.Set,int,int)"
        - "customProcessTag(int,java.util.Set,int,com.drew.lang.RandomAccessReader,int,int)"
      - BranchSide: "com.drew.imaging.tiff.TiffReader:120"
        BranchSideFuncs:
        - "getComponentSizeBytes()"
        - "tryEnterSubIfd(int)"
        - "getUInt32(int)"
        - "valueOf(boolean)"
        - "tryCustomProcessFormat(int,int,long)"
        - "append(java.lang.String)"
        - "append(long)"
        - "longValue()"
        - "getInt32(int)"
        - "getUInt16(int)"
        - "<init>()"
        - "getLength()"
        - "fromTiffFormatCode(int)"
        - "error(java.lang.String)"
        - "toString()"
        - "isMotorolaByteOrder()"
        - "format(java.lang.String,java.lang.Object[])"
        - "calculateTagOffset(int,int)"
        - "processTag(com.drew.imaging.tiff.TiffHandler,int,int,int,int,com.drew.lang.RandomAccessReader)"
        - "hasFollowerIfd()"
        - "endingIFD()"
        - "valueOf(int)"
        - "processIfd(com.drew.imaging.tiff.TiffHandler,com.drew.lang.RandomAccessReader,java.util.Set,int,int)"
        - "customProcessTag(int,java.util.Set,int,com.drew.lang.RandomAccessReader,int,int)"
    - Branch String: "com.drew.imaging.tiff.TiffReader:210"
      Branch Sides:
      - BranchSide: "com.drew.imaging.tiff.TiffReader:121"
        BranchSideFuncs:
        - "getComponentSizeBytes()"
        - "tryEnterSubIfd(int)"
        - "getUInt32(int)"
        - "valueOf(boolean)"
        - "tryCustomProcessFormat(int,int,long)"
        - "append(java.lang.String)"
        - "append(long)"
        - "longValue()"
        - "getInt32(int)"
        - "getUInt16(int)"
        - "<init>()"
        - "getLength()"
        - "fromTiffFormatCode(int)"
        - "error(java.lang.String)"
        - "toString()"
        - "isMotorolaByteOrder()"
        - "format(java.lang.String,java.lang.Object[])"
        - "calculateTagOffset(int,int)"
        - "processTag(com.drew.imaging.tiff.TiffHandler,int,int,int,int,com.drew.lang.RandomAccessReader)"
        - "hasFollowerIfd()"
        - "endingIFD()"
        - "valueOf(int)"
        - "processIfd(com.drew.imaging.tiff.TiffHandler,com.drew.lang.RandomAccessReader,java.util.Set,int,int)"
        - "customProcessTag(int,java.util.Set,int,com.drew.lang.RandomAccessReader,int,int)"
      - BranchSide: "com.drew.imaging.tiff.TiffReader:120"
        BranchSideFuncs:
        - "getComponentSizeBytes()"
        - "tryEnterSubIfd(int)"
        - "getUInt32(int)"
        - "valueOf(boolean)"
        - "tryCustomProcessFormat(int,int,long)"
        - "append(java.lang.String)"
        - "append(long)"
        - "longValue()"
        - "getInt32(int)"
        - "getUInt16(int)"
        - "<init>()"
        - "getLength()"
        - "fromTiffFormatCode(int)"
        - "error(java.lang.String)"
        - "toString()"
        - "isMotorolaByteOrder()"
        - "format(java.lang.String,java.lang.Object[])"
        - "calculateTagOffset(int,int)"
        - "processTag(com.drew.imaging.tiff.TiffHandler,int,int,int,int,com.drew.lang.RandomAccessReader)"
        - "hasFollowerIfd()"
        - "endingIFD()"
        - "valueOf(int)"
        - "processIfd(com.drew.imaging.tiff.TiffHandler,com.drew.lang.RandomAccessReader,java.util.Set,int,int)"
        - "customProcessTag(int,java.util.Set,int,com.drew.lang.RandomAccessReader,int,int)"
    - Branch String: "com.drew.imaging.tiff.TiffReader:211"
      Branch Sides:
      - BranchSide: "com.drew.imaging.tiff.TiffReader:121"
        BranchSideFuncs:
        - "getComponentSizeBytes()"
        - "tryEnterSubIfd(int)"
        - "getUInt32(int)"
        - "valueOf(boolean)"
        - "tryCustomProcessFormat(int,int,long)"
        - "append(java.lang.String)"
        - "append(long)"
        - "longValue()"
        - "getInt32(int)"
        - "getUInt16(int)"
        - "<init>()"
        - "getLength()"
        - "fromTiffFormatCode(int)"
        - "error(java.lang.String)"
        - "toString()"
        - "isMotorolaByteOrder()"
        - "format(java.lang.String,java.lang.Object[])"
        - "calculateTagOffset(int,int)"
        - "processTag(com.drew.imaging.tiff.TiffHandler,int,int,int,int,com.drew.lang.RandomAccessReader)"
        - "hasFollowerIfd()"
        - "endingIFD()"
        - "valueOf(int)"
        - "processIfd(com.drew.imaging.tiff.TiffHandler,com.drew.lang.RandomAccessReader,java.util.Set,int,int)"
        - "customProcessTag(int,java.util.Set,int,com.drew.lang.RandomAccessReader,int,int)"
      - BranchSide: "com.drew.imaging.tiff.TiffReader:120"
        BranchSideFuncs:
        - "getComponentSizeBytes()"
        - "tryEnterSubIfd(int)"
        - "getUInt32(int)"
        - "valueOf(boolean)"
        - "tryCustomProcessFormat(int,int,long)"
        - "append(java.lang.String)"
        - "append(long)"
        - "longValue()"
        - "getInt32(int)"
        - "getUInt16(int)"
        - "<init>()"
        - "getLength()"
        - "fromTiffFormatCode(int)"
        - "error(java.lang.String)"
        - "toString()"
        - "isMotorolaByteOrder()"
        - "format(java.lang.String,java.lang.Object[])"
        - "calculateTagOffset(int,int)"
        - "processTag(com.drew.imaging.tiff.TiffHandler,int,int,int,int,com.drew.lang.RandomAccessReader)"
        - "hasFollowerIfd()"
        - "endingIFD()"
        - "valueOf(int)"
        - "processIfd(com.drew.imaging.tiff.TiffHandler,com.drew.lang.RandomAccessReader,java.util.Set,int,int)"
        - "customProcessTag(int,java.util.Set,int,com.drew.lang.RandomAccessReader,int,int)"
    - Branch String: "com.drew.imaging.tiff.TiffReader:220"
      Branch Sides:
      - BranchSide: "com.drew.imaging.tiff.TiffReader:121"
        BranchSideFuncs:
        - "getComponentSizeBytes()"
        - "tryEnterSubIfd(int)"
        - "getUInt32(int)"
        - "valueOf(boolean)"
        - "tryCustomProcessFormat(int,int,long)"
        - "append(java.lang.String)"
        - "append(long)"
        - "longValue()"
        - "getInt32(int)"
        - "getUInt16(int)"
        - "<init>()"
        - "getLength()"
        - "fromTiffFormatCode(int)"
        - "error(java.lang.String)"
        - "toString()"
        - "isMotorolaByteOrder()"
        - "format(java.lang.String,java.lang.Object[])"
        - "calculateTagOffset(int,int)"
        - "processTag(com.drew.imaging.tiff.TiffHandler,int,int,int,int,com.drew.lang.RandomAccessReader)"
        - "hasFollowerIfd()"
        - "endingIFD()"
        - "valueOf(int)"
        - "processIfd(com.drew.imaging.tiff.TiffHandler,com.drew.lang.RandomAccessReader,java.util.Set,int,int)"
        - "customProcessTag(int,java.util.Set,int,com.drew.lang.RandomAccessReader,int,int)"
      - BranchSide: "com.drew.imaging.tiff.TiffReader:120"
        BranchSideFuncs:
        - "getComponentSizeBytes()"
        - "tryEnterSubIfd(int)"
        - "getUInt32(int)"
        - "valueOf(boolean)"
        - "tryCustomProcessFormat(int,int,long)"
        - "append(java.lang.String)"
        - "append(long)"
        - "longValue()"
        - "getInt32(int)"
        - "getUInt16(int)"
        - "<init>()"
        - "getLength()"
        - "fromTiffFormatCode(int)"
        - "error(java.lang.String)"
        - "toString()"
        - "isMotorolaByteOrder()"
        - "format(java.lang.String,java.lang.Object[])"
        - "calculateTagOffset(int,int)"
        - "processTag(com.drew.imaging.tiff.TiffHandler,int,int,int,int,com.drew.lang.RandomAccessReader)"
        - "hasFollowerIfd()"
        - "endingIFD()"
        - "valueOf(int)"
        - "processIfd(com.drew.imaging.tiff.TiffHandler,com.drew.lang.RandomAccessReader,java.util.Set,int,int)"
        - "customProcessTag(int,java.util.Set,int,com.drew.lang.RandomAccessReader,int,int)"
    - Branch String: "com.drew.imaging.tiff.TiffReader:220"
      Branch Sides:
      - BranchSide: "com.drew.imaging.tiff.TiffReader:121"
        BranchSideFuncs:
        - "getComponentSizeBytes()"
        - "tryEnterSubIfd(int)"
        - "getUInt32(int)"
        - "valueOf(boolean)"
        - "tryCustomProcessFormat(int,int,long)"
        - "append(java.lang.String)"
        - "append(long)"
        - "longValue()"
        - "getInt32(int)"
        - "getUInt16(int)"
        - "<init>()"
        - "getLength()"
        - "fromTiffFormatCode(int)"
        - "error(java.lang.String)"
        - "toString()"
        - "isMotorolaByteOrder()"
        - "format(java.lang.String,java.lang.Object[])"
        - "calculateTagOffset(int,int)"
        - "processTag(com.drew.imaging.tiff.TiffHandler,int,int,int,int,com.drew.lang.RandomAccessReader)"
        - "hasFollowerIfd()"
        - "endingIFD()"
        - "valueOf(int)"
        - "processIfd(com.drew.imaging.tiff.TiffHandler,com.drew.lang.RandomAccessReader,java.util.Set,int,int)"
        - "customProcessTag(int,java.util.Set,int,com.drew.lang.RandomAccessReader,int,int)"
      - BranchSide: "com.drew.imaging.tiff.TiffReader:120"
        BranchSideFuncs:
        - "getComponentSizeBytes()"
        - "tryEnterSubIfd(int)"
        - "getUInt32(int)"
        - "valueOf(boolean)"
        - "tryCustomProcessFormat(int,int,long)"
        - "append(java.lang.String)"
        - "append(long)"
        - "longValue()"
        - "getInt32(int)"
        - "getUInt16(int)"
        - "<init>()"
        - "getLength()"
        - "fromTiffFormatCode(int)"
        - "error(java.lang.String)"
        - "toString()"
        - "isMotorolaByteOrder()"
        - "format(java.lang.String,java.lang.Object[])"
        - "calculateTagOffset(int,int)"
        - "processTag(com.drew.imaging.tiff.TiffHandler,int,int,int,int,com.drew.lang.RandomAccessReader)"
        - "hasFollowerIfd()"
        - "endingIFD()"
        - "valueOf(int)"
        - "processIfd(com.drew.imaging.tiff.TiffHandler,com.drew.lang.RandomAccessReader,java.util.Set,int,int)"
        - "customProcessTag(int,java.util.Set,int,com.drew.lang.RandomAccessReader,int,int)"
    - Branch String: "com.drew.imaging.tiff.TiffReader:229"
      Branch Sides:
      - BranchSide: "com.drew.imaging.tiff.TiffReader:246"
        BranchSideFuncs:
        - "getComponentSizeBytes()"
        - "tryEnterSubIfd(int)"
        - "getUInt32(int)"
        - "valueOf(boolean)"
        - "tryCustomProcessFormat(int,int,long)"
        - "append(java.lang.String)"
        - "append(long)"
        - "longValue()"
        - "getInt32(int)"
        - "getUInt16(int)"
        - "<init>()"
        - "getLength()"
        - "fromTiffFormatCode(int)"
        - "error(java.lang.String)"
        - "toString()"
        - "isMotorolaByteOrder()"
        - "format(java.lang.String,java.lang.Object[])"
        - "calculateTagOffset(int,int)"
        - "processTag(com.drew.imaging.tiff.TiffHandler,int,int,int,int,com.drew.lang.RandomAccessReader)"
        - "hasFollowerIfd()"
        - "endingIFD()"
        - "valueOf(int)"
        - "processIfd(com.drew.imaging.tiff.TiffHandler,com.drew.lang.RandomAccessReader,java.util.Set,int,int)"
        - "customProcessTag(int,java.util.Set,int,com.drew.lang.RandomAccessReader,int,int)"
      - BranchSide: "com.drew.imaging.tiff.TiffReader:245"
        BranchSideFuncs:
        - "endingIFD()"
    - Branch String: "com.drew.imaging.tiff.TiffReader:231"
      Branch Sides:
      - BranchSide: "com.drew.imaging.tiff.TiffReader:121"
        BranchSideFuncs:
        - "getComponentSizeBytes()"
        - "tryEnterSubIfd(int)"
        - "getUInt32(int)"
        - "valueOf(boolean)"
        - "tryCustomProcessFormat(int,int,long)"
        - "append(java.lang.String)"
        - "append(long)"
        - "longValue()"
        - "getInt32(int)"
        - "getUInt16(int)"
        - "<init>()"
        - "getLength()"
        - "fromTiffFormatCode(int)"
        - "error(java.lang.String)"
        - "toString()"
        - "isMotorolaByteOrder()"
        - "format(java.lang.String,java.lang.Object[])"
        - "calculateTagOffset(int,int)"
        - "processTag(com.drew.imaging.tiff.TiffHandler,int,int,int,int,com.drew.lang.RandomAccessReader)"
        - "hasFollowerIfd()"
        - "endingIFD()"
        - "valueOf(int)"
        - "processIfd(com.drew.imaging.tiff.TiffHandler,com.drew.lang.RandomAccessReader,java.util.Set,int,int)"
        - "customProcessTag(int,java.util.Set,int,com.drew.lang.RandomAccessReader,int,int)"
      - BranchSide: "com.drew.imaging.tiff.TiffReader:120"
        BranchSideFuncs:
        - "getComponentSizeBytes()"
        - "tryEnterSubIfd(int)"
        - "getUInt32(int)"
        - "valueOf(boolean)"
        - "tryCustomProcessFormat(int,int,long)"
        - "append(java.lang.String)"
        - "append(long)"
        - "longValue()"
        - "getInt32(int)"
        - "getUInt16(int)"
        - "<init>()"
        - "getLength()"
        - "fromTiffFormatCode(int)"
        - "error(java.lang.String)"
        - "toString()"
        - "isMotorolaByteOrder()"
        - "format(java.lang.String,java.lang.Object[])"
        - "calculateTagOffset(int,int)"
        - "processTag(com.drew.imaging.tiff.TiffHandler,int,int,int,int,com.drew.lang.RandomAccessReader)"
        - "hasFollowerIfd()"
        - "endingIFD()"
        - "valueOf(int)"
        - "processIfd(com.drew.imaging.tiff.TiffHandler,com.drew.lang.RandomAccessReader,java.util.Set,int,int)"
        - "customProcessTag(int,java.util.Set,int,com.drew.lang.RandomAccessReader,int,int)"
    - Branch String: "com.drew.imaging.tiff.TiffReader:247"
      Branch Sides:
      - BranchSide: "com.drew.imaging.tiff.TiffReader:121"
        BranchSideFuncs:
        - "booleanValue()"
        - "setMotorolaByteOrder(boolean)"
      - BranchSide: "com.drew.imaging.tiff.TiffReader:120"
        BranchSideFuncs:
        - "getComponentSizeBytes()"
        - "tryEnterSubIfd(int)"
        - "getUInt32(int)"
        - "valueOf(boolean)"
        - "tryCustomProcessFormat(int,int,long)"
        - "append(java.lang.String)"
        - "append(long)"
        - "longValue()"
        - "getInt32(int)"
        - "getUInt16(int)"
        - "<init>()"
        - "getLength()"
        - "fromTiffFormatCode(int)"
        - "error(java.lang.String)"
        - "toString()"
        - "isMotorolaByteOrder()"
        - "format(java.lang.String,java.lang.Object[])"
        - "calculateTagOffset(int,int)"
        - "processTag(com.drew.imaging.tiff.TiffHandler,int,int,int,int,com.drew.lang.RandomAccessReader)"
        - "hasFollowerIfd()"
        - "endingIFD()"
        - "valueOf(int)"
        - "processIfd(com.drew.imaging.tiff.TiffHandler,com.drew.lang.RandomAccessReader,java.util.Set,int,int)"
        - "customProcessTag(int,java.util.Set,int,com.drew.lang.RandomAccessReader,int,int)"
    - Branch String: "com.drew.imaging.tiff.TiffReader:235"
      Branch Sides:
      - BranchSide: "com.drew.imaging.tiff.TiffReader:121"
        BranchSideFuncs:
        - "getComponentSizeBytes()"
        - "tryEnterSubIfd(int)"
        - "getUInt32(int)"
        - "valueOf(boolean)"
        - "tryCustomProcessFormat(int,int,long)"
        - "append(java.lang.String)"
        - "append(long)"
        - "longValue()"
        - "getInt32(int)"
        - "getUInt16(int)"
        - "<init>()"
        - "getLength()"
        - "fromTiffFormatCode(int)"
        - "error(java.lang.String)"
        - "toString()"
        - "isMotorolaByteOrder()"
        - "format(java.lang.String,java.lang.Object[])"
        - "calculateTagOffset(int,int)"
        - "processTag(com.drew.imaging.tiff.TiffHandler,int,int,int,int,com.drew.lang.RandomAccessReader)"
        - "hasFollowerIfd()"
        - "endingIFD()"
        - "valueOf(int)"
        - "processIfd(com.drew.imaging.tiff.TiffHandler,com.drew.lang.RandomAccessReader,java.util.Set,int,int)"
        - "customProcessTag(int,java.util.Set,int,com.drew.lang.RandomAccessReader,int,int)"
      - BranchSide: "com.drew.imaging.tiff.TiffReader:120"
        BranchSideFuncs:
        - "getComponentSizeBytes()"
        - "tryEnterSubIfd(int)"
        - "getUInt32(int)"
        - "valueOf(boolean)"
        - "tryCustomProcessFormat(int,int,long)"
        - "append(java.lang.String)"
        - "append(long)"
        - "longValue()"
        - "getInt32(int)"
        - "getUInt16(int)"
        - "<init>()"
        - "getLength()"
        - "fromTiffFormatCode(int)"
        - "error(java.lang.String)"
        - "toString()"
        - "isMotorolaByteOrder()"
        - "format(java.lang.String,java.lang.Object[])"
        - "calculateTagOffset(int,int)"
        - "processTag(com.drew.imaging.tiff.TiffHandler,int,int,int,int,com.drew.lang.RandomAccessReader)"
        - "hasFollowerIfd()"
        - "endingIFD()"
        - "valueOf(int)"
        - "processIfd(com.drew.imaging.tiff.TiffHandler,com.drew.lang.RandomAccessReader,java.util.Set,int,int)"
        - "customProcessTag(int,java.util.Set,int,com.drew.lang.RandomAccessReader,int,int)"
    - Branch String: "com.drew.imaging.tiff.TiffReader:247"
      Branch Sides:
      - BranchSide: "com.drew.imaging.tiff.TiffReader:121"
        BranchSideFuncs:
        - "booleanValue()"
        - "setMotorolaByteOrder(boolean)"
      - BranchSide: "com.drew.imaging.tiff.TiffReader:120"
        BranchSideFuncs:
        - "getComponentSizeBytes()"
        - "tryEnterSubIfd(int)"
        - "getUInt32(int)"
        - "valueOf(boolean)"
        - "tryCustomProcessFormat(int,int,long)"
        - "append(java.lang.String)"
        - "append(long)"
        - "longValue()"
        - "getInt32(int)"
        - "getUInt16(int)"
        - "<init>()"
        - "getLength()"
        - "fromTiffFormatCode(int)"
        - "error(java.lang.String)"
        - "toString()"
        - "isMotorolaByteOrder()"
        - "format(java.lang.String,java.lang.Object[])"
        - "calculateTagOffset(int,int)"
        - "processTag(com.drew.imaging.tiff.TiffHandler,int,int,int,int,com.drew.lang.RandomAccessReader)"
        - "hasFollowerIfd()"
        - "endingIFD()"
        - "valueOf(int)"
        - "processIfd(com.drew.imaging.tiff.TiffHandler,com.drew.lang.RandomAccessReader,java.util.Set,int,int)"
        - "customProcessTag(int,java.util.Set,int,com.drew.lang.RandomAccessReader,int,int)"
    - Branch String: "com.drew.imaging.tiff.TiffReader:241"
      Branch Sides:
      - BranchSide: "com.drew.imaging.tiff.TiffReader:246"
        BranchSideFuncs:
        - "getComponentSizeBytes()"
        - "tryEnterSubIfd(int)"
        - "getUInt32(int)"
        - "valueOf(boolean)"
        - "tryCustomProcessFormat(int,int,long)"
        - "append(java.lang.String)"
        - "append(long)"
        - "longValue()"
        - "getInt32(int)"
        - "getUInt16(int)"
        - "<init>()"
        - "getLength()"
        - "fromTiffFormatCode(int)"
        - "error(java.lang.String)"
        - "toString()"
        - "isMotorolaByteOrder()"
        - "format(java.lang.String,java.lang.Object[])"
        - "calculateTagOffset(int,int)"
        - "processTag(com.drew.imaging.tiff.TiffHandler,int,int,int,int,com.drew.lang.RandomAccessReader)"
        - "hasFollowerIfd()"
        - "endingIFD()"
        - "valueOf(int)"
        - "processIfd(com.drew.imaging.tiff.TiffHandler,com.drew.lang.RandomAccessReader,java.util.Set,int,int)"
        - "customProcessTag(int,java.util.Set,int,com.drew.lang.RandomAccessReader,int,int)"
      - BranchSide: "com.drew.imaging.tiff.TiffReader:245"
        BranchSideFuncs:
        - "endingIFD()"
    - Branch String: "com.drew.imaging.tiff.TiffReader:247"
      Branch Sides:
      - BranchSide: "com.drew.imaging.tiff.TiffReader:250"
        BranchSideFuncs:
        - "booleanValue()"
        - "setMotorolaByteOrder(boolean)"
      - BranchSide: "com.drew.imaging.tiff.TiffReader:249"
        BranchSideFuncs: []
    - Branch String: "com.drew.imaging.tiff.TiffReader:247"
      Branch Sides:
      - BranchSide: "com.drew.imaging.tiff.TiffReader:249"
        BranchSideFuncs:
        - "booleanValue()"
        - "setMotorolaByteOrder(boolean)"
      - BranchSide: "com.drew.imaging.tiff.TiffReader:248"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.imaging.tiff.TiffReader:113,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.drew.imaging.tiff.TiffReader:113,1"
      Dst: "[java.util.Set].contains(java.lang.Object)"
    - Src: "com.drew.imaging.tiff.TiffReader:246,1"
      Dst: "[com.drew.imaging.tiff.TiffHandler].endingIFD()"
    - Src: "com.drew.imaging.tiff.TiffReader:-1,1"
      Dst: "[java.lang.NullPointerException].<init>(java.lang.String)"
    - Src: "com.drew.imaging.tiff.TiffReader:118,1"
      Dst: "[java.util.Set].add(java.lang.Object)"
    - Src: "com.drew.imaging.tiff.TiffReader:120,1"
      Dst: "[com.drew.lang.RandomAccessReader].getLength()"
    - Src: "com.drew.imaging.tiff.TiffReader:121,1"
      Dst: "[com.drew.imaging.tiff.TiffHandler].error(java.lang.String)"
    - Src: "com.drew.imaging.tiff.TiffReader:126,1"
      Dst: "[com.drew.lang.RandomAccessReader].getUInt16(int)"
    - Src: "com.drew.imaging.tiff.TiffReader:133,1"
      Dst: "[com.drew.lang.RandomAccessReader].isMotorolaByteOrder()"
    - Src: "com.drew.imaging.tiff.TiffReader:133,1"
      Dst: "[java.lang.Boolean].valueOf(boolean)"
    - Src: "com.drew.imaging.tiff.TiffReader:135,1"
      Dst: "[com.drew.lang.RandomAccessReader].setMotorolaByteOrder(boolean)"
    - Src: "com.drew.imaging.tiff.TiffReader:248,1"
      Dst: "[java.lang.Boolean].booleanValue()"
    - Src: "com.drew.imaging.tiff.TiffReader:149,1"
      Dst: "[com.drew.imaging.tiff.TiffReader].calculateTagOffset(int,int)"
    - Src: "com.drew.imaging.tiff.TiffReader:156,1"
      Dst: "[com.drew.imaging.tiff.TiffDataFormat].fromTiffFormatCode(int)"
    - Src: "com.drew.imaging.tiff.TiffReader:159,1"
      Dst: "[com.drew.lang.RandomAccessReader].getUInt32(int)"
    - Src: "com.drew.imaging.tiff.TiffReader:163,1"
      Dst: "[com.drew.imaging.tiff.TiffHandler].tryCustomProcessFormat(int,int,long)"
    - Src: "com.drew.imaging.tiff.TiffReader:167,1"
      Dst: "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - Src: "com.drew.imaging.tiff.TiffReader:175,1"
      Dst: "[java.lang.Long].longValue()"
    - Src: "com.drew.imaging.tiff.TiffReader:177,1"
      Dst: "[com.drew.imaging.tiff.TiffDataFormat].getComponentSizeBytes()"
    - Src: "com.drew.imaging.tiff.TiffReader:203,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.imaging.tiff.TiffReader:203,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.imaging.tiff.TiffReader:203,1"
      Dst: "[java.lang.StringBuilder].append(long)"
    - Src: "com.drew.imaging.tiff.TiffReader:203,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "com.drew.imaging.tiff.TiffReader:211,1"
      Dst: "[com.drew.imaging.tiff.TiffHandler].tryEnterSubIfd(int)"
    - Src: "com.drew.imaging.tiff.TiffReader:213,1"
      Dst: "[com.drew.lang.RandomAccessReader].getInt32(int)"
    - Src: "com.drew.imaging.tiff.TiffReader:214,1"
      Dst: "[com.drew.imaging.tiff.TiffReader].processIfd(com.drew.imaging.tiff.TiffHandler,com.drew.lang.RandomAccessReader,java.util.Set,int,int)"
    - Src: "com.drew.imaging.tiff.TiffReader:220,1"
      Dst: "[com.drew.imaging.tiff.TiffHandler].customProcessTag(int,java.util.Set,int,com.drew.lang.RandomAccessReader,int,int)"
    - Src: "com.drew.imaging.tiff.TiffReader:222,1"
      Dst: "[com.drew.imaging.tiff.TiffReader].processTag(com.drew.imaging.tiff.TiffHandler,int,int,int,int,com.drew.lang.RandomAccessReader)"
    - Src: "com.drew.imaging.tiff.TiffReader:241,1"
      Dst: "[com.drew.imaging.tiff.TiffHandler].hasFollowerIfd()"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 67
    CyclomaticComplexity: 26
  - functionName: "[com.drew.imaging.tiff.TiffReader].calculateTagOffset(int,int)"
    functionSourceFile: "com.drew.imaging.tiff.TiffReader"
    linkageType: ""
    functionLinenumber: 383
    functionLinenumberEnd: 385
    functionDepth: 0
    returnType: "int"
    argCount: 2
    argTypes:
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 6
    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: "[com.drew.imaging.tiff.TiffDataFormat].fromTiffFormatCode(int)"
    functionSourceFile: "com.drew.imaging.tiff.TiffDataFormat"
    linkageType: ""
    functionLinenumber: 66
    functionLinenumberEnd: 82
    functionDepth: 0
    returnType: "com.drew.imaging.tiff.TiffDataFormat"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 27
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 14
    CyclomaticComplexity: 1
  - functionName: "[com.drew.imaging.tiff.TiffDataFormat].getComponentSizeBytes()"
    functionSourceFile: "com.drew.imaging.tiff.TiffDataFormat"
    linkageType: ""
    functionLinenumber: 92
    functionLinenumberEnd: 94
    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: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.imaging.tiff.TiffReader].processTag(com.drew.imaging.tiff.TiffHandler,int,int,int,int,com.drew.lang.RandomAccessReader)"
    functionSourceFile: "com.drew.imaging.tiff.TiffReader"
    linkageType: ""
    functionLinenumber: 258
    functionLinenumberEnd: 373
    functionDepth: 1
    returnType: "void"
    argCount: 6
    argTypes:
    - "com.drew.imaging.tiff.TiffHandler"
    - "int"
    - "int"
    - "int"
    - "int"
    - "com.drew.lang.RandomAccessReader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.ByteArrayReader].getBytes(int,int)"
    - "[com.drew.lang.RandomAccessStreamReader].getBytes(int,int)"
    - "[com.drew.lang.RandomAccessFileReader].getBytes(int,int)"
    - "[com.drew.metadata.tiff.DirectoryTiffHandler].setByteArray(int,byte[])"
    - "[com.drew.lang.RandomAccessReader].getNullTerminatedStringValue(int,int,java.nio.charset.Charset)"
    - "[com.drew.metadata.tiff.DirectoryTiffHandler].setString(int,com.drew.metadata.StringValue)"
    - "[com.drew.lang.Rational].<init>(long,long)"
    - "[com.drew.lang.RandomAccessReader].getInt32(int)"
    - "[com.drew.metadata.tiff.DirectoryTiffHandler].setRational(int,com.drew.lang.Rational)"
    - "[com.drew.metadata.tiff.DirectoryTiffHandler].setRationalArray(int,com.drew.lang.Rational[])"
    - "[com.drew.lang.RandomAccessReader].getUInt32(int)"
    - "[com.drew.lang.RandomAccessReader].getFloat32(int)"
    - "[com.drew.metadata.tiff.DirectoryTiffHandler].setFloat(int,float)"
    - "[com.drew.metadata.tiff.DirectoryTiffHandler].setFloatArray(int,float[])"
    - "[com.drew.lang.RandomAccessReader].getDouble64(int)"
    - "[com.drew.metadata.tiff.DirectoryTiffHandler].setDouble(int,double)"
    - "[com.drew.metadata.tiff.DirectoryTiffHandler].setDoubleArray(int,double[])"
    - "[com.drew.lang.RandomAccessReader].getInt8(int)"
    - "[com.drew.metadata.tiff.DirectoryTiffHandler].setInt8s(int,byte)"
    - "[com.drew.metadata.tiff.DirectoryTiffHandler].setInt8sArray(int,byte[])"
    - "[com.drew.lang.RandomAccessReader].getUInt8(int)"
    - "[com.drew.metadata.tiff.DirectoryTiffHandler].setInt8u(int,short)"
    - "[com.drew.metadata.tiff.DirectoryTiffHandler].setInt8uArray(int,short[])"
    - "[com.drew.lang.RandomAccessReader].getInt16(int)"
    - "[com.drew.metadata.tiff.DirectoryTiffHandler].setInt16s(int,int)"
    - "[com.drew.metadata.tiff.DirectoryTiffHandler].setInt16sArray(int,short[])"
    - "[com.drew.lang.RandomAccessReader].getUInt16(int)"
    - "[com.drew.metadata.tiff.DirectoryTiffHandler].setInt16u(int,int)"
    - "[com.drew.metadata.tiff.DirectoryTiffHandler].setInt16uArray(int,int[])"
    - "[com.drew.metadata.tiff.DirectoryTiffHandler].setInt32s(int,int)"
    - "[com.drew.metadata.tiff.DirectoryTiffHandler].setInt32sArray(int,int[])"
    - "[com.drew.metadata.tiff.DirectoryTiffHandler].setInt32u(int,long)"
    - "[com.drew.metadata.tiff.DirectoryTiffHandler].setInt32uArray(int,long[])"
    - "[com.drew.metadata.tiff.DirectoryTiffHandler].error(java.lang.String)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.lang.Integer].valueOf(int)"
    - "[com.drew.lang.RandomAccessReader].getBytes(int,int)"
    - "[com.drew.imaging.tiff.TiffHandler].setByteArray(int,byte[])"
    - "[com.drew.imaging.tiff.TiffHandler].setString(int,com.drew.metadata.StringValue)"
    - "[com.drew.imaging.tiff.TiffHandler].setRational(int,com.drew.lang.Rational)"
    - "[com.drew.imaging.tiff.TiffHandler].setRationalArray(int,com.drew.lang.Rational[])"
    - "[com.drew.imaging.tiff.TiffHandler].setFloat(int,float)"
    - "[com.drew.imaging.tiff.TiffHandler].setFloatArray(int,float[])"
    - "[com.drew.imaging.tiff.TiffHandler].setDouble(int,double)"
    - "[com.drew.imaging.tiff.TiffHandler].setDoubleArray(int,double[])"
    - "[com.drew.imaging.tiff.TiffHandler].setInt8s(int,byte)"
    - "[com.drew.imaging.tiff.TiffHandler].setInt8sArray(int,byte[])"
    - "[com.drew.imaging.tiff.TiffHandler].setInt8u(int,short)"
    - "[com.drew.imaging.tiff.TiffHandler].setInt8uArray(int,short[])"
    - "[com.drew.imaging.tiff.TiffHandler].setInt16s(int,int)"
    - "[com.drew.imaging.tiff.TiffHandler].setInt16sArray(int,short[])"
    - "[com.drew.imaging.tiff.TiffHandler].setInt16u(int,int)"
    - "[com.drew.imaging.tiff.TiffHandler].setInt16uArray(int,int[])"
    - "[com.drew.imaging.tiff.TiffHandler].setInt32s(int,int)"
    - "[com.drew.imaging.tiff.TiffHandler].setInt32sArray(int,int[])"
    - "[com.drew.imaging.tiff.TiffHandler].setInt32u(int,long)"
    - "[com.drew.imaging.tiff.TiffHandler].setInt32uArray(int,long[])"
    - "[com.drew.imaging.tiff.TiffHandler].error(java.lang.String)"
    functionUses: 1
    ICount: 196
    EdgeCount: 58
    BranchProfiles:
    - Branch String: "com.drew.imaging.tiff.TiffReader:268"
      Branch Sides:
      - BranchSide: "com.drew.imaging.tiff.TiffReader:270"
        BranchSideFuncs: []
      - BranchSide: "com.drew.imaging.tiff.TiffReader:269"
        BranchSideFuncs: []
    - Branch String: "com.drew.imaging.tiff.TiffReader:270"
      Branch Sides:
      - BranchSide: "com.drew.imaging.tiff.TiffReader:372"
        BranchSideFuncs: []
      - BranchSide: "com.drew.imaging.tiff.TiffReader:371"
        BranchSideFuncs: []
    - Branch String: "com.drew.imaging.tiff.TiffReader:272"
      Branch Sides:
      - BranchSide: "com.drew.imaging.tiff.TiffReader:273"
        BranchSideFuncs: []
    - Branch String: "com.drew.imaging.tiff.TiffReader:278"
      Branch Sides:
      - BranchSide: "com.drew.imaging.tiff.TiffReader:280"
        BranchSideFuncs:
        - "setRational(int,com.drew.lang.Rational)"
      - BranchSide: "com.drew.imaging.tiff.TiffReader:279"
        BranchSideFuncs: []
    - Branch String: "com.drew.imaging.tiff.TiffReader:280"
      Branch Sides:
      - BranchSide: "com.drew.imaging.tiff.TiffReader:372"
        BranchSideFuncs: []
      - BranchSide: "com.drew.imaging.tiff.TiffReader:371"
        BranchSideFuncs: []
    - Branch String: "com.drew.imaging.tiff.TiffReader:282"
      Branch Sides:
      - BranchSide: "com.drew.imaging.tiff.TiffReader:283"
        BranchSideFuncs:
        - "setRationalArray(int,com.drew.lang.Rational[])"
    - Branch String: "com.drew.imaging.tiff.TiffReader:288"
      Branch Sides:
      - BranchSide: "com.drew.imaging.tiff.TiffReader:291"
        BranchSideFuncs:
        - "setFloat(int,float)"
      - BranchSide: "com.drew.imaging.tiff.TiffReader:290"
        BranchSideFuncs: []
    - Branch String: "com.drew.imaging.tiff.TiffReader:292"
      Branch Sides:
      - BranchSide: "com.drew.imaging.tiff.TiffReader:293"
        BranchSideFuncs:
        - "setFloatArray(int,float[])"
    - Branch String: "com.drew.imaging.tiff.TiffReader:298"
      Branch Sides:
      - BranchSide: "com.drew.imaging.tiff.TiffReader:301"
        BranchSideFuncs:
        - "setDouble(int,double)"
      - BranchSide: "com.drew.imaging.tiff.TiffReader:300"
        BranchSideFuncs: []
    - Branch String: "com.drew.imaging.tiff.TiffReader:302"
      Branch Sides:
      - BranchSide: "com.drew.imaging.tiff.TiffReader:303"
        BranchSideFuncs:
        - "setDoubleArray(int,double[])"
    - Branch String: "com.drew.imaging.tiff.TiffReader:308"
      Branch Sides:
      - BranchSide: "com.drew.imaging.tiff.TiffReader:311"
        BranchSideFuncs:
        - "setInt8s(int,byte)"
      - BranchSide: "com.drew.imaging.tiff.TiffReader:310"
        BranchSideFuncs: []
    - Branch String: "com.drew.imaging.tiff.TiffReader:312"
      Branch Sides:
      - BranchSide: "com.drew.imaging.tiff.TiffReader:313"
        BranchSideFuncs:
        - "setInt8sArray(int,byte[])"
    - Branch String: "com.drew.imaging.tiff.TiffReader:318"
      Branch Sides:
      - BranchSide: "com.drew.imaging.tiff.TiffReader:321"
        BranchSideFuncs:
        - "setInt8u(int,short)"
      - BranchSide: "com.drew.imaging.tiff.TiffReader:320"
        BranchSideFuncs: []
    - Branch String: "com.drew.imaging.tiff.TiffReader:322"
      Branch Sides:
      - BranchSide: "com.drew.imaging.tiff.TiffReader:323"
        BranchSideFuncs:
        - "setInt8uArray(int,short[])"
    - Branch String: "com.drew.imaging.tiff.TiffReader:328"
      Branch Sides:
      - BranchSide: "com.drew.imaging.tiff.TiffReader:331"
        BranchSideFuncs:
        - "setInt16s(int,int)"
      - BranchSide: "com.drew.imaging.tiff.TiffReader:330"
        BranchSideFuncs: []
    - Branch String: "com.drew.imaging.tiff.TiffReader:332"
      Branch Sides:
      - BranchSide: "com.drew.imaging.tiff.TiffReader:333"
        BranchSideFuncs:
        - "setInt16sArray(int,short[])"
    - Branch String: "com.drew.imaging.tiff.TiffReader:338"
      Branch Sides:
      - BranchSide: "com.drew.imaging.tiff.TiffReader:341"
        BranchSideFuncs:
        - "setInt16u(int,int)"
      - BranchSide: "com.drew.imaging.tiff.TiffReader:340"
        BranchSideFuncs: []
    - Branch String: "com.drew.imaging.tiff.TiffReader:342"
      Branch Sides:
      - BranchSide: "com.drew.imaging.tiff.TiffReader:343"
        BranchSideFuncs:
        - "setInt16uArray(int,int[])"
    - Branch String: "com.drew.imaging.tiff.TiffReader:349"
      Branch Sides:
      - BranchSide: "com.drew.imaging.tiff.TiffReader:352"
        BranchSideFuncs:
        - "setInt32s(int,int)"
      - BranchSide: "com.drew.imaging.tiff.TiffReader:351"
        BranchSideFuncs: []
    - Branch String: "com.drew.imaging.tiff.TiffReader:353"
      Branch Sides:
      - BranchSide: "com.drew.imaging.tiff.TiffReader:354"
        BranchSideFuncs:
        - "setInt32sArray(int,int[])"
    - Branch String: "com.drew.imaging.tiff.TiffReader:360"
      Branch Sides:
      - BranchSide: "com.drew.imaging.tiff.TiffReader:363"
        BranchSideFuncs:
        - "setInt32u(int,long)"
      - BranchSide: "com.drew.imaging.tiff.TiffReader:362"
        BranchSideFuncs: []
    - Branch String: "com.drew.imaging.tiff.TiffReader:364"
      Branch Sides:
      - BranchSide: "com.drew.imaging.tiff.TiffReader:365"
        BranchSideFuncs:
        - "setInt32uArray(int,long[])"
    Callsites:
    - Src: "com.drew.imaging.tiff.TiffReader:262,1"
      Dst: "[com.drew.lang.RandomAccessReader].getBytes(int,int)"
    - Src: "com.drew.imaging.tiff.TiffReader:262,1"
      Dst: "[com.drew.imaging.tiff.TiffHandler].setByteArray(int,byte[])"
    - Src: "com.drew.imaging.tiff.TiffReader:265,1"
      Dst: "[com.drew.lang.RandomAccessReader].getNullTerminatedStringValue(int,int,java.nio.charset.Charset)"
    - Src: "com.drew.imaging.tiff.TiffReader:265,1"
      Dst: "[com.drew.imaging.tiff.TiffHandler].setString(int,com.drew.metadata.StringValue)"
    - Src: "com.drew.imaging.tiff.TiffReader:269,1"
      Dst: "[com.drew.lang.RandomAccessReader].getInt32(int)"
    - Src: "com.drew.imaging.tiff.TiffReader:269,1"
      Dst: "[com.drew.lang.Rational].<init>(long,long)"
    - Src: "com.drew.imaging.tiff.TiffReader:269,1"
      Dst: "[com.drew.imaging.tiff.TiffHandler].setRational(int,com.drew.lang.Rational)"
    - Src: "com.drew.imaging.tiff.TiffReader:274,1"
      Dst: "[com.drew.imaging.tiff.TiffHandler].setRationalArray(int,com.drew.lang.Rational[])"
    - Src: "com.drew.imaging.tiff.TiffReader:279,1"
      Dst: "[com.drew.lang.RandomAccessReader].getUInt32(int)"
    - Src: "com.drew.imaging.tiff.TiffReader:289,1"
      Dst: "[com.drew.lang.RandomAccessReader].getFloat32(int)"
    - Src: "com.drew.imaging.tiff.TiffReader:289,1"
      Dst: "[com.drew.imaging.tiff.TiffHandler].setFloat(int,float)"
    - Src: "com.drew.imaging.tiff.TiffReader:294,1"
      Dst: "[com.drew.imaging.tiff.TiffHandler].setFloatArray(int,float[])"
    - Src: "com.drew.imaging.tiff.TiffReader:299,1"
      Dst: "[com.drew.lang.RandomAccessReader].getDouble64(int)"
    - Src: "com.drew.imaging.tiff.TiffReader:299,1"
      Dst: "[com.drew.imaging.tiff.TiffHandler].setDouble(int,double)"
    - Src: "com.drew.imaging.tiff.TiffReader:304,1"
      Dst: "[com.drew.imaging.tiff.TiffHandler].setDoubleArray(int,double[])"
    - Src: "com.drew.imaging.tiff.TiffReader:309,1"
      Dst: "[com.drew.lang.RandomAccessReader].getInt8(int)"
    - Src: "com.drew.imaging.tiff.TiffReader:309,1"
      Dst: "[com.drew.imaging.tiff.TiffHandler].setInt8s(int,byte)"
    - Src: "com.drew.imaging.tiff.TiffReader:314,1"
      Dst: "[com.drew.imaging.tiff.TiffHandler].setInt8sArray(int,byte[])"
    - Src: "com.drew.imaging.tiff.TiffReader:319,1"
      Dst: "[com.drew.lang.RandomAccessReader].getUInt8(int)"
    - Src: "com.drew.imaging.tiff.TiffReader:319,1"
      Dst: "[com.drew.imaging.tiff.TiffHandler].setInt8u(int,short)"
    - Src: "com.drew.imaging.tiff.TiffReader:324,1"
      Dst: "[com.drew.imaging.tiff.TiffHandler].setInt8uArray(int,short[])"
    - Src: "com.drew.imaging.tiff.TiffReader:329,1"
      Dst: "[com.drew.lang.RandomAccessReader].getInt16(int)"
    - Src: "com.drew.imaging.tiff.TiffReader:329,1"
      Dst: "[com.drew.imaging.tiff.TiffHandler].setInt16s(int,int)"
    - Src: "com.drew.imaging.tiff.TiffReader:334,1"
      Dst: "[com.drew.imaging.tiff.TiffHandler].setInt16sArray(int,short[])"
    - Src: "com.drew.imaging.tiff.TiffReader:339,1"
      Dst: "[com.drew.lang.RandomAccessReader].getUInt16(int)"
    - Src: "com.drew.imaging.tiff.TiffReader:339,1"
      Dst: "[com.drew.imaging.tiff.TiffHandler].setInt16u(int,int)"
    - Src: "com.drew.imaging.tiff.TiffReader:344,1"
      Dst: "[com.drew.imaging.tiff.TiffHandler].setInt16uArray(int,int[])"
    - Src: "com.drew.imaging.tiff.TiffReader:350,1"
      Dst: "[com.drew.imaging.tiff.TiffHandler].setInt32s(int,int)"
    - Src: "com.drew.imaging.tiff.TiffReader:355,1"
      Dst: "[com.drew.imaging.tiff.TiffHandler].setInt32sArray(int,int[])"
    - Src: "com.drew.imaging.tiff.TiffReader:361,1"
      Dst: "[com.drew.imaging.tiff.TiffHandler].setInt32u(int,long)"
    - Src: "com.drew.imaging.tiff.TiffReader:366,1"
      Dst: "[com.drew.imaging.tiff.TiffHandler].setInt32uArray(int,long[])"
    - Src: "com.drew.imaging.tiff.TiffReader:370,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.drew.imaging.tiff.TiffReader:370,1"
      Dst: "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - Src: "com.drew.imaging.tiff.TiffReader:370,1"
      Dst: "[com.drew.imaging.tiff.TiffHandler].error(java.lang.String)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 67
    CyclomaticComplexity: 35
  - functionName: "[com.drew.metadata.bmp.BmpHeaderDescriptor].getDescription(int)"
    functionSourceFile: "com.drew.metadata.bmp.BmpHeaderDescriptor"
    linkageType: ""
    functionLinenumber: 45
    functionLinenumberEnd: 70
    functionDepth: 4
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.bmp.BmpHeaderDescriptor].getBitmapTypeDescription()"
    - "[com.drew.metadata.bmp.BmpHeaderDescriptor].getCompressionDescription()"
    - "[com.drew.metadata.bmp.BmpHeaderDescriptor].getRenderingDescription()"
    - "[com.drew.metadata.bmp.BmpHeaderDescriptor].getColorEncodingDescription()"
    - "[com.drew.metadata.bmp.BmpHeaderDescriptor].formatHex(java.lang.Long,int)"
    - "[com.drew.metadata.Directory].getLongObject(int)"
    - "[com.drew.metadata.bmp.BmpHeaderDescriptor].getColorSpaceTypeDescription()"
    - "[com.drew.metadata.bmp.BmpHeaderDescriptor].formatFixed1616(java.lang.Long)"
    - "[com.drew.metadata.bmp.BmpHeaderDescriptor].getRenderingIntentDescription()"
    - "[com.drew.metadata.TagDescriptor].getDescription(int)"
    functionUses: 1
    ICount: 27
    EdgeCount: 11
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.bmp.BmpHeaderDescriptor:48,1"
      Dst: "[com.drew.metadata.bmp.BmpHeaderDescriptor].getBitmapTypeDescription()"
    - Src: "com.drew.metadata.bmp.BmpHeaderDescriptor:50,1"
      Dst: "[com.drew.metadata.bmp.BmpHeaderDescriptor].getCompressionDescription()"
    - Src: "com.drew.metadata.bmp.BmpHeaderDescriptor:52,1"
      Dst: "[com.drew.metadata.bmp.BmpHeaderDescriptor].getRenderingDescription()"
    - Src: "com.drew.metadata.bmp.BmpHeaderDescriptor:54,1"
      Dst: "[com.drew.metadata.bmp.BmpHeaderDescriptor].getColorEncodingDescription()"
    - Src: "com.drew.metadata.bmp.BmpHeaderDescriptor:59,1"
      Dst: "[com.drew.metadata.Directory].getLongObject(int)"
    - Src: "com.drew.metadata.bmp.BmpHeaderDescriptor:59,1"
      Dst: "[com.drew.metadata.bmp.BmpHeaderDescriptor].formatHex(java.lang.Long,int)"
    - Src: "com.drew.metadata.bmp.BmpHeaderDescriptor:61,1"
      Dst: "[com.drew.metadata.bmp.BmpHeaderDescriptor].getColorSpaceTypeDescription()"
    - Src: "com.drew.metadata.bmp.BmpHeaderDescriptor:65,1"
      Dst: "[com.drew.metadata.bmp.BmpHeaderDescriptor].formatFixed1616(java.lang.Long)"
    - Src: "com.drew.metadata.bmp.BmpHeaderDescriptor:67,1"
      Dst: "[com.drew.metadata.bmp.BmpHeaderDescriptor].getRenderingIntentDescription()"
    - Src: "com.drew.metadata.bmp.BmpHeaderDescriptor:69,1"
      Dst: "[com.drew.metadata.TagDescriptor].getDescription(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: 10
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.bmp.BmpHeaderDescriptor].getBitmapTypeDescription()"
    functionSourceFile: "com.drew.metadata.bmp.BmpHeaderDescriptor"
    linkageType: ""
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionDepth: 3
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.bmp.BmpHeaderDirectory].getBitmapType()"
    - "[com.drew.metadata.bmp.BmpHeaderDirectory$BitmapType].toString()"
    functionUses: 1
    ICount: 9
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.drew.metadata.bmp.BmpHeaderDescriptor:77"
      Branch Sides:
      - BranchSide: "com.drew.metadata.bmp.BmpHeaderDescriptor:75"
        BranchSideFuncs:
        - "toString()"
        - "getBitmapType()"
    Callsites:
    - Src: "com.drew.metadata.bmp.BmpHeaderDescriptor:76,1"
      Dst: "[com.drew.metadata.bmp.BmpHeaderDirectory].getBitmapType()"
    - Src: "com.drew.metadata.bmp.BmpHeaderDescriptor:77,1"
      Dst: "[com.drew.metadata.bmp.BmpHeaderDirectory$BitmapType].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: 4
    CyclomaticComplexity: 2
  - functionName: "[com.drew.metadata.bmp.BmpHeaderDescriptor].getCompressionDescription()"
    functionSourceFile: "com.drew.metadata.bmp.BmpHeaderDescriptor"
    linkageType: ""
    functionLinenumber: 92
    functionLinenumberEnd: 99
    functionDepth: 3
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.bmp.BmpHeaderDirectory].getCompression()"
    - "[com.drew.metadata.bmp.BmpHeaderDirectory$Compression].toString()"
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.Integer].toHexString(int)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 21
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "com.drew.metadata.bmp.BmpHeaderDescriptor:94"
      Branch Sides:
      - BranchSide: "com.drew.metadata.bmp.BmpHeaderDescriptor:97"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.bmp.BmpHeaderDescriptor:96"
        BranchSideFuncs:
        - "<init>()"
        - "intValue()"
        - "toString()"
        - "append(java.lang.String)"
        - "toHexString(int)"
        - "getInteger(int)"
    - Branch String: "com.drew.metadata.bmp.BmpHeaderDescriptor:98"
      Branch Sides:
      - BranchSide: "com.drew.metadata.bmp.BmpHeaderDescriptor:96"
        BranchSideFuncs:
        - "<init>()"
        - "intValue()"
        - "toString()"
        - "append(java.lang.String)"
        - "toHexString(int)"
        - "getInteger(int)"
    Callsites:
    - Src: "com.drew.metadata.bmp.BmpHeaderDescriptor:93,1"
      Dst: "[com.drew.metadata.bmp.BmpHeaderDirectory].getCompression()"
    - Src: "com.drew.metadata.bmp.BmpHeaderDescriptor:95,1"
      Dst: "[com.drew.metadata.bmp.BmpHeaderDirectory$Compression].toString()"
    - Src: "com.drew.metadata.bmp.BmpHeaderDescriptor:97,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.bmp.BmpHeaderDescriptor:98,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.bmp.BmpHeaderDescriptor:98,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.bmp.BmpHeaderDescriptor:98,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.bmp.BmpHeaderDescriptor:98,1"
      Dst: "[java.lang.Integer].toHexString(int)"
    - Src: "com.drew.metadata.bmp.BmpHeaderDescriptor:98,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: 6
    CyclomaticComplexity: 2
  - functionName: "[com.drew.metadata.bmp.BmpHeaderDirectory$Compression].toString()"
    functionSourceFile: "com.drew.metadata.bmp.BmpHeaderDirectory$Compression"
    linkageType: ""
    functionLinenumber: 282
    functionLinenumberEnd: 298
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].ordinal()"
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.Enum].toString()"
    functionUses: 15
    ICount: 26
    EdgeCount: 7
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.bmp.BmpHeaderDirectory$Compression:283,1"
      Dst: "[java.lang.Enum].ordinal()"
    - Src: "com.drew.metadata.bmp.BmpHeaderDirectory$Compression:297,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.bmp.BmpHeaderDirectory$Compression:297,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.bmp.BmpHeaderDirectory$Compression:297,1"
      Dst: "[java.lang.Enum].toString()"
    - Src: "com.drew.metadata.bmp.BmpHeaderDirectory$Compression:297,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "com.drew.metadata.bmp.BmpHeaderDirectory$Compression:297,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: true
    BBCount: 14
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.bmp.BmpHeaderDescriptor].getRenderingDescription()"
    functionSourceFile: "com.drew.metadata.bmp.BmpHeaderDescriptor"
    linkageType: ""
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionDepth: 3
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.bmp.BmpHeaderDirectory].getRendering()"
    - "[com.drew.metadata.bmp.BmpHeaderDirectory$RenderingHalftoningAlgorithm].toString()"
    functionUses: 1
    ICount: 9
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.drew.metadata.bmp.BmpHeaderDescriptor:105"
      Branch Sides:
      - BranchSide: "com.drew.metadata.bmp.BmpHeaderDescriptor:103"
        BranchSideFuncs:
        - "toString()"
        - "getRendering()"
    Callsites:
    - Src: "com.drew.metadata.bmp.BmpHeaderDescriptor:104,1"
      Dst: "[com.drew.metadata.bmp.BmpHeaderDirectory].getRendering()"
    - Src: "com.drew.metadata.bmp.BmpHeaderDescriptor:105,1"
      Dst: "[com.drew.metadata.bmp.BmpHeaderDirectory$RenderingHalftoningAlgorithm].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: 4
    CyclomaticComplexity: 2
  - functionName: "[com.drew.metadata.bmp.BmpHeaderDirectory$RenderingHalftoningAlgorithm].toString()"
    functionSourceFile: "com.drew.metadata.bmp.BmpHeaderDirectory$RenderingHalftoningAlgorithm"
    linkageType: ""
    functionLinenumber: 340
    functionLinenumberEnd: 352
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].ordinal()"
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.Enum].toString()"
    functionUses: 15
    ICount: 18
    EdgeCount: 7
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.bmp.BmpHeaderDirectory$RenderingHalftoningAlgorithm:341,1"
      Dst: "[java.lang.Enum].ordinal()"
    - Src: "com.drew.metadata.bmp.BmpHeaderDirectory$RenderingHalftoningAlgorithm:351,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.bmp.BmpHeaderDirectory$RenderingHalftoningAlgorithm:351,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.bmp.BmpHeaderDirectory$RenderingHalftoningAlgorithm:351,1"
      Dst: "[java.lang.Enum].toString()"
    - Src: "com.drew.metadata.bmp.BmpHeaderDirectory$RenderingHalftoningAlgorithm:351,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "com.drew.metadata.bmp.BmpHeaderDirectory$RenderingHalftoningAlgorithm:351,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: true
    BBCount: 6
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.bmp.BmpHeaderDescriptor].getColorEncodingDescription()"
    functionSourceFile: "com.drew.metadata.bmp.BmpHeaderDescriptor"
    linkageType: ""
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.bmp.BmpHeaderDirectory].getColorEncoding()"
    - "[java.lang.Enum].toString()"
    functionUses: 1
    ICount: 9
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.drew.metadata.bmp.BmpHeaderDescriptor:112"
      Branch Sides:
      - BranchSide: "com.drew.metadata.bmp.BmpHeaderDescriptor:110"
        BranchSideFuncs:
        - "toString()"
        - "getColorEncoding()"
    Callsites:
    - Src: "com.drew.metadata.bmp.BmpHeaderDescriptor:111,1"
      Dst: "[com.drew.metadata.bmp.BmpHeaderDirectory].getColorEncoding()"
    - Src: "com.drew.metadata.bmp.BmpHeaderDescriptor:112,1"
      Dst: "[java.lang.Enum].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: 4
    CyclomaticComplexity: 2
  - functionName: "[com.drew.metadata.bmp.BmpHeaderDescriptor].formatHex(java.lang.Long,int)"
    functionSourceFile: "com.drew.metadata.bmp.BmpHeaderDescriptor"
    linkageType: ""
    functionLinenumber: 140
    functionLinenumberEnd: 142
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 2
    argTypes:
    - "java.lang.Long"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.bmp.BmpHeaderDescriptor].formatHex(long,int)"
    - "[java.lang.Long].longValue()"
    functionUses: 1
    ICount: 8
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.drew.metadata.bmp.BmpHeaderDescriptor:141"
      Branch Sides:
      - BranchSide: "com.drew.metadata.bmp.BmpHeaderDescriptor:140"
        BranchSideFuncs:
        - "formatHex(long,int)"
        - "longValue()"
    Callsites:
    - Src: "com.drew.metadata.bmp.BmpHeaderDescriptor:141,1"
      Dst: "[java.lang.Long].longValue()"
    - Src: "com.drew.metadata.bmp.BmpHeaderDescriptor:141,1"
      Dst: "[com.drew.metadata.bmp.BmpHeaderDescriptor].formatHex(long,int)"
    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: "[com.drew.metadata.bmp.BmpHeaderDescriptor].formatHex(long,int)"
    functionSourceFile: "com.drew.metadata.bmp.BmpHeaderDescriptor"
    linkageType: ""
    functionLinenumber: 145
    functionLinenumberEnd: 147
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 2
    argTypes:
    - "long"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(int)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.Long].valueOf(long)"
    functionUses: 1
    ICount: 13
    EdgeCount: 7
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.bmp.BmpHeaderDescriptor:146,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.bmp.BmpHeaderDescriptor:146,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.bmp.BmpHeaderDescriptor:146,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    - Src: "com.drew.metadata.bmp.BmpHeaderDescriptor:146,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "com.drew.metadata.bmp.BmpHeaderDescriptor:146,1"
      Dst: "[java.lang.Long].valueOf(long)"
    - Src: "com.drew.metadata.bmp.BmpHeaderDescriptor:146,1"
      Dst: "[java.lang.String].format(java.lang.String,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: "[com.drew.metadata.bmp.BmpHeaderDescriptor].getColorSpaceTypeDescription()"
    functionSourceFile: "com.drew.metadata.bmp.BmpHeaderDescriptor"
    linkageType: ""
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionDepth: 3
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.bmp.BmpHeaderDirectory].getColorSpaceType()"
    - "[com.drew.metadata.bmp.BmpHeaderDirectory$ColorSpaceType].toString()"
    functionUses: 1
    ICount: 9
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.drew.metadata.bmp.BmpHeaderDescriptor:119"
      Branch Sides:
      - BranchSide: "com.drew.metadata.bmp.BmpHeaderDescriptor:117"
        BranchSideFuncs:
        - "getColorSpaceType()"
        - "toString()"
    Callsites:
    - Src: "com.drew.metadata.bmp.BmpHeaderDescriptor:118,1"
      Dst: "[com.drew.metadata.bmp.BmpHeaderDirectory].getColorSpaceType()"
    - Src: "com.drew.metadata.bmp.BmpHeaderDescriptor:119,1"
      Dst: "[com.drew.metadata.bmp.BmpHeaderDirectory$ColorSpaceType].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: 4
    CyclomaticComplexity: 2
  - functionName: "[com.drew.metadata.bmp.BmpHeaderDirectory$ColorSpaceType].toString()"
    functionSourceFile: "com.drew.metadata.bmp.BmpHeaderDirectory$ColorSpaceType"
    linkageType: ""
    functionLinenumber: 416
    functionLinenumberEnd: 430
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].ordinal()"
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.Enum].toString()"
    functionUses: 15
    ICount: 19
    EdgeCount: 7
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.bmp.BmpHeaderDirectory$ColorSpaceType:417,1"
      Dst: "[java.lang.Enum].ordinal()"
    - Src: "com.drew.metadata.bmp.BmpHeaderDirectory$ColorSpaceType:429,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.bmp.BmpHeaderDirectory$ColorSpaceType:429,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.bmp.BmpHeaderDirectory$ColorSpaceType:429,1"
      Dst: "[java.lang.Enum].toString()"
    - Src: "com.drew.metadata.bmp.BmpHeaderDirectory$ColorSpaceType:429,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "com.drew.metadata.bmp.BmpHeaderDirectory$ColorSpaceType:429,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: true
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.bmp.BmpHeaderDescriptor].formatFixed1616(java.lang.Long)"
    functionSourceFile: "com.drew.metadata.bmp.BmpHeaderDescriptor"
    linkageType: ""
    functionLinenumber: 160
    functionLinenumberEnd: 162
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.Long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.bmp.BmpHeaderDescriptor].formatFixed1616(long)"
    - "[java.lang.Long].longValue()"
    functionUses: 1
    ICount: 7
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.drew.metadata.bmp.BmpHeaderDescriptor:161"
      Branch Sides:
      - BranchSide: "com.drew.metadata.bmp.BmpHeaderDescriptor:160"
        BranchSideFuncs:
        - "formatFixed1616(long)"
        - "longValue()"
    Callsites:
    - Src: "com.drew.metadata.bmp.BmpHeaderDescriptor:161,1"
      Dst: "[java.lang.Long].longValue()"
    - Src: "com.drew.metadata.bmp.BmpHeaderDescriptor:161,1"
      Dst: "[com.drew.metadata.bmp.BmpHeaderDescriptor].formatFixed1616(long)"
    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: "[com.drew.metadata.bmp.BmpHeaderDescriptor].formatFixed1616(long)"
    functionSourceFile: "com.drew.metadata.bmp.BmpHeaderDescriptor"
    linkageType: ""
    functionLinenumber: 165
    functionLinenumberEnd: 169
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Double].valueOf(double)"
    - "[java.text.DecimalFormat].<init>(java.lang.String)"
    - "[java.text.Format].format(java.lang.Object)"
    functionUses: 1
    ICount: 8
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.bmp.BmpHeaderDescriptor:166,1"
      Dst: "[java.lang.Double].valueOf(double)"
    - Src: "com.drew.metadata.bmp.BmpHeaderDescriptor:167,1"
      Dst: "[java.text.DecimalFormat].<init>(java.lang.String)"
    - Src: "com.drew.metadata.bmp.BmpHeaderDescriptor:168,1"
      Dst: "[java.text.Format].format(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: "[com.drew.metadata.bmp.BmpHeaderDescriptor].getRenderingIntentDescription()"
    functionSourceFile: "com.drew.metadata.bmp.BmpHeaderDescriptor"
    linkageType: ""
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionDepth: 3
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.bmp.BmpHeaderDirectory].getRenderingIntent()"
    - "[com.drew.metadata.bmp.BmpHeaderDirectory$RenderingIntent].toString()"
    functionUses: 1
    ICount: 9
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.drew.metadata.bmp.BmpHeaderDescriptor:126"
      Branch Sides:
      - BranchSide: "com.drew.metadata.bmp.BmpHeaderDescriptor:124"
        BranchSideFuncs:
        - "toString()"
        - "getRenderingIntent()"
    Callsites:
    - Src: "com.drew.metadata.bmp.BmpHeaderDescriptor:125,1"
      Dst: "[com.drew.metadata.bmp.BmpHeaderDirectory].getRenderingIntent()"
    - Src: "com.drew.metadata.bmp.BmpHeaderDescriptor:126,1"
      Dst: "[com.drew.metadata.bmp.BmpHeaderDirectory$RenderingIntent].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: 4
    CyclomaticComplexity: 2
  - functionName: "[com.drew.metadata.bmp.BmpHeaderDirectory$RenderingIntent].toString()"
    functionSourceFile: "com.drew.metadata.bmp.BmpHeaderDirectory$RenderingIntent"
    linkageType: ""
    functionLinenumber: 472
    functionLinenumberEnd: 484
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].ordinal()"
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.Enum].toString()"
    functionUses: 15
    ICount: 18
    EdgeCount: 7
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.bmp.BmpHeaderDirectory$RenderingIntent:473,1"
      Dst: "[java.lang.Enum].ordinal()"
    - Src: "com.drew.metadata.bmp.BmpHeaderDirectory$RenderingIntent:483,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.bmp.BmpHeaderDirectory$RenderingIntent:483,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.bmp.BmpHeaderDirectory$RenderingIntent:483,1"
      Dst: "[java.lang.Enum].toString()"
    - Src: "com.drew.metadata.bmp.BmpHeaderDirectory$RenderingIntent:483,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "com.drew.metadata.bmp.BmpHeaderDirectory$RenderingIntent:483,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: true
    BBCount: 6
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.bmp.BmpHeaderDescriptor].formatHex(java.lang.Integer,int)"
    functionSourceFile: "com.drew.metadata.bmp.BmpHeaderDescriptor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 2
    argTypes:
    - "java.lang.Integer"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Integer].intValue()"
    - "[com.drew.metadata.bmp.BmpHeaderDescriptor].formatHex(long,int)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.metadata.bmp.BmpHeaderDescriptor:131"
      Branch Sides:
      - BranchSide: "com.drew.metadata.bmp.BmpHeaderDescriptor:130"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.bmp.BmpHeaderDescriptor:131,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.bmp.BmpHeaderDescriptor:131,1"
      Dst: "[com.drew.metadata.bmp.BmpHeaderDescriptor].formatHex(long,int)"
    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: "[com.drew.metadata.bmp.BmpHeaderDescriptor].formatHex(int,int)"
    functionSourceFile: "com.drew.metadata.bmp.BmpHeaderDescriptor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 2
    argTypes:
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.bmp.BmpHeaderDescriptor].formatHex(long,int)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.bmp.BmpHeaderDescriptor:136,1"
      Dst: "[com.drew.metadata.bmp.BmpHeaderDescriptor].formatHex(long,int)"
    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: "[com.drew.metadata.bmp.BmpHeaderDescriptor].formatFixed1616(java.lang.Integer)"
    functionSourceFile: "com.drew.metadata.bmp.BmpHeaderDescriptor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.Integer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Integer].intValue()"
    - "[com.drew.metadata.bmp.BmpHeaderDescriptor].formatFixed1616(long)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.metadata.bmp.BmpHeaderDescriptor:151"
      Branch Sides:
      - BranchSide: "com.drew.metadata.bmp.BmpHeaderDescriptor:150"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.bmp.BmpHeaderDescriptor:151,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.bmp.BmpHeaderDescriptor:151,1"
      Dst: "[com.drew.metadata.bmp.BmpHeaderDescriptor].formatFixed1616(long)"
    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: "[com.drew.metadata.bmp.BmpHeaderDescriptor].formatFixed1616(int)"
    functionSourceFile: "com.drew.metadata.bmp.BmpHeaderDescriptor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.bmp.BmpHeaderDescriptor].formatFixed1616(long)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.bmp.BmpHeaderDescriptor:156,1"
      Dst: "[com.drew.metadata.bmp.BmpHeaderDescriptor].formatFixed1616(long)"
    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: "[com.drew.metadata.mp4.media.Mp4VideoDirectory].getName()"
    functionSourceFile: "com.drew.metadata.mp4.media.Mp4VideoDirectory"
    linkageType: ""
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.mp4.media.Mp4VideoDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.mp4.media.Mp4VideoDirectory"
    linkageType: ""
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.PanasonicMakernoteDirectory)"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.exif.makernotes.PanasonicMakernoteDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:54,1"
      Dst: "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    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: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getDescription(int)"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 60
    functionLinenumberEnd: 203
    functionDepth: 5
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getQualityModeDescription()"
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getVersionDescription()"
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getWhiteBalanceDescription()"
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getFocusModeDescription()"
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getAfAreaModeDescription()"
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getImageStabilizationDescription()"
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getMacroModeDescription()"
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getRecordModeDescription()"
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getAudioDescription()"
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getUnknownDataDumpDescription()"
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getColorEffectDescription()"
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getUptimeDescription()"
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getBurstModeDescription()"
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getContrastModeDescription()"
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getNoiseReductionDescription()"
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getSelfTimerDescription()"
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getRotationDescription()"
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getAfAssistLampDescription()"
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getColorModeDescription()"
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getOpticalZoomModeDescription()"
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getConversionLensDescription()"
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getContrastDescription()"
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getWorldTimeLocationDescription()"
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getAdvancedSceneModeDescription()"
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getDetectedFacesDescription()"
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getTransformDescription()"
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getTransform1Description()"
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getIntelligentExposureDescription()"
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getFlashWarningDescription()"
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getCountryDescription()"
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getStateDescription()"
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getCityDescription()"
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getLandmarkDescription()"
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getIntelligentResolutionDescription()"
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getRecognizedFacesDescription()"
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getSceneModeDescription()"
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getFlashFiredDescription()"
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getTextStampDescription()"
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getTextStamp1Description()"
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getTextStamp2Description()"
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getTextStamp3Description()"
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getMakernoteVersionDescription()"
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getExifVersionDescription()"
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getInternalSerialNumberDescription()"
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getTitleDescription()"
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getBracketSettingsDescription()"
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getFlashCurtainDescription()"
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getLongExposureNoiseReductionDescription()"
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getBabyNameDescription()"
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getLocationDescription()"
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getLensFirmwareVersionDescription()"
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getIntelligentDRangeDescription()"
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getClearRetouchDescription()"
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getPhotoStyleDescription()"
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getShadingCompensationDescription()"
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getAccelerometerZDescription()"
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getAccelerometerXDescription()"
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getAccelerometerYDescription()"
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getCameraOrientationDescription()"
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getRollAngleDescription()"
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getPitchAngleDescription()"
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getSweepPanoramaDirectionDescription()"
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getTimerRecordingDescription()"
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getHDRDescription()"
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getShutterTypeDescription()"
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getTouchAeDescription()"
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getBabyAgeDescription()"
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getBabyAge1Description()"
    - "[com.drew.metadata.TagDescriptor].getDescription(int)"
    functionUses: 1
    ICount: 141
    EdgeCount: 69
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:63,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getQualityModeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:65,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getVersionDescription()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:67,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getWhiteBalanceDescription()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:69,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getFocusModeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:71,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getAfAreaModeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:73,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getImageStabilizationDescription()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:75,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getMacroModeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:77,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getRecordModeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:79,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getAudioDescription()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:81,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getUnknownDataDumpDescription()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:83,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getColorEffectDescription()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:85,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getUptimeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:87,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getBurstModeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:89,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getContrastModeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:91,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getNoiseReductionDescription()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:93,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getSelfTimerDescription()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:95,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getRotationDescription()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:97,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getAfAssistLampDescription()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:99,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getColorModeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:101,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getOpticalZoomModeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:103,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getConversionLensDescription()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:105,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getContrastDescription()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:107,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getWorldTimeLocationDescription()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:109,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getAdvancedSceneModeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:111,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getDetectedFacesDescription()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:113,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getTransformDescription()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:115,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getTransform1Description()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:117,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getIntelligentExposureDescription()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:119,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getFlashWarningDescription()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:121,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getCountryDescription()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:123,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getStateDescription()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:125,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getCityDescription()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:127,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getLandmarkDescription()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:129,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getIntelligentResolutionDescription()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:131,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getRecognizedFacesDescription()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:133,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getSceneModeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:135,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getFlashFiredDescription()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:137,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getTextStampDescription()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:139,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getTextStamp1Description()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:141,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getTextStamp2Description()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:143,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getTextStamp3Description()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:145,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getMakernoteVersionDescription()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:147,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getExifVersionDescription()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:149,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getInternalSerialNumberDescription()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:151,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getTitleDescription()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:153,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getBracketSettingsDescription()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:155,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getFlashCurtainDescription()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:157,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getLongExposureNoiseReductionDescription()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:159,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getBabyNameDescription()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:161,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getLocationDescription()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:164,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getLensFirmwareVersionDescription()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:166,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getIntelligentDRangeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:168,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getClearRetouchDescription()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:170,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getPhotoStyleDescription()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:172,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getShadingCompensationDescription()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:175,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getAccelerometerZDescription()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:177,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getAccelerometerXDescription()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:179,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getAccelerometerYDescription()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:181,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getCameraOrientationDescription()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:183,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getRollAngleDescription()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:185,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getPitchAngleDescription()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:187,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getSweepPanoramaDirectionDescription()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:189,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getTimerRecordingDescription()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:191,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getHDRDescription()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:193,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getShutterTypeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:195,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getTouchAeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:198,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getBabyAgeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:200,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getBabyAge1Description()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:202,1"
      Dst: "[com.drew.metadata.TagDescriptor].getDescription(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: 70
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getQualityModeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 850
    functionLinenumberEnd: 852
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,java.lang.String[])"
    functionUses: 1
    ICount: 12
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:851,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,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: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getVersionDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 866
    functionLinenumberEnd: 868
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getVersionBytesDescription(int,int)"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:867,1"
      Dst: "[com.drew.metadata.TagDescriptor].getVersionBytesDescription(int,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: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getWhiteBalanceDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 890
    functionLinenumberEnd: 892
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,java.lang.String[])"
    functionUses: 1
    ICount: 16
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:891,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,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: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getFocusModeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 805
    functionLinenumberEnd: 807
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,java.lang.String[])"
    functionUses: 1
    ICount: 9
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:806,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,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: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getAfAreaModeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 812
    functionLinenumberEnd: 845
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getIntArray(int)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(int)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 84
    EdgeCount: 36
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:814"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:815"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:814"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:814"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:816"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:815"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:813,1"
      Dst: "[com.drew.metadata.Directory].getIntArray(int)"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:821,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:821,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:821,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:821,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: 24
    CyclomaticComplexity: 2
  - functionName: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getImageStabilizationDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 244
    functionLinenumberEnd: 246
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,java.lang.String[])"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:245,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,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: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getMacroModeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 232
    functionLinenumberEnd: 234
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,java.lang.String[])"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:233,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,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: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getRecordModeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 793
    functionLinenumberEnd: 795
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,java.lang.String[])"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:794,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,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: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getAudioDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 255
    functionLinenumberEnd: 257
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,java.lang.String[])"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:256,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,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: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getUnknownDataDumpDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 597
    functionLinenumberEnd: 599
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getByteLengthDescription(int)"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:598,1"
      Dst: "[com.drew.metadata.TagDescriptor].getByteLengthDescription(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: "[com.drew.metadata.TagDescriptor].getByteLengthDescription(int)"
    functionSourceFile: "com.drew.metadata.TagDescriptor"
    linkageType: ""
    functionLinenumber: 157
    functionLinenumberEnd: 162
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getByteArray(int)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.lang.Integer].valueOf(int)"
    functionUses: 3
    ICount: 18
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.drew.metadata.TagDescriptor:159"
      Branch Sides:
      - BranchSide: "com.drew.metadata.TagDescriptor:161"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.TagDescriptor:160"
        BranchSideFuncs:
        - "format(java.lang.String,java.lang.Object[])"
        - "valueOf(int)"
    - Branch String: "com.drew.metadata.TagDescriptor:161"
      Branch Sides:
      - BranchSide: "com.drew.metadata.TagDescriptor:160"
        BranchSideFuncs:
        - "format(java.lang.String,java.lang.Object[])"
        - "valueOf(int)"
    Callsites:
    - Src: "com.drew.metadata.TagDescriptor:158,1"
      Dst: "[com.drew.metadata.Directory].getByteArray(int)"
    - Src: "com.drew.metadata.TagDescriptor:161,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.drew.metadata.TagDescriptor:161,1"
      Dst: "[java.lang.String].format(java.lang.String,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: 6
    CyclomaticComplexity: 2
  - functionName: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getColorEffectDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 603
    functionLinenumberEnd: 605
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,java.lang.String[])"
    functionUses: 1
    ICount: 9
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:604,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,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: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getUptimeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 611
    functionLinenumberEnd: 616
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(float)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 15
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:613"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:615"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:614"
        BranchSideFuncs:
        - "<init>()"
        - "intValue()"
        - "append(java.lang.String)"
        - "toString()"
        - "append(float)"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:612,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:615,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:615,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:615,1"
      Dst: "[java.lang.StringBuilder].append(float)"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:615,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:615,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: 3
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getBurstModeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 620
    functionLinenumberEnd: 622
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 9
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:621,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getContrastModeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 628
    functionLinenumberEnd: 643
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 23
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:630"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:632"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:631"
        BranchSideFuncs:
        - "intValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:629,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:632,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:642,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:642,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:642,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:642,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: 12
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getNoiseReductionDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 648
    functionLinenumberEnd: 650
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 9
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:649,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getSelfTimerDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 656
    functionLinenumberEnd: 658
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,java.lang.String[])"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:657,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,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: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getRotationDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 664
    functionLinenumberEnd: 675
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 19
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:666"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:668"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:667"
        BranchSideFuncs:
        - "intValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:665,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:668,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:674,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:674,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:674,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:674,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: 8
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getAfAssistLampDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 680
    functionLinenumberEnd: 682
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,java.lang.String[])"
    functionUses: 1
    ICount: 8
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:681,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,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: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getColorModeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 688
    functionLinenumberEnd: 690
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:689,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getOpticalZoomModeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 696
    functionLinenumberEnd: 698
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,java.lang.String[])"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:697,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,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: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getConversionLensDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 704
    functionLinenumberEnd: 706
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,java.lang.String[])"
    functionUses: 1
    ICount: 8
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:705,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,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: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getContrastDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 562
    functionLinenumberEnd: 564
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:563,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getWorldTimeLocationDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 568
    functionLinenumberEnd: 570
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,java.lang.String[])"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:569,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,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: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getAdvancedSceneModeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 575
    functionLinenumberEnd: 577
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,java.lang.String[])"
    functionUses: 1
    ICount: 18
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:576,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,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: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getDetectedFacesDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 712
    functionLinenumberEnd: 714
    functionDepth: 4
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].buildFacesDescription(com.drew.metadata.Face[])"
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDirectory].getDetectedFaces()"
    functionUses: 1
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:713,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDirectory].getDetectedFaces()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:713,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].buildFacesDescription(com.drew.metadata.Face[])"
    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: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDirectory].getDetectedFaces()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDirectory"
    linkageType: ""
    functionLinenumber: 635
    functionLinenumberEnd: 661
    functionDepth: 2
    returnType: "com.drew.metadata.Face[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getByteArray(int)"
    - "[com.drew.lang.ByteArrayReader].<init>(byte[])"
    - "[com.drew.lang.RandomAccessReader].setMotorolaByteOrder(boolean)"
    - "[com.drew.lang.RandomAccessReader].getUInt16(int)"
    - "[com.drew.metadata.Face].<init>(int,int,int,int,java.lang.String,com.drew.metadata.Age)"
    functionUses: 1
    ICount: 30
    EdgeCount: 9
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDirectory:637"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDirectory:640"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDirectory:639"
        BranchSideFuncs:
        - "setMotorolaByteOrder(boolean)"
        - "<init>(byte[])"
    - Branch String: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDirectory:645"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDirectory:647"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDirectory:646"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDirectory:649"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDirectory:658"
        BranchSideFuncs:
        - "<init>(int,int,int,int,java.lang.String,com.drew.metadata.Age)"
        - "getUInt16(int)"
        - "setMotorolaByteOrder(boolean)"
        - "<init>(byte[])"
      - BranchSide: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDirectory:657"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDirectory:636,1"
      Dst: "[com.drew.metadata.Directory].getByteArray(int)"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDirectory:640,1"
      Dst: "[com.drew.lang.ByteArrayReader].<init>(byte[])"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDirectory:641,1"
      Dst: "[com.drew.lang.RandomAccessReader].setMotorolaByteOrder(boolean)"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDirectory:644,1"
      Dst: "[com.drew.lang.RandomAccessReader].getUInt16(int)"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDirectory:655,1"
      Dst: "[com.drew.metadata.Face].<init>(int,int,int,int,java.lang.String,com.drew.metadata.Age)"
    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: 1
  - functionName: "[com.drew.metadata.Face].<init>(int,int,int,int,java.lang.String,com.drew.metadata.Age)"
    functionSourceFile: "com.drew.metadata.Face"
    linkageType: ""
    functionLinenumber: 46
    functionLinenumberEnd: 55
    functionDepth: 0
    returnType: "void"
    argCount: 6
    argTypes:
    - "int"
    - "int"
    - "int"
    - "int"
    - "java.lang.String"
    - "com.drew.metadata.Age"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 2
    ICount: 15
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.Face:47,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: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].buildFacesDescription(com.drew.metadata.Face[])"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 724
    functionLinenumberEnd: 734
    functionDepth: 3
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "com.drew.metadata.Face[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(int)"
    - "[com.drew.metadata.Face].toString()"
    - "[java.lang.StringBuilder].length()"
    - "[java.lang.StringBuilder].substring(int,int)"
    functionUses: 2
    ICount: 27
    EdgeCount: 10
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:725"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:728"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:727"
        BranchSideFuncs:
        - "<init>()"
    - Branch String: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:730"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:732"
        BranchSideFuncs:
        - "length()"
        - "substring(int,int)"
    - Branch String: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:733"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:732"
        BranchSideFuncs:
        - "length()"
        - "substring(int,int)"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:728,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:731,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:731,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:731,1"
      Dst: "[com.drew.metadata.Face].toString()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:733,1"
      Dst: "[java.lang.StringBuilder].length()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:733,1"
      Dst: "[java.lang.StringBuilder].substring(int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 9
    CyclomaticComplexity: 3
  - functionName: "[com.drew.metadata.Face].toString()"
    functionSourceFile: "com.drew.metadata.Face"
    linkageType: ""
    functionLinenumber: 121
    functionLinenumberEnd: 132
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(int)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[com.drew.metadata.Age].toFriendlyString()"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 15
    ICount: 28
    EdgeCount: 11
    BranchProfiles:
    - Branch String: "com.drew.metadata.Face:127"
      Branch Sides:
      - BranchSide: "com.drew.metadata.Face:129"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.Face:128"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.Face:129"
      Branch Sides:
      - BranchSide: "com.drew.metadata.Face:131"
        BranchSideFuncs:
        - "toFriendlyString()"
        - "append(java.lang.String)"
      - BranchSide: "com.drew.metadata.Face:130"
        BranchSideFuncs:
        - "toString()"
    Callsites:
    - Src: "com.drew.metadata.Face:122,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.Face:123,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.Face:123,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    - Src: "com.drew.metadata.Face:130,1"
      Dst: "[com.drew.metadata.Age].toFriendlyString()"
    - Src: "com.drew.metadata.Face:131,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: 5
    CyclomaticComplexity: 3
  - functionName: "[com.drew.metadata.Age].toFriendlyString()"
    functionSourceFile: "com.drew.metadata.Age"
    linkageType: ""
    functionLinenumber: 119
    functionLinenumberEnd: 128
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[com.drew.metadata.Age].appendAgePart(java.lang.StringBuilder,int,java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 3
    ICount: 17
    EdgeCount: 8
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.Age:120,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.Age:121,1"
      Dst: "[com.drew.metadata.Age].appendAgePart(java.lang.StringBuilder,int,java.lang.String)"
    - Src: "com.drew.metadata.Age:127,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: "[com.drew.metadata.Age].appendAgePart(java.lang.StringBuilder,int,java.lang.String)"
    functionSourceFile: "com.drew.metadata.Age"
    linkageType: ""
    functionLinenumber: 131
    functionLinenumberEnd: 140
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.StringBuilder"
    - "int"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].length()"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(int)"
    functionUses: 6
    ICount: 14
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "com.drew.metadata.Age:132"
      Branch Sides:
      - BranchSide: "com.drew.metadata.Age:134"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.Age:133"
        BranchSideFuncs:
        - "length()"
    - Branch String: "com.drew.metadata.Age:134"
      Branch Sides:
      - BranchSide: "com.drew.metadata.Age:136"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.Age:135"
        BranchSideFuncs:
        - "append(java.lang.String)"
        - "append(int)"
    - Branch String: "com.drew.metadata.Age:137"
      Branch Sides:
      - BranchSide: "com.drew.metadata.Age:139"
        BranchSideFuncs:
        - "append(char)"
      - BranchSide: "com.drew.metadata.Age:138"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.Age:134,1"
      Dst: "[java.lang.StringBuilder].length()"
    - Src: "com.drew.metadata.Age:135,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "com.drew.metadata.Age:136,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    - Src: "com.drew.metadata.Age:136,1"
      Dst: "[java.lang.StringBuilder].append(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: 7
    CyclomaticComplexity: 3
  - functionName: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getTransformDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 261
    functionLinenumberEnd: 263
    functionDepth: 3
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getTransformDescription(int)"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:262,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getTransformDescription(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: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getTransformDescription(int)"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 273
    functionLinenumberEnd: 299
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getByteArray(int)"
    - "[com.drew.lang.ByteArrayReader].<init>(byte[])"
    - "[com.drew.lang.RandomAccessReader].getUInt16(int)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(int)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 2
    ICount: 39
    EdgeCount: 11
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:275"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:278"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:277"
        BranchSideFuncs:
        - "getUInt16(int)"
        - "<init>(byte[])"
    - Branch String: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:285"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:null"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:285"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:null"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:287"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:289"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:288"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:287"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:289"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:288"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:289"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:291"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:290"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:289"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:291"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:290"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:291"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:293"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:292"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:291"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:293"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:292"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:293"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:296"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:295"
        BranchSideFuncs:
        - "<init>()"
        - "append(java.lang.String)"
        - "toString()"
        - "append(int)"
    - Branch String: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:293"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:296"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:295"
        BranchSideFuncs:
        - "<init>()"
        - "append(java.lang.String)"
        - "toString()"
        - "append(int)"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:274,1"
      Dst: "[com.drew.metadata.Directory].getByteArray(int)"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:278,1"
      Dst: "[com.drew.lang.ByteArrayReader].<init>(byte[])"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:282,1"
      Dst: "[com.drew.lang.RandomAccessReader].getUInt16(int)"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:296,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:296,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:296,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:296,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 19
    CyclomaticComplexity: 5
  - functionName: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getTransform1Description()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 267
    functionLinenumberEnd: 269
    functionDepth: 3
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getTransformDescription(int)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:268,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getTransformDescription(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: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getIntelligentExposureDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 304
    functionLinenumberEnd: 306
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 8
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:305,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getFlashWarningDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 311
    functionLinenumberEnd: 313
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:312,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getCountryDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 324
    functionLinenumberEnd: 326
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getStringFromBytes(int,java.nio.charset.Charset)"
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].trim(java.lang.String)"
    functionUses: 1
    ICount: 5
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:325,1"
      Dst: "[com.drew.metadata.TagDescriptor].getStringFromBytes(int,java.nio.charset.Charset)"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:325,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].trim(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: "[com.drew.metadata.TagDescriptor].getStringFromBytes(int,java.nio.charset.Charset)"
    functionSourceFile: "com.drew.metadata.TagDescriptor"
    linkageType: ""
    functionLinenumber: 274
    functionLinenumberEnd: 284
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 2
    argTypes:
    - "int"
    - "java.nio.charset.Charset"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getByteArray(int)"
    - "[java.lang.String].<init>(byte[],java.lang.String)"
    - "[java.nio.charset.Charset].name()"
    - "[java.lang.String].trim()"
    functionUses: 7
    ICount: 14
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.drew.metadata.TagDescriptor:277"
      Branch Sides:
      - BranchSide: "com.drew.metadata.TagDescriptor:281"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.TagDescriptor:280"
        BranchSideFuncs:
        - "name()"
        - "<init>(byte[],java.lang.String)"
        - "trim()"
    Callsites:
    - Src: "com.drew.metadata.TagDescriptor:275,1"
      Dst: "[com.drew.metadata.Directory].getByteArray(int)"
    - Src: "com.drew.metadata.TagDescriptor:281,1"
      Dst: "[java.nio.charset.Charset].name()"
    - Src: "com.drew.metadata.TagDescriptor:281,1"
      Dst: "[java.lang.String].<init>(byte[],java.lang.String)"
    - Src: "com.drew.metadata.TagDescriptor:281,1"
      Dst: "[java.lang.String].trim()"
    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: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].trim(java.lang.String)"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 318
    functionLinenumberEnd: 320
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].trim()"
    functionUses: 7
    ICount: 6
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:319"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:318"
        BranchSideFuncs:
        - "trim()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:319,1"
      Dst: "[java.lang.String].trim()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getStateDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 330
    functionLinenumberEnd: 332
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getStringFromBytes(int,java.nio.charset.Charset)"
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].trim(java.lang.String)"
    functionUses: 1
    ICount: 5
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:331,1"
      Dst: "[com.drew.metadata.TagDescriptor].getStringFromBytes(int,java.nio.charset.Charset)"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:331,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].trim(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: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getCityDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 336
    functionLinenumberEnd: 338
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getStringFromBytes(int,java.nio.charset.Charset)"
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].trim(java.lang.String)"
    functionUses: 1
    ICount: 5
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:337,1"
      Dst: "[com.drew.metadata.TagDescriptor].getStringFromBytes(int,java.nio.charset.Charset)"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:337,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].trim(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: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getLandmarkDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 342
    functionLinenumberEnd: 344
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getStringFromBytes(int,java.nio.charset.Charset)"
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].trim(java.lang.String)"
    functionUses: 1
    ICount: 5
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:343,1"
      Dst: "[com.drew.metadata.TagDescriptor].getStringFromBytes(int,java.nio.charset.Charset)"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:343,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].trim(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: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getIntelligentResolutionDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 555
    functionLinenumberEnd: 557
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 8
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:556,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getRecognizedFacesDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 718
    functionLinenumberEnd: 720
    functionDepth: 4
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].buildFacesDescription(com.drew.metadata.Face[])"
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDirectory].getRecognizedFaces()"
    functionUses: 1
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:719,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDirectory].getRecognizedFaces()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:719,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].buildFacesDescription(com.drew.metadata.Face[])"
    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: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDirectory].getRecognizedFaces()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDirectory"
    linkageType: ""
    functionLinenumber: 666
    functionLinenumberEnd: 695
    functionDepth: 2
    returnType: "com.drew.metadata.Face[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getByteArray(int)"
    - "[com.drew.lang.ByteArrayReader].<init>(byte[])"
    - "[com.drew.lang.RandomAccessReader].setMotorolaByteOrder(boolean)"
    - "[com.drew.lang.RandomAccessReader].getUInt16(int)"
    - "[com.drew.lang.RandomAccessReader].getString(int,int,java.lang.String)"
    - "[java.lang.String].trim()"
    - "[com.drew.metadata.Face].<init>(int,int,int,int,java.lang.String,com.drew.metadata.Age)"
    - "[com.drew.metadata.Age].fromPanasonicString(java.lang.String)"
    functionUses: 1
    ICount: 37
    EdgeCount: 14
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDirectory:668"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDirectory:671"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDirectory:670"
        BranchSideFuncs:
        - "setMotorolaByteOrder(boolean)"
        - "<init>(byte[])"
    - Branch String: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDirectory:676"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDirectory:678"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDirectory:677"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDirectory:680"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDirectory:692"
        BranchSideFuncs:
        - "<init>(int,int,int,int,java.lang.String,com.drew.metadata.Age)"
        - "fromPanasonicString(java.lang.String)"
        - "getUInt16(int)"
        - "setMotorolaByteOrder(boolean)"
        - "<init>(byte[])"
        - "trim()"
        - "getString(int,int,java.lang.String)"
      - BranchSide: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDirectory:691"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDirectory:667,1"
      Dst: "[com.drew.metadata.Directory].getByteArray(int)"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDirectory:671,1"
      Dst: "[com.drew.lang.ByteArrayReader].<init>(byte[])"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDirectory:672,1"
      Dst: "[com.drew.lang.RandomAccessReader].setMotorolaByteOrder(boolean)"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDirectory:675,1"
      Dst: "[com.drew.lang.RandomAccessReader].getUInt16(int)"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDirectory:682,1"
      Dst: "[com.drew.lang.RandomAccessReader].getString(int,int,java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDirectory:682,1"
      Dst: "[java.lang.String].trim()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDirectory:690,1"
      Dst: "[com.drew.metadata.Age].fromPanasonicString(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDirectory:690,1"
      Dst: "[com.drew.metadata.Face].<init>(int,int,int,int,java.lang.String,com.drew.metadata.Age)"
    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: 1
  - functionName: "[com.drew.metadata.Age].fromPanasonicString(java.lang.String)"
    functionSourceFile: "com.drew.metadata.Age"
    linkageType: ""
    functionLinenumber: 52
    functionLinenumberEnd: 69
    functionDepth: 1
    returnType: "com.drew.metadata.Age"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].length()"
    - "[java.lang.String].startsWith(java.lang.String)"
    - "[java.lang.Integer].parseInt(java.lang.String)"
    - "[java.lang.String].substring(int,int)"
    - "[com.drew.metadata.Age].<init>(int,int,int,int,int,int)"
    functionUses: 2
    ICount: 23
    EdgeCount: 15
    BranchProfiles:
    - Branch String: "com.drew.metadata.Age:53"
      Branch Sides:
      - BranchSide: "com.drew.metadata.Age:54"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.Age:53"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.Age:53"
      Branch Sides:
      - BranchSide: "com.drew.metadata.Age:57"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.Age:56"
        BranchSideFuncs:
        - "parseInt(java.lang.String)"
        - "<init>(int,int,int,int,int,int)"
        - "substring(int,int)"
    Callsites:
    - Src: "com.drew.metadata.Age:53,1"
      Dst: "[java.lang.String].length()"
    - Src: "com.drew.metadata.Age:53,1"
      Dst: "[java.lang.String].startsWith(java.lang.String)"
    - Src: "com.drew.metadata.Age:57,1"
      Dst: "[java.lang.String].substring(int,int)"
    - Src: "com.drew.metadata.Age:57,1"
      Dst: "[java.lang.Integer].parseInt(java.lang.String)"
    - Src: "com.drew.metadata.Age:64,1"
      Dst: "[com.drew.metadata.Age].<init>(int,int,int,int,int,int)"
    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: 1
  - functionName: "[com.drew.metadata.Age].<init>(int,int,int,int,int,int)"
    functionSourceFile: "com.drew.metadata.Age"
    linkageType: ""
    functionLinenumber: 72
    functionLinenumberEnd: 81
    functionDepth: 0
    returnType: "void"
    argCount: 6
    argTypes:
    - "int"
    - "int"
    - "int"
    - "int"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 15
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.Age:73,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: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getSceneModeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 799
    functionLinenumberEnd: 801
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,java.lang.String[])"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:800,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,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: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getFlashFiredDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 238
    functionLinenumberEnd: 240
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,java.lang.String[])"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:239,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,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: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getTextStampDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 208
    functionLinenumberEnd: 210
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,java.lang.String[])"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:209,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,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: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getTextStamp1Description()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 214
    functionLinenumberEnd: 216
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,java.lang.String[])"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:215,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,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: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getTextStamp2Description()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 220
    functionLinenumberEnd: 222
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,java.lang.String[])"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:221,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,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: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getTextStamp3Description()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 226
    functionLinenumberEnd: 228
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,java.lang.String[])"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:227,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,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: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getMakernoteVersionDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 872
    functionLinenumberEnd: 874
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getVersionBytesDescription(int,int)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:873,1"
      Dst: "[com.drew.metadata.TagDescriptor].getVersionBytesDescription(int,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: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getExifVersionDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 878
    functionLinenumberEnd: 880
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getVersionBytesDescription(int,int)"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:879,1"
      Dst: "[com.drew.metadata.TagDescriptor].getVersionBytesDescription(int,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: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getInternalSerialNumberDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 884
    functionLinenumberEnd: 886
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].get7BitStringFromBytes(int)"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:885,1"
      Dst: "[com.drew.metadata.TagDescriptor].get7BitStringFromBytes(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: "[com.drew.metadata.TagDescriptor].get7BitStringFromBytes(int)"
    functionSourceFile: "com.drew.metadata.TagDescriptor"
    linkageType: ""
    functionLinenumber: 254
    functionLinenumberEnd: 270
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getByteArray(int)"
    - "[java.lang.String].<init>(byte[],int,int)"
    functionUses: 1
    ICount: 23
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.drew.metadata.TagDescriptor:257"
      Branch Sides:
      - BranchSide: "com.drew.metadata.TagDescriptor:260"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.TagDescriptor:259"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.TagDescriptor:261"
      Branch Sides:
      - BranchSide: "com.drew.metadata.TagDescriptor:269"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.TagDescriptor:268"
        BranchSideFuncs:
        - "<init>(byte[],int,int)"
    - Branch String: "com.drew.metadata.TagDescriptor:263"
      Branch Sides:
      - BranchSide: "com.drew.metadata.TagDescriptor:264"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.TagDescriptor:263"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.TagDescriptor:263"
      Branch Sides:
      - BranchSide: "com.drew.metadata.TagDescriptor:260"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.TagDescriptor:259"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.TagDescriptor:255,1"
      Dst: "[com.drew.metadata.Directory].getByteArray(int)"
    - Src: "com.drew.metadata.TagDescriptor:269,1"
      Dst: "[java.lang.String].<init>(byte[],int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 9
    CyclomaticComplexity: 4
  - functionName: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getTitleDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 348
    functionLinenumberEnd: 350
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getStringFromBytes(int,java.nio.charset.Charset)"
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].trim(java.lang.String)"
    functionUses: 1
    ICount: 5
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:349,1"
      Dst: "[com.drew.metadata.TagDescriptor].getStringFromBytes(int,java.nio.charset.Charset)"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:349,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].trim(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: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getBracketSettingsDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 354
    functionLinenumberEnd: 356
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 11
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:355,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getFlashCurtainDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 362
    functionLinenumberEnd: 364
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:363,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getLongExposureNoiseReductionDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 369
    functionLinenumberEnd: 371
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,java.lang.String[])"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:370,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,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: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getBabyNameDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 543
    functionLinenumberEnd: 545
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getStringFromBytes(int,java.nio.charset.Charset)"
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].trim(java.lang.String)"
    functionUses: 1
    ICount: 5
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:544,1"
      Dst: "[com.drew.metadata.TagDescriptor].getStringFromBytes(int,java.nio.charset.Charset)"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:544,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].trim(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: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getLocationDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 549
    functionLinenumberEnd: 551
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getStringFromBytes(int,java.nio.charset.Charset)"
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].trim(java.lang.String)"
    functionUses: 1
    ICount: 5
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:550,1"
      Dst: "[com.drew.metadata.TagDescriptor].getStringFromBytes(int,java.nio.charset.Charset)"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:550,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].trim(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: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getLensFirmwareVersionDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 377
    functionLinenumberEnd: 389
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getByteArray(int)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(int)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 22
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:379"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:382"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:381"
        BranchSideFuncs:
        - "<init>()"
    - Branch String: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:383"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:388"
        BranchSideFuncs:
        - "append(int)"
      - BranchSide: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:387"
        BranchSideFuncs:
        - "toString()"
    - Branch String: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:385"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:382"
        BranchSideFuncs:
        - "append(java.lang.String)"
      - BranchSide: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:381"
        BranchSideFuncs:
        - "<init>()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:378,1"
      Dst: "[com.drew.metadata.Directory].getByteArray(int)"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:382,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:384,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:386,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:388,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: 8
    CyclomaticComplexity: 3
  - functionName: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getIntelligentDRangeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 394
    functionLinenumberEnd: 396
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 8
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:395,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getClearRetouchDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 401
    functionLinenumberEnd: 403
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:402,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getPhotoStyleDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 409
    functionLinenumberEnd: 411
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 11
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:410,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getShadingCompensationDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 416
    functionLinenumberEnd: 418
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:417,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getAccelerometerZDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 423
    functionLinenumberEnd: 430
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].shortValue()"
    - "[java.lang.String].valueOf(int)"
    functionUses: 1
    ICount: 10
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:425"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:429"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:428"
        BranchSideFuncs:
        - "shortValue()"
        - "valueOf(int)"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:424,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:429,1"
      Dst: "[java.lang.Integer].shortValue()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:429,1"
      Dst: "[java.lang.String].valueOf(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: 3
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getAccelerometerXDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 434
    functionLinenumberEnd: 441
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].shortValue()"
    - "[java.lang.String].valueOf(int)"
    functionUses: 1
    ICount: 10
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:436"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:440"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:439"
        BranchSideFuncs:
        - "shortValue()"
        - "valueOf(int)"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:435,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:440,1"
      Dst: "[java.lang.Integer].shortValue()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:440,1"
      Dst: "[java.lang.String].valueOf(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: 3
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getAccelerometerYDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 445
    functionLinenumberEnd: 452
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].shortValue()"
    - "[java.lang.String].valueOf(int)"
    functionUses: 1
    ICount: 10
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:447"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:451"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:450"
        BranchSideFuncs:
        - "shortValue()"
        - "valueOf(int)"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:446,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:451,1"
      Dst: "[java.lang.Integer].shortValue()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:451,1"
      Dst: "[java.lang.String].valueOf(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: 3
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getCameraOrientationDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 456
    functionLinenumberEnd: 458
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 10
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:457,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getRollAngleDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 463
    functionLinenumberEnd: 471
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.text.DecimalFormat].<init>(java.lang.String)"
    - "[java.text.NumberFormat].format(double)"
    - "[java.lang.Integer].shortValue()"
    functionUses: 1
    ICount: 13
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:465"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:468"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:467"
        BranchSideFuncs:
        - "format(double)"
        - "shortValue()"
        - "<init>(java.lang.String)"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:464,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:468,1"
      Dst: "[java.text.DecimalFormat].<init>(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:470,1"
      Dst: "[java.lang.Integer].shortValue()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:470,1"
      Dst: "[java.text.NumberFormat].format(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: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getPitchAngleDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 475
    functionLinenumberEnd: 483
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.text.DecimalFormat].<init>(java.lang.String)"
    - "[java.text.NumberFormat].format(double)"
    - "[java.lang.Integer].shortValue()"
    functionUses: 1
    ICount: 15
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:477"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:480"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:479"
        BranchSideFuncs:
        - "format(double)"
        - "shortValue()"
        - "<init>(java.lang.String)"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:476,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:480,1"
      Dst: "[java.text.DecimalFormat].<init>(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:482,1"
      Dst: "[java.lang.Integer].shortValue()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:482,1"
      Dst: "[java.text.NumberFormat].format(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: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getSweepPanoramaDirectionDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 487
    functionLinenumberEnd: 489
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 9
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:488,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getTimerRecordingDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 494
    functionLinenumberEnd: 496
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:495,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getHDRDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 501
    functionLinenumberEnd: 524
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    functionUses: 1
    ICount: 19
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:503"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:506"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:505"
        BranchSideFuncs:
        - "intValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:502,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:506,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:523,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: 11
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getShutterTypeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 529
    functionLinenumberEnd: 531
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:530,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getTouchAeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 536
    functionLinenumberEnd: 538
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:537,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getBabyAgeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 910
    functionLinenumberEnd: 913
    functionDepth: 3
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDirectory].getAge(int)"
    - "[com.drew.metadata.Age].toFriendlyString()"
    functionUses: 1
    ICount: 9
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:912"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:910"
        BranchSideFuncs:
        - "toFriendlyString()"
        - "getAge(int)"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:911,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDirectory].getAge(int)"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:912,1"
      Dst: "[com.drew.metadata.Age].toFriendlyString()"
    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: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDirectory].getAge(int)"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDirectory"
    linkageType: ""
    functionLinenumber: 705
    functionLinenumberEnd: 710
    functionDepth: 2
    returnType: "com.drew.metadata.Age"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getString(int)"
    - "[com.drew.metadata.Age].fromPanasonicString(java.lang.String)"
    functionUses: 2
    ICount: 7
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDirectory:707"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDirectory:709"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDirectory:708"
        BranchSideFuncs:
        - "fromPanasonicString(java.lang.String)"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDirectory:706,1"
      Dst: "[com.drew.metadata.Directory].getString(int)"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDirectory:709,1"
      Dst: "[com.drew.metadata.Age].fromPanasonicString(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: 3
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].getBabyAge1Description()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 917
    functionLinenumberEnd: 920
    functionDepth: 3
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDirectory].getAge(int)"
    - "[com.drew.metadata.Age].toFriendlyString()"
    functionUses: 1
    ICount: 10
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:919"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:917"
        BranchSideFuncs:
        - "toFriendlyString()"
        - "getAge(int)"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:918,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDirectory].getAge(int)"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor:919,1"
      Dst: "[com.drew.metadata.Age].toFriendlyString()"
    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: "[com.drew.metadata.heif.boxes.ImageRotationBox].<init>(com.drew.lang.SequentialReader,com.drew.metadata.heif.boxes.Box)"
    functionSourceFile: "com.drew.metadata.heif.boxes.ImageRotationBox"
    linkageType: ""
    functionLinenumber: 16
    functionLinenumberEnd: 22
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "com.drew.metadata.heif.boxes.Box"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.heif.boxes.Box].<init>(com.drew.metadata.heif.boxes.Box)"
    - "[com.drew.lang.SequentialReader].getUInt8()"
    functionUses: 1
    ICount: 9
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.heif.boxes.ImageRotationBox:17,1"
      Dst: "[com.drew.metadata.heif.boxes.Box].<init>(com.drew.metadata.heif.boxes.Box)"
    - Src: "com.drew.metadata.heif.boxes.ImageRotationBox:20,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt8()"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.heif.boxes.ImageRotationBox].addMetadata(com.drew.metadata.heif.HeifDirectory)"
    functionSourceFile: "com.drew.metadata.heif.boxes.ImageRotationBox"
    linkageType: ""
    functionLinenumber: 24
    functionLinenumberEnd: 29
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.heif.HeifDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].containsTag(int)"
    - "[com.drew.metadata.Directory].setInt(int,int)"
    functionUses: 1
    ICount: 7
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.drew.metadata.heif.boxes.ImageRotationBox:25"
      Branch Sides:
      - BranchSide: "com.drew.metadata.heif.boxes.ImageRotationBox:28"
        BranchSideFuncs:
        - "setInt(int,int)"
      - BranchSide: "com.drew.metadata.heif.boxes.ImageRotationBox:27"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.heif.boxes.ImageRotationBox:25,1"
      Dst: "[com.drew.metadata.Directory].containsTag(int)"
    - Src: "com.drew.metadata.heif.boxes.ImageRotationBox:26,1"
      Dst: "[com.drew.metadata.Directory].setInt(int,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: 3
    CyclomaticComplexity: 2
  - functionName: "[com.drew.imaging.quicktime.QuickTimeReader].<init>()"
    functionSourceFile: "com.drew.imaging.quicktime.QuickTimeReader"
    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: "com.drew.imaging.quicktime.QuickTimeReader:36,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: "[com.drew.imaging.quicktime.QuickTimeReader].extract(java.io.InputStream,com.drew.imaging.quicktime.QuickTimeHandler<?>)"
    functionSourceFile: "com.drew.imaging.quicktime.QuickTimeReader"
    linkageType: ""
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.io.InputStream"
    - "com.drew.imaging.quicktime.QuickTimeHandler<?>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.StreamReader].<init>(java.io.InputStream)"
    - "[com.drew.lang.SequentialReader].setMotorolaByteOrder(boolean)"
    - "[com.drew.metadata.mov.QuickTimeContext].<init>()"
    - "[com.drew.imaging.quicktime.QuickTimeReader].processAtoms(com.drew.lang.StreamReader,long,com.drew.imaging.quicktime.QuickTimeHandler,com.drew.metadata.mov.QuickTimeContext)"
    functionUses: 1
    ICount: 9
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.quicktime.QuickTimeReader:40,1"
      Dst: "[com.drew.lang.StreamReader].<init>(java.io.InputStream)"
    - Src: "com.drew.imaging.quicktime.QuickTimeReader:41,1"
      Dst: "[com.drew.lang.SequentialReader].setMotorolaByteOrder(boolean)"
    - Src: "com.drew.imaging.quicktime.QuickTimeReader:43,1"
      Dst: "[com.drew.metadata.mov.QuickTimeContext].<init>()"
    - Src: "com.drew.imaging.quicktime.QuickTimeReader:45,1"
      Dst: "[com.drew.imaging.quicktime.QuickTimeReader].processAtoms(com.drew.lang.StreamReader,long,com.drew.imaging.quicktime.QuickTimeHandler,com.drew.metadata.mov.QuickTimeContext)"
    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: "[com.drew.metadata.mov.QuickTimeContext].<init>()"
    functionSourceFile: "com.drew.metadata.mov.QuickTimeContext"
    linkageType: ""
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.QuickTimeContext: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: "[com.drew.imaging.quicktime.QuickTimeReader].processAtoms(com.drew.lang.StreamReader,long,com.drew.imaging.quicktime.QuickTimeHandler<?>,com.drew.metadata.mov.QuickTimeContext)"
    functionSourceFile: "com.drew.imaging.quicktime.QuickTimeReader"
    linkageType: ""
    functionLinenumber: 50
    functionLinenumberEnd: 82
    functionDepth: 2
    returnType: "void"
    argCount: 4
    argTypes:
    - "com.drew.lang.StreamReader"
    - "long"
    - "com.drew.imaging.quicktime.QuickTimeHandler<?>"
    - "com.drew.metadata.mov.QuickTimeContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.StreamReader].getPosition()"
    - "[com.drew.metadata.mov.atoms.Atom].<init>(com.drew.lang.SequentialReader)"
    - "[com.drew.imaging.quicktime.QuickTimeHandler].addError(java.lang.String)"
    - "[com.drew.metadata.mov.metadata.QuickTimeDirectoryHandler].shouldAcceptContainer(com.drew.metadata.mov.atoms.Atom)"
    - "[com.drew.metadata.mov.QuickTimeAtomHandler].shouldAcceptContainer(com.drew.metadata.mov.atoms.Atom)"
    - "[com.drew.metadata.mov.metadata.QuickTimeDataHandler].shouldAcceptContainer(com.drew.metadata.mov.atoms.Atom)"
    - "[com.drew.metadata.mov.QuickTimeMetadataHandler].shouldAcceptContainer(com.drew.metadata.mov.atoms.Atom)"
    - "[com.drew.metadata.mov.QuickTimeMediaHandler].shouldAcceptContainer(com.drew.metadata.mov.atoms.Atom)"
    - "[com.drew.imaging.quicktime.QuickTimeReader].processAtoms(com.drew.lang.StreamReader,long,com.drew.imaging.quicktime.QuickTimeHandler,com.drew.metadata.mov.QuickTimeContext)"
    - "[com.drew.imaging.quicktime.QuickTimeHandler].processContainer(com.drew.metadata.mov.atoms.Atom,com.drew.metadata.mov.QuickTimeContext)"
    - "[com.drew.metadata.mov.QuickTimeMediaHandler].shouldAcceptAtom(com.drew.metadata.mov.atoms.Atom)"
    - "[com.drew.metadata.mov.metadata.QuickTimeDataHandler].shouldAcceptAtom(com.drew.metadata.mov.atoms.Atom)"
    - "[com.drew.metadata.mov.QuickTimeAtomHandler].shouldAcceptAtom(com.drew.metadata.mov.atoms.Atom)"
    - "[com.drew.metadata.mov.metadata.QuickTimeDirectoryHandler].shouldAcceptAtom(com.drew.metadata.mov.atoms.Atom)"
    - "[com.drew.metadata.mov.QuickTimeMetadataHandler].shouldAcceptAtom(com.drew.metadata.mov.atoms.Atom)"
    - "[com.drew.lang.StreamReader].getBytes(int)"
    - "[com.drew.metadata.mov.metadata.QuickTimeDataHandler].processAtom(com.drew.metadata.mov.atoms.Atom,byte[],com.drew.metadata.mov.QuickTimeContext)"
    - "[com.drew.metadata.mov.QuickTimeAtomHandler].processAtom(com.drew.metadata.mov.atoms.Atom,byte[],com.drew.metadata.mov.QuickTimeContext)"
    - "[com.drew.metadata.mov.QuickTimeMetadataHandler].processAtom(com.drew.metadata.mov.atoms.Atom,byte[],com.drew.metadata.mov.QuickTimeContext)"
    - "[com.drew.metadata.mov.QuickTimeMediaHandler].processAtom(com.drew.metadata.mov.atoms.Atom,byte[],com.drew.metadata.mov.QuickTimeContext)"
    - "[com.drew.metadata.mov.metadata.QuickTimeDirectoryHandler].processAtom(com.drew.metadata.mov.atoms.Atom,byte[],com.drew.metadata.mov.QuickTimeContext)"
    - "[com.drew.lang.StreamReader].skip(long)"
    - "[java.io.InvalidClassException:java.lang.Throwable:java.nio.file.FileSystemException].getMessage()"
    - "[com.drew.imaging.quicktime.QuickTimeHandler].shouldAcceptContainer(com.drew.metadata.mov.atoms.Atom)"
    - "[com.drew.imaging.quicktime.QuickTimeHandler].shouldAcceptAtom(com.drew.metadata.mov.atoms.Atom)"
    - "[com.drew.imaging.quicktime.QuickTimeHandler].processAtom(com.drew.metadata.mov.atoms.Atom,byte[],com.drew.metadata.mov.QuickTimeContext)"
    - "[java.lang.Throwable].getMessage()"
    functionUses: 2
    ICount: 60
    EdgeCount: 26
    BranchProfiles:
    - Branch String: "com.drew.imaging.quicktime.QuickTimeReader:51"
      Branch Sides:
      - BranchSide: "com.drew.imaging.quicktime.QuickTimeReader:52"
        BranchSideFuncs:
        - "<init>(com.drew.lang.SequentialReader)"
    - Branch String: "com.drew.imaging.quicktime.QuickTimeReader:51"
      Branch Sides:
      - BranchSide: "com.drew.imaging.quicktime.QuickTimeReader:79"
        BranchSideFuncs: []
    - Branch String: "com.drew.imaging.quicktime.QuickTimeReader:58"
      Branch Sides:
      - BranchSide: "com.drew.imaging.quicktime.QuickTimeReader:63"
        BranchSideFuncs: []
      - BranchSide: "com.drew.imaging.quicktime.QuickTimeReader:62"
        BranchSideFuncs: []
    - Branch String: "com.drew.imaging.quicktime.QuickTimeReader:63"
      Branch Sides:
      - BranchSide: "com.drew.imaging.quicktime.QuickTimeReader:68"
        BranchSideFuncs: []
      - BranchSide: "com.drew.imaging.quicktime.QuickTimeReader:67"
        BranchSideFuncs:
        - "shouldAcceptContainer(com.drew.metadata.mov.atoms.Atom)"
    - Branch String: "com.drew.imaging.quicktime.QuickTimeReader:68"
      Branch Sides:
      - BranchSide: "com.drew.imaging.quicktime.QuickTimeReader:70"
        BranchSideFuncs:
        - "getPosition()"
        - "processAtoms(com.drew.lang.StreamReader,long,com.drew.imaging.quicktime.QuickTimeHandler,com.drew.metadata.mov.QuickTimeContext)"
        - "processContainer(com.drew.metadata.mov.atoms.Atom,com.drew.metadata.mov.QuickTimeContext)"
      - BranchSide: "com.drew.imaging.quicktime.QuickTimeReader:69"
        BranchSideFuncs:
        - "shouldAcceptAtom(com.drew.metadata.mov.atoms.Atom)"
    - Branch String: "com.drew.imaging.quicktime.QuickTimeReader:70"
      Branch Sides:
      - BranchSide: "com.drew.imaging.quicktime.QuickTimeReader:72"
        BranchSideFuncs:
        - "getBytes(int)"
        - "processAtom(com.drew.metadata.mov.atoms.Atom,byte[],com.drew.metadata.mov.QuickTimeContext)"
      - BranchSide: "com.drew.imaging.quicktime.QuickTimeReader:71"
        BranchSideFuncs: []
    - Branch String: "com.drew.imaging.quicktime.QuickTimeReader:72"
      Branch Sides:
      - BranchSide: "com.drew.imaging.quicktime.QuickTimeReader:74"
        BranchSideFuncs:
        - "skip(long)"
      - BranchSide: "com.drew.imaging.quicktime.QuickTimeReader:73"
        BranchSideFuncs: []
    - Branch String: "com.drew.imaging.quicktime.QuickTimeReader:74"
      Branch Sides:
      - BranchSide: "com.drew.imaging.quicktime.QuickTimeReader:77"
        BranchSideFuncs: []
      - BranchSide: "com.drew.imaging.quicktime.QuickTimeReader:76"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.imaging.quicktime.QuickTimeReader:51,1"
      Dst: "[com.drew.lang.StreamReader].getPosition()"
    - Src: "com.drew.imaging.quicktime.QuickTimeReader:53,1"
      Dst: "[com.drew.metadata.mov.atoms.Atom].<init>(com.drew.lang.SequentialReader)"
    - Src: "com.drew.imaging.quicktime.QuickTimeReader:59,1"
      Dst: "[com.drew.imaging.quicktime.QuickTimeHandler].addError(java.lang.String)"
    - Src: "com.drew.imaging.quicktime.QuickTimeReader:68,1"
      Dst: "[com.drew.imaging.quicktime.QuickTimeHandler].shouldAcceptContainer(com.drew.metadata.mov.atoms.Atom)"
    - Src: "com.drew.imaging.quicktime.QuickTimeReader:69,1"
      Dst: "[com.drew.imaging.quicktime.QuickTimeHandler].processContainer(com.drew.metadata.mov.atoms.Atom,com.drew.metadata.mov.QuickTimeContext)"
    - Src: "com.drew.imaging.quicktime.QuickTimeReader:69,1"
      Dst: "[com.drew.imaging.quicktime.QuickTimeReader].processAtoms(com.drew.lang.StreamReader,long,com.drew.imaging.quicktime.QuickTimeHandler,com.drew.metadata.mov.QuickTimeContext)"
    - Src: "com.drew.imaging.quicktime.QuickTimeReader:70,1"
      Dst: "[com.drew.imaging.quicktime.QuickTimeHandler].shouldAcceptAtom(com.drew.metadata.mov.atoms.Atom)"
    - Src: "com.drew.imaging.quicktime.QuickTimeReader:71,1"
      Dst: "[com.drew.lang.StreamReader].getBytes(int)"
    - Src: "com.drew.imaging.quicktime.QuickTimeReader:71,1"
      Dst: "[com.drew.imaging.quicktime.QuickTimeHandler].processAtom(com.drew.metadata.mov.atoms.Atom,byte[],com.drew.metadata.mov.QuickTimeContext)"
    - Src: "com.drew.imaging.quicktime.QuickTimeReader:73,1"
      Dst: "[com.drew.lang.StreamReader].skip(long)"
    - Src: "com.drew.imaging.quicktime.QuickTimeReader:79,1"
      Dst: "[java.lang.Throwable].getMessage()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 19
    CyclomaticComplexity: 9
  - functionName: "[com.drew.lang.StreamReader].getPosition()"
    functionSourceFile: "com.drew.lang.StreamReader"
    linkageType: ""
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionDepth: 0
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 26
    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: "[com.drew.lang.StreamReader].getBytes(int)"
    functionSourceFile: "com.drew.lang.StreamReader"
    linkageType: ""
    functionLinenumber: 71
    functionLinenumberEnd: 77
    functionDepth: 1
    returnType: "byte[]"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.StreamReader].getBytes(byte[],int,int)"
    - "[java.io.EOFException].<init>(java.lang.String)"
    functionUses: 30
    ICount: 9
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.lang.StreamReader:73,1"
      Dst: "[com.drew.lang.StreamReader].getBytes(byte[],int,int)"
    - Src: "com.drew.lang.StreamReader:76,1"
      Dst: "[java.io.EOFException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[com.drew.lang.StreamReader].getBytes(byte[],int,int)"
    functionSourceFile: "com.drew.lang.StreamReader"
    linkageType: ""
    functionLinenumber: 83
    functionLinenumberEnd: 95
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "byte[]"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.InputStream].read(byte[],int,int)"
    - "[java.io.BufferedInputStream:java.io.ByteArrayInputStream:java.io.DataInputStream:java.io.FileInputStream:java.io.FilterInputStream:java.io.InputStream$1:java.io.ObjectInputStream:java.io.ObjectInputStream$BlockDataInputStream:java.io.ObjectInputStream$PeekInputStream:java.lang.ProcessImpl$DeferredCloseInputStream:java.util.jar.JarInputStream:java.util.jar.Manifest$FastInputStream:java.util.zip.InflaterInputStream:java.util.zip.ZipInputStream].read(byte[],int,int)"
    - "[java.io.EOFException].<init>(java.lang.String)"
    - "[java.lang.AssertionError].<init>()"
    functionUses: 2
    ICount: 28
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.drew.lang.StreamReader:85"
      Branch Sides:
      - BranchSide: "com.drew.lang.StreamReader:92"
        BranchSideFuncs: []
    - Branch String: "com.drew.lang.StreamReader:88"
      Branch Sides:
      - BranchSide: "com.drew.lang.StreamReader:90"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "com.drew.lang.StreamReader:89"
        BranchSideFuncs:
        - "<init>()"
    - Branch String: "com.drew.lang.StreamReader:91"
      Branch Sides:
      - BranchSide: "com.drew.lang.StreamReader:92"
        BranchSideFuncs: []
      - BranchSide: "com.drew.lang.StreamReader:91"
        BranchSideFuncs: []
    - Branch String: "com.drew.lang.StreamReader:91"
      Branch Sides:
      - BranchSide: "com.drew.lang.StreamReader:92"
        BranchSideFuncs: []
      - BranchSide: "com.drew.lang.StreamReader:91"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.lang.StreamReader:87,1"
      Dst: "[java.io.InputStream].read(byte[],int,int)"
    - Src: "com.drew.lang.StreamReader:89,1"
      Dst: "[java.io.EOFException].<init>(java.lang.String)"
    - Src: "com.drew.lang.StreamReader:91,1"
      Dst: "[java.lang.AssertionError].<init>()"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.lang.StreamReader].skip(long)"
    functionSourceFile: "com.drew.lang.StreamReader"
    linkageType: ""
    functionLinenumber: 98
    functionLinenumberEnd: 107
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[com.drew.lang.StreamReader].skipInternal(long)"
    - "[java.io.EOFException].<init>(java.lang.String)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.lang.Long].valueOf(long)"
    functionUses: 88
    ICount: 21
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "com.drew.lang.StreamReader:99"
      Branch Sides:
      - BranchSide: "com.drew.lang.StreamReader:102"
        BranchSideFuncs: []
      - BranchSide: "com.drew.lang.StreamReader:101"
        BranchSideFuncs:
        - "skipInternal(long)"
    - Branch String: "com.drew.lang.StreamReader:104"
      Branch Sides:
      - BranchSide: "com.drew.lang.StreamReader:106"
        BranchSideFuncs:
        - "format(java.lang.String,java.lang.Object[])"
        - "<init>(java.lang.String)"
        - "valueOf(long)"
      - BranchSide: "com.drew.lang.StreamReader:105"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.lang.StreamReader:100,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.drew.lang.StreamReader:102,1"
      Dst: "[com.drew.lang.StreamReader].skipInternal(long)"
    - Src: "com.drew.lang.StreamReader:105,1"
      Dst: "[java.lang.Long].valueOf(long)"
    - Src: "com.drew.lang.StreamReader:105,1"
      Dst: "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - Src: "com.drew.lang.StreamReader:105,1"
      Dst: "[java.io.EOFException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.lang.StreamReader].skipInternal(long)"
    functionSourceFile: "com.drew.lang.StreamReader"
    linkageType: ""
    functionLinenumber: 133
    functionLinenumberEnd: 143
    functionDepth: 0
    returnType: "long"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Process$PipeInputStream].skip(long)"
    - "[java.io.FileInputStream].skip(long)"
    - "[java.util.jar.Manifest$FastInputStream].skip(long)"
    - "[java.lang.ProcessImpl$DeferredCloseInputStream].skip(long)"
    - "[java.io.InputStream].skip(long)"
    - "[java.util.zip.ZipInputStream].skip(long)"
    - "[java.io.BufferedInputStream].skip(long)"
    - "[java.util.zip.InflaterInputStream].skip(long)"
    - "[java.io.ObjectInputStream$PeekInputStream].skip(long)"
    - "[java.io.InputStream$1].skip(long)"
    - "[java.io.FilterInputStream].skip(long)"
    - "[java.io.ByteArrayInputStream].skip(long)"
    - "[java.io.ObjectInputStream$BlockDataInputStream].skip(long)"
    functionUses: 2
    ICount: 17
    EdgeCount: 13
    BranchProfiles:
    - Branch String: "com.drew.lang.StreamReader:135"
      Branch Sides:
      - BranchSide: "com.drew.lang.StreamReader:141"
        BranchSideFuncs:
        - "skip(long)"
      - BranchSide: "com.drew.lang.StreamReader:140"
        BranchSideFuncs: []
    - Branch String: "com.drew.lang.StreamReader:138"
      Branch Sides:
      - BranchSide: "com.drew.lang.StreamReader:140"
        BranchSideFuncs: []
      - BranchSide: "com.drew.lang.StreamReader:139"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.lang.StreamReader:136,1"
      Dst: "[java.io.InputStream].skip(long)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[com.drew.metadata.adobe.AdobeJpegDescriptor].<init>(com.drew.metadata.adobe.AdobeJpegDirectory)"
    functionSourceFile: "com.drew.metadata.adobe.AdobeJpegDescriptor"
    linkageType: ""
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.adobe.AdobeJpegDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.adobe.AdobeJpegDescriptor:37,1"
      Dst: "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    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: "[com.drew.metadata.adobe.AdobeJpegDescriptor].getDescription(int)"
    functionSourceFile: "com.drew.metadata.adobe.AdobeJpegDescriptor"
    linkageType: ""
    functionLinenumber: 42
    functionLinenumberEnd: 50
    functionDepth: 3
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.adobe.AdobeJpegDescriptor].getColorTransformDescription()"
    - "[com.drew.metadata.adobe.AdobeJpegDescriptor].getDctEncodeVersionDescription()"
    - "[com.drew.metadata.TagDescriptor].getDescription(int)"
    functionUses: 1
    ICount: 9
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.adobe.AdobeJpegDescriptor:45,1"
      Dst: "[com.drew.metadata.adobe.AdobeJpegDescriptor].getColorTransformDescription()"
    - Src: "com.drew.metadata.adobe.AdobeJpegDescriptor:47,1"
      Dst: "[com.drew.metadata.adobe.AdobeJpegDescriptor].getDctEncodeVersionDescription()"
    - Src: "com.drew.metadata.adobe.AdobeJpegDescriptor:49,1"
      Dst: "[com.drew.metadata.TagDescriptor].getDescription(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: 1
  - functionName: "[com.drew.metadata.adobe.AdobeJpegDescriptor].getColorTransformDescription()"
    functionSourceFile: "com.drew.metadata.adobe.AdobeJpegDescriptor"
    linkageType: ""
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.adobe.AdobeJpegDescriptor:67,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.adobe.AdobeJpegDescriptor].getDctEncodeVersionDescription()"
    functionSourceFile: "com.drew.metadata.adobe.AdobeJpegDescriptor"
    linkageType: ""
    functionLinenumber: 55
    functionLinenumberEnd: 62
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.Integer].toString(int)"
    functionUses: 1
    ICount: 14
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.drew.metadata.adobe.AdobeJpegDescriptor:57"
      Branch Sides:
      - BranchSide: "com.drew.metadata.adobe.AdobeJpegDescriptor:59"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.adobe.AdobeJpegDescriptor:58"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.adobe.AdobeJpegDescriptor:59"
      Branch Sides:
      - BranchSide: "com.drew.metadata.adobe.AdobeJpegDescriptor:61"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.adobe.AdobeJpegDescriptor:60"
        BranchSideFuncs:
        - "intValue()"
        - "toString(int)"
    Callsites:
    - Src: "com.drew.metadata.adobe.AdobeJpegDescriptor:56,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.adobe.AdobeJpegDescriptor:59,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.adobe.AdobeJpegDescriptor:61,1"
      Dst: "[java.lang.Integer].toString(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[com.drew.metadata.png.PngDirectory].<init>(com.drew.imaging.png.PngChunkType)"
    functionSourceFile: "com.drew.metadata.png.PngDirectory"
    linkageType: ""
    functionLinenumber: 84
    functionLinenumberEnd: 90
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.imaging.png.PngChunkType"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].<init>()"
    - "[com.drew.metadata.png.PngDescriptor].<init>(com.drew.metadata.png.PngDirectory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 20
    ICount: 8
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.png.PngDirectory:85,1"
      Dst: "[com.drew.metadata.Directory].<init>()"
    - Src: "com.drew.metadata.png.PngDirectory:88,1"
      Dst: "[com.drew.metadata.png.PngDescriptor].<init>(com.drew.metadata.png.PngDirectory)"
    - Src: "com.drew.metadata.png.PngDirectory:88,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.png.PngDirectory].getPngChunkType()"
    functionSourceFile: "com.drew.metadata.png.PngDirectory"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.drew.imaging.png.PngChunkType"
    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: "[com.drew.metadata.png.PngDirectory].getName()"
    functionSourceFile: "com.drew.metadata.png.PngDirectory"
    linkageType: ""
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[com.drew.imaging.png.PngChunkType].getIdentifier()"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 2
    ICount: 9
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.png.PngDirectory:101,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.png.PngDirectory:101,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.png.PngDirectory:101,1"
      Dst: "[com.drew.imaging.png.PngChunkType].getIdentifier()"
    - Src: "com.drew.metadata.png.PngDirectory:101,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: "[com.drew.imaging.png.PngChunkType].getIdentifier()"
    functionSourceFile: "com.drew.imaging.png.PngChunkType"
    linkageType: ""
    functionLinenumber: 217
    functionLinenumberEnd: 224
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].<init>(byte[],java.lang.String)"
    - "[java.lang.AssertionError].<init>()"
    functionUses: 3
    ICount: 12
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.drew.imaging.png.PngChunkType:222"
      Branch Sides:
      - BranchSide: "com.drew.imaging.png.PngChunkType:223"
        BranchSideFuncs: []
      - BranchSide: "com.drew.imaging.png.PngChunkType:222"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.imaging.png.PngChunkType:218,1"
      Dst: "[java.lang.String].<init>(byte[],java.lang.String)"
    - Src: "com.drew.imaging.png.PngChunkType:222,1"
      Dst: "[java.lang.AssertionError].<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: 4
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.png.PngDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.png.PngDirectory"
    linkageType: ""
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.imaging.mp3.MpegAudioTypeChecker].<init>()"
    functionSourceFile: "com.drew.imaging.mp3.MpegAudioTypeChecker"
    linkageType: ""
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.mp3.MpegAudioTypeChecker:26,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: "[com.drew.imaging.mp3.MpegAudioTypeChecker].getByteCount()"
    functionSourceFile: "com.drew.imaging.mp3.MpegAudioTypeChecker"
    linkageType: ""
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.imaging.mp3.MpegAudioTypeChecker].checkType(byte[])"
    functionSourceFile: "com.drew.imaging.mp3.MpegAudioTypeChecker"
    linkageType: ""
    functionLinenumber: 55
    functionLinenumberEnd: 75
    functionDepth: 0
    returnType: "com.drew.imaging.FileType"
    argCount: 1
    argTypes:
    - "byte[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 35
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.imaging.mp3.MpegAudioTypeChecker:56"
      Branch Sides:
      - BranchSide: "com.drew.imaging.mp3.MpegAudioTypeChecker:57"
        BranchSideFuncs: []
      - BranchSide: "com.drew.imaging.mp3.MpegAudioTypeChecker:56"
        BranchSideFuncs: []
    - Branch String: "com.drew.imaging.mp3.MpegAudioTypeChecker:56"
      Branch Sides:
      - BranchSide: "com.drew.imaging.mp3.MpegAudioTypeChecker:60"
        BranchSideFuncs: []
      - BranchSide: "com.drew.imaging.mp3.MpegAudioTypeChecker:59"
        BranchSideFuncs: []
    - Branch String: "com.drew.imaging.mp3.MpegAudioTypeChecker:61"
      Branch Sides:
      - BranchSide: "com.drew.imaging.mp3.MpegAudioTypeChecker:65"
        BranchSideFuncs: []
      - BranchSide: "com.drew.imaging.mp3.MpegAudioTypeChecker:64"
        BranchSideFuncs: []
    - Branch String: "com.drew.imaging.mp3.MpegAudioTypeChecker:66"
      Branch Sides:
      - BranchSide: "com.drew.imaging.mp3.MpegAudioTypeChecker:70"
        BranchSideFuncs: []
      - BranchSide: "com.drew.imaging.mp3.MpegAudioTypeChecker:69"
        BranchSideFuncs: []
    - Branch String: "com.drew.imaging.mp3.MpegAudioTypeChecker:71"
      Branch Sides:
      - BranchSide: "com.drew.imaging.mp3.MpegAudioTypeChecker:74"
        BranchSideFuncs: []
      - BranchSide: "com.drew.imaging.mp3.MpegAudioTypeChecker:73"
        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: 10
    CyclomaticComplexity: 2
  - functionName: "[com.drew.metadata.exif.makernotes.ReconyxHyperFireMakernoteDirectory].<init>()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.ReconyxHyperFireMakernoteDirectory"
    linkageType: ""
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].<init>()"
    - "[com.drew.metadata.exif.makernotes.ReconyxHyperFireMakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.ReconyxHyperFireMakernoteDirectory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 1
    ICount: 6
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.ReconyxHyperFireMakernoteDirectory:88,1"
      Dst: "[com.drew.metadata.Directory].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.ReconyxHyperFireMakernoteDirectory:89,1"
      Dst: "[com.drew.metadata.exif.makernotes.ReconyxHyperFireMakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.ReconyxHyperFireMakernoteDirectory)"
    - Src: "com.drew.metadata.exif.makernotes.ReconyxHyperFireMakernoteDirectory:89,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.exif.makernotes.ReconyxHyperFireMakernoteDirectory].getName()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.ReconyxHyperFireMakernoteDirectory"
    linkageType: ""
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.exif.makernotes.ReconyxHyperFireMakernoteDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.ReconyxHyperFireMakernoteDirectory"
    linkageType: ""
    functionLinenumber: 102
    functionLinenumberEnd: 104
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.imaging.jpeg.JpegSegmentReader].readSegments(java.io.File,java.lang.Iterable<JpegSegmentType>)"
    functionSourceFile: "com.drew.imaging.jpeg.JpegSegmentReader"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "com.drew.imaging.jpeg.JpegSegmentData"
    argCount: 2
    argTypes:
    - "java.io.File"
    - "java.lang.Iterable<JpegSegmentType>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.FileInputStream].<init>(java.io.File)"
    - "[com.drew.lang.StreamReader].<init>(java.io.InputStream)"
    - "[com.drew.imaging.jpeg.JpegSegmentReader].readSegments(com.drew.lang.SequentialReader,java.lang.Iterable)"
    - "[java.io.FileInputStream].close()"
    functionUses: 0
    ICount: 16
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.imaging.jpeg.JpegSegmentReader:77"
      Branch Sides:
      - BranchSide: "com.drew.imaging.jpeg.JpegSegmentReader:72"
        BranchSideFuncs: []
      - BranchSide: "com.drew.imaging.jpeg.JpegSegmentReader:71"
        BranchSideFuncs: []
    - Branch String: "com.drew.imaging.jpeg.JpegSegmentReader:77"
      Branch Sides:
      - BranchSide: "com.drew.imaging.jpeg.JpegSegmentReader:80"
        BranchSideFuncs: []
      - BranchSide: "com.drew.imaging.jpeg.JpegSegmentReader:79"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.imaging.jpeg.JpegSegmentReader:74,1"
      Dst: "[java.io.FileInputStream].<init>(java.io.File)"
    - Src: "com.drew.imaging.jpeg.JpegSegmentReader:75,1"
      Dst: "[com.drew.lang.StreamReader].<init>(java.io.InputStream)"
    - Src: "com.drew.imaging.jpeg.JpegSegmentReader:75,1"
      Dst: "[com.drew.imaging.jpeg.JpegSegmentReader].readSegments(com.drew.lang.SequentialReader,java.lang.Iterable)"
    - Src: "com.drew.imaging.jpeg.JpegSegmentReader:78,1"
      Dst: "[java.io.FileInputStream].close()"
    JavaMethodInfo:
      exceptions:
      - "com.drew.imaging.jpeg.JpegProcessingException"
      - "java.io.IOException"
      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: "[com.drew.imaging.jpeg.JpegSegmentReader].readSegments(com.drew.lang.SequentialReader,java.lang.Iterable<JpegSegmentType>)"
    functionSourceFile: "com.drew.imaging.jpeg.JpegSegmentReader"
    linkageType: ""
    functionLinenumber: 96
    functionLinenumberEnd: 163
    functionDepth: 4
    returnType: "com.drew.imaging.jpeg.JpegSegmentData"
    argCount: 2
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "java.lang.Iterable<JpegSegmentType>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.AssertionError].<init>()"
    - "[com.drew.lang.SequentialReader].isMotorolaByteOrder()"
    - "[com.drew.lang.SequentialReader].getUInt16()"
    - "[com.drew.imaging.jpeg.JpegProcessingException].<init>(java.lang.String)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.Integer].toHexString(int)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.util.HashSet].<init>()"
    - "[com.adobe.internal.xmp.impl.XMPNode$1].hasNext()"
    - "[jdk.internal.module.ModuleBootstrap$2].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIterator].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIteratorChildren].hasNext()"
    - "[java.util.concurrent.ConcurrentHashMap$EntrySetView].iterator()"
    - "[jdk.internal.module.ModuleBootstrap$2].next()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIterator].next()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl].next()"
    - "[com.adobe.internal.xmp.impl.XMPNode$1].next()"
    - "[java.io.BufferedReader$1].next()"
    - "[java.util.HashSet].add(java.lang.Object)"
    - "[java.lang.Byte].valueOf(byte)"
    - "[com.drew.imaging.jpeg.JpegSegmentData].<init>()"
    - "[com.drew.lang.SequentialReader].getInt8()"
    - "[java.util.HashSet].contains(java.lang.Object)"
    - "[com.drew.lang.SequentialByteArrayReader].getBytes(int)"
    - "[com.drew.lang.StreamReader].getBytes(int)"
    - "[com.drew.imaging.jpeg.JpegSegmentData].addSegment(byte,byte[])"
    - "[com.drew.lang.StreamReader].trySkip(long)"
    - "[com.drew.lang.SequentialByteArrayReader].trySkip(long)"
    - "[java.lang.Iterable].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.util.Set].add(java.lang.Object)"
    - "[java.util.Set].contains(java.lang.Object)"
    - "[com.drew.lang.SequentialReader].getBytes(int)"
    - "[com.drew.lang.SequentialReader].trySkip(long)"
    functionUses: 2
    ICount: 83
    EdgeCount: 36
    BranchProfiles:
    - Branch String: "com.drew.imaging.jpeg.JpegSegmentReader:97"
      Branch Sides:
      - BranchSide: "com.drew.imaging.jpeg.JpegSegmentReader:99"
        BranchSideFuncs: []
    - Branch String: "com.drew.imaging.jpeg.JpegSegmentReader:97"
      Branch Sides:
      - BranchSide: "com.drew.imaging.jpeg.JpegSegmentReader:99"
        BranchSideFuncs: []
    - Branch String: "com.drew.imaging.jpeg.JpegSegmentReader:101"
      Branch Sides:
      - BranchSide: "com.drew.imaging.jpeg.JpegSegmentReader:105"
        BranchSideFuncs:
        - "append(java.lang.String)"
        - "toString()"
        - "toHexString(int)"
      - BranchSide: "com.drew.imaging.jpeg.JpegSegmentReader:104"
        BranchSideFuncs: []
    - Branch String: "com.drew.imaging.jpeg.JpegSegmentReader:106"
      Branch Sides:
      - BranchSide: "com.drew.imaging.jpeg.JpegSegmentReader:113"
        BranchSideFuncs:
        - "hasNext()"
        - "next()"
        - "iterator()"
      - BranchSide: "com.drew.imaging.jpeg.JpegSegmentReader:112"
        BranchSideFuncs: []
    - Branch String: "com.drew.imaging.jpeg.JpegSegmentReader:108"
      Branch Sides:
      - BranchSide: "com.drew.imaging.jpeg.JpegSegmentReader:113"
        BranchSideFuncs:
        - "hasNext()"
        - "add(java.lang.Object)"
        - "next()"
        - "iterator()"
      - BranchSide: "com.drew.imaging.jpeg.JpegSegmentReader:112"
        BranchSideFuncs: []
    - Branch String: "com.drew.imaging.jpeg.JpegSegmentReader:123"
      Branch Sides:
      - BranchSide: "com.drew.imaging.jpeg.JpegSegmentReader:124"
        BranchSideFuncs:
        - "getInt8()"
      - BranchSide: "com.drew.imaging.jpeg.JpegSegmentReader:123"
        BranchSideFuncs:
        - "getInt8()"
    - Branch String: "com.drew.imaging.jpeg.JpegSegmentReader:123"
      Branch Sides:
      - BranchSide: "com.drew.imaging.jpeg.JpegSegmentReader:124"
        BranchSideFuncs:
        - "getInt8()"
      - BranchSide: "com.drew.imaging.jpeg.JpegSegmentReader:123"
        BranchSideFuncs:
        - "getInt8()"
    - Branch String: "com.drew.imaging.jpeg.JpegSegmentReader:123"
      Branch Sides:
      - BranchSide: "com.drew.imaging.jpeg.JpegSegmentReader:null"
        BranchSideFuncs:
        - "getInt8()"
    - Branch String: "com.drew.imaging.jpeg.JpegSegmentReader:128"
      Branch Sides: []
    - Branch String: "com.drew.imaging.jpeg.JpegSegmentReader:135"
      Branch Sides:
      - BranchSide: "com.drew.imaging.jpeg.JpegSegmentReader:140"
        BranchSideFuncs:
        - "getUInt16()"
    - Branch String: "com.drew.imaging.jpeg.JpegSegmentReader:146"
      Branch Sides:
      - BranchSide: "com.drew.imaging.jpeg.JpegSegmentReader:150"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "com.drew.imaging.jpeg.JpegSegmentReader:149"
        BranchSideFuncs:
        - "contains(java.lang.Object)"
        - "valueOf(byte)"
    - Branch String: "com.drew.imaging.jpeg.JpegSegmentReader:150"
      Branch Sides:
      - BranchSide: "com.drew.imaging.jpeg.JpegSegmentReader:151"
        BranchSideFuncs:
        - "<init>()"
        - "getBytes(int)"
      - BranchSide: "com.drew.imaging.jpeg.JpegSegmentReader:150"
        BranchSideFuncs:
        - "<init>()"
        - "getBytes(int)"
    - Branch String: "com.drew.imaging.jpeg.JpegSegmentReader:150"
      Branch Sides:
      - BranchSide: "com.drew.imaging.jpeg.JpegSegmentReader:156"
        BranchSideFuncs:
        - "<init>()"
        - "getBytes(int)"
      - BranchSide: "com.drew.imaging.jpeg.JpegSegmentReader:155"
        BranchSideFuncs:
        - "trySkip(long)"
    - Branch String: "com.drew.imaging.jpeg.JpegSegmentReader:152"
      Branch Sides:
      - BranchSide: "com.drew.imaging.jpeg.JpegSegmentReader:153"
        BranchSideFuncs:
        - "addSegment(byte,byte[])"
      - BranchSide: "com.drew.imaging.jpeg.JpegSegmentReader:152"
        BranchSideFuncs:
        - "addSegment(byte,byte[])"
    - Branch String: "com.drew.imaging.jpeg.JpegSegmentReader:152"
      Branch Sides:
      - BranchSide: "com.drew.imaging.jpeg.JpegSegmentReader:153"
        BranchSideFuncs:
        - "addSegment(byte,byte[])"
      - BranchSide: "com.drew.imaging.jpeg.JpegSegmentReader:152"
        BranchSideFuncs:
        - "addSegment(byte,byte[])"
    - Branch String: "com.drew.imaging.jpeg.JpegSegmentReader:156"
      Branch Sides:
      - BranchSide: "com.drew.imaging.jpeg.JpegSegmentReader:161"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.imaging.jpeg.JpegSegmentReader:97,1"
      Dst: "[com.drew.lang.SequentialReader].isMotorolaByteOrder()"
    - Src: "com.drew.imaging.jpeg.JpegSegmentReader:97,1"
      Dst: "[java.lang.AssertionError].<init>()"
    - Src: "com.drew.imaging.jpeg.JpegSegmentReader:100,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt16()"
    - Src: "com.drew.imaging.jpeg.JpegSegmentReader:102,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.imaging.jpeg.JpegSegmentReader:102,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.imaging.jpeg.JpegSegmentReader:102,1"
      Dst: "[java.lang.Integer].toHexString(int)"
    - Src: "com.drew.imaging.jpeg.JpegSegmentReader:102,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "com.drew.imaging.jpeg.JpegSegmentReader:102,1"
      Dst: "[com.drew.imaging.jpeg.JpegProcessingException].<init>(java.lang.String)"
    - Src: "com.drew.imaging.jpeg.JpegSegmentReader:107,1"
      Dst: "[java.util.HashSet].<init>()"
    - Src: "com.drew.imaging.jpeg.JpegSegmentReader:108,1"
      Dst: "[java.lang.Iterable].iterator()"
    - Src: "com.drew.imaging.jpeg.JpegSegmentReader:108,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.drew.imaging.jpeg.JpegSegmentReader:108,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.drew.imaging.jpeg.JpegSegmentReader:109,1"
      Dst: "[java.lang.Byte].valueOf(byte)"
    - Src: "com.drew.imaging.jpeg.JpegSegmentReader:109,1"
      Dst: "[java.util.Set].add(java.lang.Object)"
    - Src: "com.drew.imaging.jpeg.JpegSegmentReader:113,1"
      Dst: "[com.drew.imaging.jpeg.JpegSegmentData].<init>()"
    - Src: "com.drew.imaging.jpeg.JpegSegmentReader:119,1"
      Dst: "[com.drew.lang.SequentialReader].getInt8()"
    - Src: "com.drew.imaging.jpeg.JpegSegmentReader:150,1"
      Dst: "[java.util.Set].contains(java.lang.Object)"
    - Src: "com.drew.imaging.jpeg.JpegSegmentReader:151,1"
      Dst: "[com.drew.lang.SequentialReader].getBytes(int)"
    - Src: "com.drew.imaging.jpeg.JpegSegmentReader:153,1"
      Dst: "[com.drew.imaging.jpeg.JpegSegmentData].addSegment(byte,byte[])"
    - Src: "com.drew.imaging.jpeg.JpegSegmentReader:156,1"
      Dst: "[com.drew.lang.SequentialReader].trySkip(long)"
    JavaMethodInfo:
      exceptions:
      - "com.drew.imaging.jpeg.JpegProcessingException"
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 30
    CyclomaticComplexity: 11
  - functionName: "[com.drew.imaging.jpeg.JpegProcessingException].<init>(java.lang.String)"
    functionSourceFile: "com.drew.imaging.jpeg.JpegProcessingException"
    linkageType: ""
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.imaging.ImageProcessingException].<init>(java.lang.String)"
    functionUses: 2
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.jpeg.JpegProcessingException:37,1"
      Dst: "[com.drew.imaging.ImageProcessingException].<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: "[com.drew.imaging.jpeg.JpegSegmentReader].<init>()"
    functionSourceFile: "com.drew.imaging.jpeg.JpegSegmentReader"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.lang.Exception].<init>(java.lang.String)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.jpeg.JpegSegmentReader:166,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.drew.imaging.jpeg.JpegSegmentReader:167,1"
      Dst: "[java.lang.Exception].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions:
      - "java.lang.Exception"
      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: "[com.drew.metadata.photoshop.PhotoshopReader].getSegmentTypes()"
    functionSourceFile: "com.drew.metadata.photoshop.PhotoshopReader"
    linkageType: ""
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionDepth: 0
    returnType: "java.lang.Iterable"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Collections].singletonList(java.lang.Object)"
    functionUses: 2
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.photoshop.PhotoshopReader:58,1"
      Dst: "[java.util.Collections].singletonList(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: "[com.drew.metadata.photoshop.PhotoshopReader].readJpegSegments(java.lang.Iterable<byte[]>,com.drew.metadata.Metadata,com.drew.imaging.jpeg.JpegSegmentType)"
    functionSourceFile: "com.drew.metadata.photoshop.PhotoshopReader"
    linkageType: ""
    functionLinenumber: 62
    functionLinenumberEnd: 76
    functionDepth: 8
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.Iterable<byte[]>"
    - "com.drew.metadata.Metadata"
    - "com.drew.imaging.jpeg.JpegSegmentType"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].length()"
    - "[com.adobe.internal.xmp.impl.XMPNode$1].hasNext()"
    - "[jdk.internal.module.ModuleBootstrap$2].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIterator].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIteratorChildren].hasNext()"
    - "[java.nio.file.FileTreeIterator].hasNext()"
    - "[java.util.concurrent.ConcurrentHashMap$EntrySetView].iterator()"
    - "[jdk.internal.module.ModuleBootstrap$2].next()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIterator].next()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl].next()"
    - "[com.adobe.internal.xmp.impl.XMPNode$1].next()"
    - "[java.io.BufferedReader$1:java.nio.file.FileTreeIterator:java.nio.file.Files$2].next()"
    - "[java.lang.String].<init>(byte[],int,int)"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[com.drew.lang.SequentialByteArrayReader].<init>(byte[],int)"
    - "[com.drew.metadata.photoshop.PhotoshopReader].extract(com.drew.lang.SequentialReader,int,com.drew.metadata.Metadata)"
    - "[java.lang.Iterable].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    functionUses: 1
    ICount: 29
    EdgeCount: 17
    BranchProfiles:
    - Branch String: "com.drew.metadata.photoshop.PhotoshopReader:65"
      Branch Sides:
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopReader:75"
        BranchSideFuncs:
        - "hasNext()"
        - "iterator()"
        - "<init>(byte[],int,int)"
        - "next()"
        - "equals(java.lang.Object)"
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopReader:74"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.photoshop.PhotoshopReader:67"
      Branch Sides:
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopReader:63"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopReader:62"
        BranchSideFuncs:
        - "hasNext()"
        - "iterator()"
        - "next()"
        - "length()"
    - Branch String: "com.drew.metadata.photoshop.PhotoshopReader:67"
      Branch Sides:
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopReader:70"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopReader:69"
        BranchSideFuncs:
        - "extract(com.drew.lang.SequentialReader,int,com.drew.metadata.Metadata)"
        - "<init>(byte[],int)"
    Callsites:
    - Src: "com.drew.metadata.photoshop.PhotoshopReader:63,1"
      Dst: "[java.lang.String].length()"
    - Src: "com.drew.metadata.photoshop.PhotoshopReader:65,1"
      Dst: "[java.lang.Iterable].iterator()"
    - Src: "com.drew.metadata.photoshop.PhotoshopReader:65,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.drew.metadata.photoshop.PhotoshopReader:65,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.drew.metadata.photoshop.PhotoshopReader:67,1"
      Dst: "[java.lang.String].<init>(byte[],int,int)"
    - Src: "com.drew.metadata.photoshop.PhotoshopReader:67,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "com.drew.metadata.photoshop.PhotoshopReader:70,1"
      Dst: "[com.drew.lang.SequentialByteArrayReader].<init>(byte[],int)"
    - Src: "com.drew.metadata.photoshop.PhotoshopReader:70,1"
      Dst: "[com.drew.metadata.photoshop.PhotoshopReader].extract(com.drew.lang.SequentialReader,int,com.drew.metadata.Metadata)"
    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: "[com.drew.metadata.mov.media.QuickTimeVideoHandler].getMediaInformation()"
    functionSourceFile: "com.drew.metadata.mov.media.QuickTimeVideoHandler"
    linkageType: ""
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 2
    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: "[com.drew.metadata.mov.media.QuickTimeVideoHandler].createDirectory()"
    functionSourceFile: "com.drew.metadata.mov.media.QuickTimeVideoHandler"
    linkageType: ""
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionDepth: 4
    returnType: "com.drew.metadata.mov.media.QuickTimeVideoDirectory"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mov.media.QuickTimeVideoDirectory].<init>()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.media.QuickTimeVideoHandler:56,1"
      Dst: "[com.drew.metadata.mov.media.QuickTimeVideoDirectory].<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: "[com.drew.metadata.mov.media.QuickTimeVideoDirectory].<init>()"
    functionSourceFile: "com.drew.metadata.mov.media.QuickTimeVideoDirectory"
    linkageType: ""
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionDepth: 3
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mov.media.QuickTimeMediaDirectory].<init>()"
    - "[com.drew.metadata.mov.media.QuickTimeVideoDescriptor].<init>(com.drew.metadata.mov.media.QuickTimeVideoDirectory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 1
    ICount: 6
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.media.QuickTimeVideoDirectory:51,1"
      Dst: "[com.drew.metadata.mov.media.QuickTimeMediaDirectory].<init>()"
    - Src: "com.drew.metadata.mov.media.QuickTimeVideoDirectory:52,1"
      Dst: "[com.drew.metadata.mov.media.QuickTimeVideoDescriptor].<init>(com.drew.metadata.mov.media.QuickTimeVideoDirectory)"
    - Src: "com.drew.metadata.mov.media.QuickTimeVideoDirectory:52,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.mov.media.QuickTimeVideoDescriptor].<init>(com.drew.metadata.mov.media.QuickTimeVideoDirectory)"
    functionSourceFile: "com.drew.metadata.mov.media.QuickTimeVideoDescriptor"
    linkageType: ""
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.mov.media.QuickTimeVideoDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mov.QuickTimeDescriptor].<init>(com.drew.metadata.mov.QuickTimeDirectory)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.media.QuickTimeVideoDescriptor:35,1"
      Dst: "[com.drew.metadata.mov.QuickTimeDescriptor].<init>(com.drew.metadata.mov.QuickTimeDirectory)"
    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: "[com.drew.metadata.mov.media.QuickTimeVideoHandler].processSampleDescription(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
    functionSourceFile: "com.drew.metadata.mov.media.QuickTimeVideoHandler"
    linkageType: ""
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionDepth: 3
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "com.drew.metadata.mov.atoms.Atom"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mov.atoms.VideoSampleDescriptionAtom].<init>(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
    - "[com.drew.metadata.mov.atoms.VideoSampleDescriptionAtom].addMetadata(com.drew.metadata.mov.media.QuickTimeVideoDirectory)"
    functionUses: 1
    ICount: 9
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.media.QuickTimeVideoHandler:62,1"
      Dst: "[com.drew.metadata.mov.atoms.VideoSampleDescriptionAtom].<init>(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
    - Src: "com.drew.metadata.mov.media.QuickTimeVideoHandler:63,1"
      Dst: "[com.drew.metadata.mov.atoms.VideoSampleDescriptionAtom].addMetadata(com.drew.metadata.mov.media.QuickTimeVideoDirectory)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.mov.atoms.VideoSampleDescriptionAtom].<init>(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
    functionSourceFile: "com.drew.metadata.mov.atoms.VideoSampleDescriptionAtom"
    linkageType: ""
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "com.drew.metadata.mov.atoms.Atom"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mov.atoms.SampleDescriptionAtom].<init>(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.atoms.VideoSampleDescriptionAtom:39,1"
      Dst: "[com.drew.metadata.mov.atoms.SampleDescriptionAtom].<init>(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.mov.atoms.VideoSampleDescriptionAtom].addMetadata(com.drew.metadata.mov.media.QuickTimeVideoDirectory)"
    functionSourceFile: "com.drew.metadata.mov.atoms.VideoSampleDescriptionAtom"
    linkageType: ""
    functionLinenumber: 50
    functionLinenumberEnd: 81
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.mov.media.QuickTimeVideoDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].size()"
    - "[java.util.ArrayList].get(int)"
    - "[com.drew.metadata.mov.QuickTimeDictionary].setLookup(int,java.lang.String,com.drew.metadata.Directory)"
    - "[com.drew.metadata.Directory].setLong(int,long)"
    - "[com.drew.metadata.Directory].setInt(int,int)"
    - "[java.lang.String].trim()"
    - "[java.lang.String].isEmpty()"
    - "[com.drew.metadata.Directory].setString(int,java.lang.String)"
    - "[java.lang.Math].pow(double,double)"
    - "[com.drew.metadata.Directory].setDouble(int,double)"
    functionUses: 1
    ICount: 53
    EdgeCount: 17
    BranchProfiles:
    - Branch String: "com.drew.metadata.mov.atoms.VideoSampleDescriptionAtom:51"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.atoms.VideoSampleDescriptionAtom:55"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.mov.atoms.VideoSampleDescriptionAtom:54"
        BranchSideFuncs:
        - "isEmpty()"
        - "setLookup(int,java.lang.String,com.drew.metadata.Directory)"
        - "setLong(int,long)"
        - "get(int)"
        - "trim()"
    - Branch String: "com.drew.metadata.mov.atoms.VideoSampleDescriptionAtom:66"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.atoms.VideoSampleDescriptionAtom:70"
        BranchSideFuncs:
        - "setString(int,java.lang.String)"
      - BranchSide: "com.drew.metadata.mov.atoms.VideoSampleDescriptionAtom:69"
        BranchSideFuncs:
        - "setDouble(int,double)"
        - "pow(double,double)"
        - "setInt(int,int)"
    Callsites:
    - Src: "com.drew.metadata.mov.atoms.VideoSampleDescriptionAtom:51,1"
      Dst: "[java.util.ArrayList].size()"
    - Src: "com.drew.metadata.mov.atoms.VideoSampleDescriptionAtom:55,1"
      Dst: "[java.util.ArrayList].get(int)"
    - Src: "com.drew.metadata.mov.atoms.VideoSampleDescriptionAtom:57,1"
      Dst: "[com.drew.metadata.mov.QuickTimeDictionary].setLookup(int,java.lang.String,com.drew.metadata.Directory)"
    - Src: "com.drew.metadata.mov.atoms.VideoSampleDescriptionAtom:60,1"
      Dst: "[com.drew.metadata.Directory].setLong(int,long)"
    - Src: "com.drew.metadata.mov.atoms.VideoSampleDescriptionAtom:62,1"
      Dst: "[com.drew.metadata.Directory].setInt(int,int)"
    - Src: "com.drew.metadata.mov.atoms.VideoSampleDescriptionAtom:65,1"
      Dst: "[java.lang.String].trim()"
    - Src: "com.drew.metadata.mov.atoms.VideoSampleDescriptionAtom:66,1"
      Dst: "[java.lang.String].isEmpty()"
    - Src: "com.drew.metadata.mov.atoms.VideoSampleDescriptionAtom:67,1"
      Dst: "[com.drew.metadata.Directory].setString(int,java.lang.String)"
    - Src: "com.drew.metadata.mov.atoms.VideoSampleDescriptionAtom:74,1"
      Dst: "[java.lang.Math].pow(double,double)"
    - Src: "com.drew.metadata.mov.atoms.VideoSampleDescriptionAtom:75,1"
      Dst: "[com.drew.metadata.Directory].setDouble(int,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: 5
    CyclomaticComplexity: 2
  - functionName: "[com.drew.metadata.mov.QuickTimeDictionary].setLookup(int,java.lang.String,com.drew.metadata.Directory)"
    functionSourceFile: "com.drew.metadata.mov.QuickTimeDictionary"
    linkageType: ""
    functionLinenumber: 287
    functionLinenumberEnd: 291
    functionDepth: 1
    returnType: "void"
    argCount: 3
    argTypes:
    - "int"
    - "java.lang.String"
    - "com.drew.metadata.Directory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mov.QuickTimeDictionary].lookup(int,java.lang.String)"
    - "[com.drew.metadata.Directory].setString(int,java.lang.String)"
    functionUses: 3
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.QuickTimeDictionary:288,1"
      Dst: "[com.drew.metadata.mov.QuickTimeDictionary].lookup(int,java.lang.String)"
    - Src: "com.drew.metadata.mov.QuickTimeDictionary:289,1"
      Dst: "[com.drew.metadata.Directory].setString(int,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: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.mov.QuickTimeDictionary].lookup(int,java.lang.String)"
    functionSourceFile: "com.drew.metadata.mov.QuickTimeDictionary"
    linkageType: ""
    functionLinenumber: 278
    functionLinenumberEnd: 283
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 2
    argTypes:
    - "int"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.HashMap].containsKey(java.lang.Object)"
    - "[java.util.HashMap].get(java.lang.Object)"
    - "[java.util.LinkedHashMap].get(java.lang.Object)"
    - "[java.lang.Integer].valueOf(int)"
    functionUses: 3
    ICount: 20
    EdgeCount: 11
    BranchProfiles:
    - Branch String: "com.drew.metadata.mov.QuickTimeDictionary:279"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.QuickTimeDictionary:282"
        BranchSideFuncs:
        - "valueOf(int)"
        - "get(java.lang.Object)"
      - BranchSide: "com.drew.metadata.mov.QuickTimeDictionary:281"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mov.QuickTimeDictionary:279"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.QuickTimeDictionary:282"
        BranchSideFuncs:
        - "valueOf(int)"
        - "get(java.lang.Object)"
      - BranchSide: "com.drew.metadata.mov.QuickTimeDictionary:281"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.mov.QuickTimeDictionary:279,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.drew.metadata.mov.QuickTimeDictionary:279,1"
      Dst: "[java.util.HashMap].containsKey(java.lang.Object)"
    - Src: "com.drew.metadata.mov.QuickTimeDictionary:279,1"
      Dst: "[java.util.HashMap].get(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: "[com.drew.metadata.mov.media.QuickTimeVideoHandler].processMediaInformation(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
    functionSourceFile: "com.drew.metadata.mov.media.QuickTimeVideoHandler"
    linkageType: ""
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionDepth: 3
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "com.drew.metadata.mov.atoms.Atom"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mov.atoms.VideoInformationMediaHeaderAtom].<init>(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
    - "[com.drew.metadata.mov.atoms.VideoInformationMediaHeaderAtom].addMetadata(com.drew.metadata.mov.media.QuickTimeVideoDirectory)"
    functionUses: 1
    ICount: 9
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.media.QuickTimeVideoHandler:69,1"
      Dst: "[com.drew.metadata.mov.atoms.VideoInformationMediaHeaderAtom].<init>(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
    - Src: "com.drew.metadata.mov.media.QuickTimeVideoHandler:70,1"
      Dst: "[com.drew.metadata.mov.atoms.VideoInformationMediaHeaderAtom].addMetadata(com.drew.metadata.mov.media.QuickTimeVideoDirectory)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.mov.atoms.VideoInformationMediaHeaderAtom].<init>(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
    functionSourceFile: "com.drew.metadata.mov.atoms.VideoInformationMediaHeaderAtom"
    linkageType: ""
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "com.drew.metadata.mov.atoms.Atom"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mov.atoms.FullAtom].<init>(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
    - "[com.drew.lang.SequentialReader].getUInt16()"
    functionUses: 1
    ICount: 15
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.atoms.VideoInformationMediaHeaderAtom:40,1"
      Dst: "[com.drew.metadata.mov.atoms.FullAtom].<init>(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
    - Src: "com.drew.metadata.mov.atoms.VideoInformationMediaHeaderAtom:42,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt16()"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.mov.atoms.VideoInformationMediaHeaderAtom].addMetadata(com.drew.metadata.mov.media.QuickTimeVideoDirectory)"
    functionSourceFile: "com.drew.metadata.mov.atoms.VideoInformationMediaHeaderAtom"
    linkageType: ""
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.mov.media.QuickTimeVideoDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].setIntArray(int,int[])"
    - "[com.drew.metadata.Directory].setInt(int,int)"
    functionUses: 1
    ICount: 7
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.atoms.VideoInformationMediaHeaderAtom:48,1"
      Dst: "[com.drew.metadata.Directory].setIntArray(int,int[])"
    - Src: "com.drew.metadata.mov.atoms.VideoInformationMediaHeaderAtom:49,1"
      Dst: "[com.drew.metadata.Directory].setInt(int,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: "[com.drew.metadata.mov.media.QuickTimeVideoHandler].processTimeToSample(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom,com.drew.metadata.mov.QuickTimeContext)"
    functionSourceFile: "com.drew.metadata.mov.media.QuickTimeVideoHandler"
    linkageType: ""
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionDepth: 3
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "com.drew.metadata.mov.atoms.Atom"
    - "com.drew.metadata.mov.QuickTimeContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mov.atoms.TimeToSampleAtom].<init>(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
    - "[com.drew.metadata.mov.atoms.TimeToSampleAtom].addMetadata(com.drew.metadata.mov.media.QuickTimeVideoDirectory,com.drew.metadata.mov.QuickTimeContext)"
    functionUses: 1
    ICount: 10
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.media.QuickTimeVideoHandler:76,1"
      Dst: "[com.drew.metadata.mov.atoms.TimeToSampleAtom].<init>(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
    - Src: "com.drew.metadata.mov.media.QuickTimeVideoHandler:77,1"
      Dst: "[com.drew.metadata.mov.atoms.TimeToSampleAtom].addMetadata(com.drew.metadata.mov.media.QuickTimeVideoDirectory,com.drew.metadata.mov.QuickTimeContext)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.icc.IccDirectory].getName()"
    functionSourceFile: "com.drew.metadata.icc.IccDirectory"
    linkageType: ""
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.icc.IccDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.icc.IccDirectory"
    linkageType: ""
    functionLinenumber: 205
    functionLinenumberEnd: 207
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.imaging.jpeg.JpegProcessingException].<init>(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "com.drew.imaging.jpeg.JpegProcessingException"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.imaging.ImageProcessingException].<init>(java.lang.String,java.lang.Throwable)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.jpeg.JpegProcessingException:42,1"
      Dst: "[com.drew.imaging.ImageProcessingException].<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: "[com.drew.imaging.jpeg.JpegProcessingException].<init>(java.lang.Throwable)"
    functionSourceFile: "com.drew.imaging.jpeg.JpegProcessingException"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.imaging.ImageProcessingException].<init>(java.lang.Throwable)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.jpeg.JpegProcessingException:47,1"
      Dst: "[com.drew.imaging.ImageProcessingException].<init>(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: "[com.drew.metadata.mov.atoms.SoundSampleDescriptionAtom$SoundSampleDescription].<init>(com.drew.lang.SequentialReader)"
    functionSourceFile: "com.drew.metadata.mov.atoms.SoundSampleDescriptionAtom$SoundSampleDescription"
    linkageType: ""
    functionLinenumber: 73
    functionLinenumberEnd: 85
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.lang.SequentialReader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mov.atoms.SampleDescription].<init>(com.drew.lang.SequentialReader)"
    - "[com.drew.lang.SequentialReader].getUInt16()"
    - "[com.drew.lang.SequentialReader].getInt32()"
    - "[com.drew.lang.SequentialReader].getUInt32()"
    functionUses: 1
    ICount: 20
    EdgeCount: 9
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.atoms.SoundSampleDescriptionAtom$SoundSampleDescription:74,1"
      Dst: "[com.drew.metadata.mov.atoms.SampleDescription].<init>(com.drew.lang.SequentialReader)"
    - Src: "com.drew.metadata.mov.atoms.SoundSampleDescriptionAtom$SoundSampleDescription:76,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt16()"
    - Src: "com.drew.metadata.mov.atoms.SoundSampleDescriptionAtom$SoundSampleDescription:78,1"
      Dst: "[com.drew.lang.SequentialReader].getInt32()"
    - Src: "com.drew.metadata.mov.atoms.SoundSampleDescriptionAtom$SoundSampleDescription:83,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt32()"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.imaging.mp3.Mp3MetadataReader].<init>()"
    functionSourceFile: "com.drew.imaging.mp3.Mp3MetadataReader"
    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: "com.drew.imaging.mp3.Mp3MetadataReader:38,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: "[com.drew.imaging.mp3.Mp3MetadataReader].readMetadata(java.io.File)"
    functionSourceFile: "com.drew.imaging.mp3.Mp3MetadataReader"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "com.drew.metadata.Metadata"
    argCount: 1
    argTypes:
    - "java.io.File"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.FileInputStream].<init>(java.io.File)"
    - "[com.drew.imaging.mp3.Mp3MetadataReader].readMetadata(java.io.InputStream)"
    - "[java.io.InputStream].close()"
    - "[com.drew.metadata.file.FileSystemMetadataReader].<init>()"
    - "[com.drew.metadata.file.FileSystemMetadataReader].read(java.io.File,com.drew.metadata.Metadata)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.mp3.Mp3MetadataReader:43,1"
      Dst: "[java.io.FileInputStream].<init>(java.io.File)"
    - Src: "com.drew.imaging.mp3.Mp3MetadataReader:46,1"
      Dst: "[com.drew.imaging.mp3.Mp3MetadataReader].readMetadata(java.io.InputStream)"
    - Src: "com.drew.imaging.mp3.Mp3MetadataReader:48,1"
      Dst: "[java.io.InputStream].close()"
    - Src: "com.drew.imaging.mp3.Mp3MetadataReader:50,1"
      Dst: "[com.drew.metadata.file.FileSystemMetadataReader].<init>()"
    - Src: "com.drew.imaging.mp3.Mp3MetadataReader:50,1"
      Dst: "[com.drew.metadata.file.FileSystemMetadataReader].read(java.io.File,com.drew.metadata.Metadata)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.imaging.mp3.Mp3MetadataReader].readMetadata(java.io.InputStream)"
    functionSourceFile: "com.drew.imaging.mp3.Mp3MetadataReader"
    linkageType: ""
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionDepth: 4
    returnType: "com.drew.metadata.Metadata"
    argCount: 1
    argTypes:
    - "java.io.InputStream"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Metadata].<init>()"
    - "[com.drew.metadata.mp3.Mp3Reader].<init>()"
    - "[com.drew.metadata.mp3.Mp3Reader].extract(java.io.InputStream,com.drew.metadata.Metadata)"
    functionUses: 1
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.mp3.Mp3MetadataReader:57,1"
      Dst: "[com.drew.metadata.Metadata].<init>()"
    - Src: "com.drew.imaging.mp3.Mp3MetadataReader:58,1"
      Dst: "[com.drew.metadata.mp3.Mp3Reader].<init>()"
    - Src: "com.drew.imaging.mp3.Mp3MetadataReader:58,1"
      Dst: "[com.drew.metadata.mp3.Mp3Reader].extract(java.io.InputStream,com.drew.metadata.Metadata)"
    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: "[com.drew.metadata.mp3.Mp3Reader].<init>()"
    functionSourceFile: "com.drew.metadata.mp3.Mp3Reader"
    linkageType: ""
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mp3.Mp3Reader:38,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: "[com.drew.metadata.mp3.Mp3Reader].extract(java.io.InputStream,com.drew.metadata.Metadata)"
    functionSourceFile: "com.drew.metadata.mp3.Mp3Reader"
    linkageType: ""
    functionLinenumber: 41
    functionLinenumberEnd: 161
    functionDepth: 3
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.io.InputStream"
    - "com.drew.metadata.Metadata"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mp3.Mp3Directory].<init>()"
    - "[com.drew.metadata.Metadata].addDirectory(com.drew.metadata.Directory)"
    - "[com.drew.lang.StreamReader].<init>(java.io.InputStream)"
    - "[com.drew.lang.SequentialReader].getInt32()"
    - "[com.drew.imaging.ImageProcessingException].<init>(java.lang.String)"
    - "[com.drew.metadata.Directory].setString(int,java.lang.String)"
    - "[com.drew.metadata.mp3.Mp3Reader].setBitrate(int,int,int)"
    - "[com.drew.metadata.Directory].setInt(int,int)"
    - "[com.drew.metadata.Directory].addError(java.lang.String)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(int)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.io.InvalidClassException].getMessage()"
    - "[java.lang.Throwable].getMessage()"
    - "[java.nio.file.FileSystemException].getMessage()"
    functionUses: 1
    ICount: 131
    EdgeCount: 37
    BranchProfiles:
    - Branch String: "com.drew.metadata.mp3.Mp3Reader:87"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mp3.Mp3Reader:91"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.mp3.Mp3Reader:90"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mp3.Mp3Reader:87"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mp3.Mp3Reader:91"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.mp3.Mp3Reader:90"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mp3.Mp3Reader:95"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mp3.Mp3Reader:104"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.mp3.Mp3Reader:103"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mp3.Mp3Reader:96"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mp3.Mp3Reader:99"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.mp3.Mp3Reader:98"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mp3.Mp3Reader:99"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mp3.Mp3Reader:111"
        BranchSideFuncs:
        - "setInt(int,int)"
      - BranchSide: "com.drew.metadata.mp3.Mp3Reader:110"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mp3.Mp3Reader:151"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mp3.Mp3Reader:159"
        BranchSideFuncs:
        - "append(java.lang.String)"
        - "toString()"
        - "setString(int,java.lang.String)"
        - "append(int)"
        - "setBitrate(int,int,int)"
        - "<init>()"
      - BranchSide: "com.drew.metadata.mp3.Mp3Reader:158"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mp3.Mp3Reader:151"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mp3.Mp3Reader:159"
        BranchSideFuncs:
        - "append(java.lang.String)"
        - "toString()"
        - "setString(int,java.lang.String)"
        - "append(int)"
        - "setBitrate(int,int,int)"
        - "<init>()"
      - BranchSide: "com.drew.metadata.mp3.Mp3Reader:158"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mp3.Mp3Reader:151"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mp3.Mp3Reader:159"
        BranchSideFuncs:
        - "append(java.lang.String)"
        - "toString()"
        - "setString(int,java.lang.String)"
        - "append(int)"
        - "setBitrate(int,int,int)"
        - "<init>()"
      - BranchSide: "com.drew.metadata.mp3.Mp3Reader:158"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.mp3.Mp3Reader:42,1"
      Dst: "[com.drew.metadata.mp3.Mp3Directory].<init>()"
    - Src: "com.drew.metadata.mp3.Mp3Reader:43,1"
      Dst: "[com.drew.metadata.Metadata].addDirectory(com.drew.metadata.Directory)"
    - Src: "com.drew.metadata.mp3.Mp3Reader:46,1"
      Dst: "[com.drew.lang.StreamReader].<init>(java.io.InputStream)"
    - Src: "com.drew.metadata.mp3.Mp3Reader:48,1"
      Dst: "[com.drew.lang.SequentialReader].getInt32()"
    - Src: "com.drew.metadata.mp3.Mp3Reader:54,1"
      Dst: "[com.drew.imaging.ImageProcessingException].<init>(java.lang.String)"
    - Src: "com.drew.metadata.mp3.Mp3Reader:56,1"
      Dst: "[com.drew.metadata.Directory].setString(int,java.lang.String)"
    - Src: "com.drew.metadata.mp3.Mp3Reader:88,1"
      Dst: "[com.drew.metadata.mp3.Mp3Reader].setBitrate(int,int,int)"
    - Src: "com.drew.metadata.mp3.Mp3Reader:88,1"
      Dst: "[com.drew.metadata.Directory].setInt(int,int)"
    - Src: "com.drew.metadata.mp3.Mp3Reader:104,1"
      Dst: "[com.drew.metadata.Directory].addError(java.lang.String)"
    - Src: "com.drew.metadata.mp3.Mp3Reader:153,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.mp3.Mp3Reader:153,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    - Src: "com.drew.metadata.mp3.Mp3Reader:153,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.mp3.Mp3Reader:153,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "com.drew.metadata.mp3.Mp3Reader:156,1"
      Dst: "[java.lang.Throwable].getMessage()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 38
    CyclomaticComplexity: 24
  - functionName: "[com.drew.metadata.mp3.Mp3Directory].<init>()"
    functionSourceFile: "com.drew.metadata.mp3.Mp3Directory"
    linkageType: ""
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].<init>()"
    - "[com.drew.metadata.mp3.Mp3Descriptor].<init>(com.drew.metadata.mp3.Mp3Directory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 1
    ICount: 6
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mp3.Mp3Directory:58,1"
      Dst: "[com.drew.metadata.Directory].<init>()"
    - Src: "com.drew.metadata.mp3.Mp3Directory:59,1"
      Dst: "[com.drew.metadata.mp3.Mp3Descriptor].<init>(com.drew.metadata.mp3.Mp3Directory)"
    - Src: "com.drew.metadata.mp3.Mp3Directory:59,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.mp3.Mp3Reader].setBitrate(int,int,int)"
    functionSourceFile: "com.drew.metadata.mp3.Mp3Reader"
    linkageType: ""
    functionLinenumber: 163
    functionLinenumberEnd: 212
    functionDepth: 0
    returnType: "int"
    argCount: 3
    argTypes:
    - "int"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 136
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.metadata.mp3.Mp3Reader:183"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mp3.Mp3Reader:195"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mp3.Mp3Reader:196"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mp3.Mp3Reader:210"
        BranchSideFuncs: []
    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: 12
    CyclomaticComplexity: 9
  - functionName: "[com.drew.metadata.mov.atoms.MusicSampleDescriptionAtom].<init>(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
    functionSourceFile: "com.drew.metadata.mov.atoms.MusicSampleDescriptionAtom"
    linkageType: ""
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "com.drew.metadata.mov.atoms.Atom"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mov.atoms.SampleDescriptionAtom].<init>(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.atoms.MusicSampleDescriptionAtom:38,1"
      Dst: "[com.drew.metadata.mov.atoms.SampleDescriptionAtom].<init>(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.mov.atoms.MusicSampleDescriptionAtom].getSampleDescription(com.drew.lang.SequentialReader)"
    functionSourceFile: "com.drew.metadata.mov.atoms.MusicSampleDescriptionAtom"
    linkageType: ""
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionDepth: 2
    returnType: "com.drew.metadata.mov.atoms.MusicSampleDescriptionAtom$MusicSampleDescription"
    argCount: 1
    argTypes:
    - "com.drew.lang.SequentialReader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mov.atoms.MusicSampleDescriptionAtom$MusicSampleDescription].<init>(com.drew.lang.SequentialReader)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.atoms.MusicSampleDescriptionAtom:45,1"
      Dst: "[com.drew.metadata.mov.atoms.MusicSampleDescriptionAtom$MusicSampleDescription].<init>(com.drew.lang.SequentialReader)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.mov.atoms.MusicSampleDescriptionAtom$MusicSampleDescription].<init>(com.drew.lang.SequentialReader)"
    functionSourceFile: "com.drew.metadata.mov.atoms.MusicSampleDescriptionAtom$MusicSampleDescription"
    linkageType: ""
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.lang.SequentialReader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mov.atoms.SampleDescription].<init>(com.drew.lang.SequentialReader)"
    - "[com.drew.lang.SequentialReader].getUInt32()"
    functionUses: 1
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.atoms.MusicSampleDescriptionAtom$MusicSampleDescription:59,1"
      Dst: "[com.drew.metadata.mov.atoms.SampleDescription].<init>(com.drew.lang.SequentialReader)"
    - Src: "com.drew.metadata.mov.atoms.MusicSampleDescriptionAtom$MusicSampleDescription:61,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt32()"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.mov.atoms.MusicSampleDescriptionAtom].addMetadata(com.drew.metadata.mov.media.QuickTimeMusicDirectory)"
    functionSourceFile: "com.drew.metadata.mov.atoms.MusicSampleDescriptionAtom"
    linkageType: ""
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.mov.media.QuickTimeMusicDirectory"
    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: "[com.drew.metadata.mov.media.QuickTimeTimecodeDescriptor].<init>(com.drew.metadata.mov.QuickTimeDirectory)"
    functionSourceFile: "com.drew.metadata.mov.media.QuickTimeTimecodeDescriptor"
    linkageType: ""
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.mov.QuickTimeDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mov.QuickTimeDescriptor].<init>(com.drew.metadata.mov.QuickTimeDirectory)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.media.QuickTimeTimecodeDescriptor:34,1"
      Dst: "[com.drew.metadata.mov.QuickTimeDescriptor].<init>(com.drew.metadata.mov.QuickTimeDirectory)"
    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: "[com.drew.metadata.exif.PanasonicRawWbInfo2Descriptor].<init>(com.drew.metadata.exif.PanasonicRawWbInfo2Directory)"
    functionSourceFile: "com.drew.metadata.exif.PanasonicRawWbInfo2Descriptor"
    linkageType: ""
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.exif.PanasonicRawWbInfo2Directory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.PanasonicRawWbInfo2Descriptor:41,1"
      Dst: "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    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: "[com.drew.metadata.exif.PanasonicRawWbInfo2Descriptor].getDescription(int)"
    functionSourceFile: "com.drew.metadata.exif.PanasonicRawWbInfo2Descriptor"
    linkageType: ""
    functionLinenumber: 47
    functionLinenumberEnd: 59
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.PanasonicRawWbInfo2Descriptor].getWbTypeDescription(int)"
    - "[com.drew.metadata.TagDescriptor].getDescription(int)"
    functionUses: 1
    ICount: 7
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.PanasonicRawWbInfo2Descriptor:56,1"
      Dst: "[com.drew.metadata.exif.PanasonicRawWbInfo2Descriptor].getWbTypeDescription(int)"
    - Src: "com.drew.metadata.exif.PanasonicRawWbInfo2Descriptor:58,1"
      Dst: "[com.drew.metadata.TagDescriptor].getDescription(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: 3
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.PanasonicRawWbInfo2Descriptor].getWbTypeDescription(int)"
    functionSourceFile: "com.drew.metadata.exif.PanasonicRawWbInfo2Descriptor"
    linkageType: ""
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[com.drew.metadata.exif.ExifDescriptorBase].getWhiteBalanceDescription(int)"
    - "[java.lang.Integer].intValue()"
    functionUses: 1
    ICount: 10
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.PanasonicRawWbInfo2Descriptor:66"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.PanasonicRawWbInfo2Descriptor:68"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.PanasonicRawWbInfo2Descriptor:67"
        BranchSideFuncs:
        - "getWhiteBalanceDescription(int)"
        - "intValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.PanasonicRawWbInfo2Descriptor:65,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.PanasonicRawWbInfo2Descriptor:68,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.PanasonicRawWbInfo2Descriptor:68,1"
      Dst: "[com.drew.metadata.exif.ExifDescriptorBase].getWhiteBalanceDescription(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: 3
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.pcx.PcxReader].<init>()"
    functionSourceFile: "com.drew.metadata.pcx.PcxReader"
    linkageType: ""
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.pcx.PcxReader: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: "[com.drew.metadata.pcx.PcxReader].extract(com.drew.lang.SequentialReader,com.drew.metadata.Metadata)"
    functionSourceFile: "com.drew.metadata.pcx.PcxReader"
    linkageType: ""
    functionLinenumber: 42
    functionLinenumberEnd: 87
    functionDepth: 3
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "com.drew.metadata.Metadata"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.SequentialReader].setMotorolaByteOrder(boolean)"
    - "[com.drew.metadata.pcx.PcxDirectory].<init>()"
    - "[com.drew.metadata.Metadata].addDirectory(com.drew.metadata.Directory)"
    - "[com.drew.lang.SequentialReader].getInt8()"
    - "[com.drew.imaging.ImageProcessingException].<init>(java.lang.String)"
    - "[com.drew.metadata.Directory].setInt(int,int)"
    - "[com.drew.lang.SequentialReader].getUInt8()"
    - "[com.drew.lang.SequentialReader].getUInt16()"
    - "[com.drew.lang.SequentialByteArrayReader].getBytes(int)"
    - "[com.drew.lang.StreamReader].getBytes(int)"
    - "[com.drew.metadata.Directory].setByteArray(int,byte[])"
    - "[com.drew.lang.StreamReader].skip(long)"
    - "[com.drew.lang.SequentialByteArrayReader].skip(long)"
    - "[java.lang.StringBuilder].<init>()"
    - "[com.drew.metadata.Directory].addError(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[org.xml.sax.SAXException].getMessage()"
    - "[java.lang.StringBuilder].toString()"
    - "[com.drew.lang.SequentialReader].getBytes(int)"
    - "[com.drew.lang.SequentialReader].skip(long)"
    - "[java.lang.Throwable].getMessage()"
    functionUses: 1
    ICount: 63
    EdgeCount: 43
    BranchProfiles:
    - Branch String: "com.drew.metadata.pcx.PcxReader:50"
      Branch Sides:
      - BranchSide: "com.drew.metadata.pcx.PcxReader:53"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.pcx.PcxReader:52"
        BranchSideFuncs:
        - "getInt8()"
    - Branch String: "com.drew.metadata.pcx.PcxReader:56"
      Branch Sides:
      - BranchSide: "com.drew.metadata.pcx.PcxReader:59"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "com.drew.metadata.pcx.PcxReader:58"
        BranchSideFuncs:
        - "skip(long)"
        - "getUInt8()"
        - "setByteArray(int,byte[])"
        - "getBytes(int)"
    - Branch String: "com.drew.metadata.pcx.PcxReader:72"
      Branch Sides:
      - BranchSide: "com.drew.metadata.pcx.PcxReader:75"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.pcx.PcxReader:74"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.pcx.PcxReader:76"
      Branch Sides:
      - BranchSide: "com.drew.metadata.pcx.PcxReader:79"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.pcx.PcxReader:78"
        BranchSideFuncs:
        - "getUInt16()"
    - Branch String: "com.drew.metadata.pcx.PcxReader:80"
      Branch Sides:
      - BranchSide: "com.drew.metadata.pcx.PcxReader:85"
        BranchSideFuncs:
        - "setInt(int,int)"
      - BranchSide: "com.drew.metadata.pcx.PcxReader:84"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.pcx.PcxReader:43,1"
      Dst: "[com.drew.lang.SequentialReader].setMotorolaByteOrder(boolean)"
    - Src: "com.drew.metadata.pcx.PcxReader:45,1"
      Dst: "[com.drew.metadata.pcx.PcxDirectory].<init>()"
    - Src: "com.drew.metadata.pcx.PcxReader:46,1"
      Dst: "[com.drew.metadata.Metadata].addDirectory(com.drew.metadata.Directory)"
    - Src: "com.drew.metadata.pcx.PcxReader:49,1"
      Dst: "[com.drew.lang.SequentialReader].getInt8()"
    - Src: "com.drew.metadata.pcx.PcxReader:51,1"
      Dst: "[com.drew.imaging.ImageProcessingException].<init>(java.lang.String)"
    - Src: "com.drew.metadata.pcx.PcxReader:53,1"
      Dst: "[com.drew.metadata.Directory].setInt(int,int)"
    - Src: "com.drew.metadata.pcx.PcxReader:59,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt8()"
    - Src: "com.drew.metadata.pcx.PcxReader:60,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt16()"
    - Src: "com.drew.metadata.pcx.PcxReader:66,1"
      Dst: "[com.drew.lang.SequentialReader].getBytes(int)"
    - Src: "com.drew.metadata.pcx.PcxReader:66,1"
      Dst: "[com.drew.metadata.Directory].setByteArray(int,byte[])"
    - Src: "com.drew.metadata.pcx.PcxReader:67,1"
      Dst: "[com.drew.lang.SequentialReader].skip(long)"
    - Src: "com.drew.metadata.pcx.PcxReader:84,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.pcx.PcxReader:84,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.pcx.PcxReader:84,1"
      Dst: "[java.lang.Throwable].getMessage()"
    - Src: "com.drew.metadata.pcx.PcxReader:84,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "com.drew.metadata.pcx.PcxReader:84,1"
      Dst: "[com.drew.metadata.Directory].addError(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: 13
    CyclomaticComplexity: 4
  - functionName: "[com.drew.metadata.pcx.PcxDirectory].<init>()"
    functionSourceFile: "com.drew.metadata.pcx.PcxDirectory"
    linkageType: ""
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].<init>()"
    - "[com.drew.metadata.pcx.PcxDescriptor].<init>(com.drew.metadata.pcx.PcxDirectory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 1
    ICount: 6
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.pcx.PcxDirectory:70,1"
      Dst: "[com.drew.metadata.Directory].<init>()"
    - Src: "com.drew.metadata.pcx.PcxDirectory:71,1"
      Dst: "[com.drew.metadata.pcx.PcxDescriptor].<init>(com.drew.metadata.pcx.PcxDirectory)"
    - Src: "com.drew.metadata.pcx.PcxDirectory:71,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.pcx.PcxDescriptor].<init>(com.drew.metadata.pcx.PcxDirectory)"
    functionSourceFile: "com.drew.metadata.pcx.PcxDescriptor"
    linkageType: ""
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.pcx.PcxDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.pcx.PcxDescriptor:38,1"
      Dst: "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    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: "[com.drew.lang.StreamReader].getByte()"
    functionSourceFile: "com.drew.lang.StreamReader"
    linkageType: ""
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionDepth: 0
    returnType: "byte"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.BufferedInputStream:java.io.ByteArrayInputStream:java.io.FileInputStream:java.io.FilterInputStream:java.io.InputStream$1:java.io.ObjectInputStream:java.io.ObjectInputStream$BlockDataInputStream:java.io.ObjectInputStream$PeekInputStream:java.lang.ProcessBuilder$NullInputStream:java.lang.ProcessImpl$DeferredCloseInputStream:java.util.jar.Manifest$FastInputStream:java.util.zip.InflaterInputStream].read()"
    - "[java.io.EOFException].<init>(java.lang.String)"
    - "[java.io.InputStream].read()"
    functionUses: 56
    ICount: 13
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.drew.lang.StreamReader:61"
      Branch Sides:
      - BranchSide: "com.drew.lang.StreamReader:63"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "com.drew.lang.StreamReader:62"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.lang.StreamReader:60,1"
      Dst: "[java.io.InputStream].read()"
    - Src: "com.drew.lang.StreamReader:62,1"
      Dst: "[java.io.EOFException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.lang.StreamReader].trySkip(long)"
    functionSourceFile: "com.drew.lang.StreamReader"
    linkageType: ""
    functionLinenumber: 110
    functionLinenumberEnd: 115
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[com.drew.lang.StreamReader].skipInternal(long)"
    functionUses: 1
    ICount: 15
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.drew.lang.StreamReader:111"
      Branch Sides:
      - BranchSide: "com.drew.lang.StreamReader:114"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "com.drew.lang.StreamReader:113"
        BranchSideFuncs:
        - "skipInternal(long)"
    - Branch String: "com.drew.lang.StreamReader:114"
      Branch Sides:
      - BranchSide: "com.drew.lang.StreamReader:113"
        BranchSideFuncs:
        - "skipInternal(long)"
    Callsites:
    - Src: "com.drew.lang.StreamReader:112,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.drew.lang.StreamReader:114,1"
      Dst: "[com.drew.lang.StreamReader].skipInternal(long)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[com.drew.lang.StreamReader].available()"
    functionSourceFile: "com.drew.lang.StreamReader"
    linkageType: ""
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.BufferedInputStream:java.io.ByteArrayInputStream:java.io.FileInputStream:java.io.FilterInputStream:java.io.InputStream:java.io.InputStream$1:java.io.ObjectInputStream:java.io.ObjectInputStream$BlockDataInputStream:java.io.ObjectInputStream$PeekInputStream:java.lang.ProcessBuilder$NullInputStream:java.lang.ProcessImpl$DeferredCloseInputStream:java.util.jar.Manifest$FastInputStream:java.util.zip.InflaterInputStream:java.util.zip.ZipInputStream].available()"
    - "[java.io.InputStream].available()"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.lang.StreamReader:120,1"
      Dst: "[java.io.InputStream].available()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.heif.boxes.ItemLocationBox$Extent].<init>(long,java.lang.Long,long,long)"
    functionSourceFile: "com.drew.metadata.heif.boxes.ItemLocationBox$Extent"
    linkageType: ""
    functionLinenumber: 126
    functionLinenumberEnd: 133
    functionDepth: 0
    returnType: "void"
    argCount: 4
    argTypes:
    - "long"
    - "java.lang.Long"
    - "long"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 11
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.heif.boxes.ItemLocationBox$Extent:127,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: "[com.drew.metadata.heif.boxes.ItemLocationBox$Extent].getOffset()"
    functionSourceFile: "com.drew.metadata.heif.boxes.ItemLocationBox$Extent"
    linkageType: ""
    functionLinenumber: 134
    functionLinenumberEnd: 136
    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: "[com.drew.metadata.heif.boxes.ItemLocationBox$Extent].getLength()"
    functionSourceFile: "com.drew.metadata.heif.boxes.ItemLocationBox$Extent"
    linkageType: ""
    functionLinenumber: 138
    functionLinenumberEnd: 140
    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: "[com.drew.metadata.heif.boxes.ItemLocationBox$Extent].getItemId()"
    functionSourceFile: "com.drew.metadata.heif.boxes.ItemLocationBox$Extent"
    linkageType: ""
    functionLinenumber: 142
    functionLinenumberEnd: 144
    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: "[com.drew.metadata.icc.IccReader].getSegmentTypes()"
    functionSourceFile: "com.drew.metadata.icc.IccReader"
    linkageType: ""
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionDepth: 0
    returnType: "java.lang.Iterable"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Collections].singletonList(java.lang.Object)"
    functionUses: 2
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.icc.IccReader:57,1"
      Dst: "[java.util.Collections].singletonList(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: "[com.drew.metadata.icc.IccReader].readJpegSegments(java.lang.Iterable<byte[]>,com.drew.metadata.Metadata,com.drew.imaging.jpeg.JpegSegmentType)"
    functionSourceFile: "com.drew.metadata.icc.IccReader"
    linkageType: ""
    functionLinenumber: 61
    functionLinenumberEnd: 91
    functionDepth: 5
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.Iterable<byte[]>"
    - "com.drew.metadata.Metadata"
    - "com.drew.imaging.jpeg.JpegSegmentType"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].length()"
    - "[com.adobe.internal.xmp.impl.XMPNode$1].hasNext()"
    - "[jdk.internal.module.ModuleBootstrap$2].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIterator].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIteratorChildren].hasNext()"
    - "[java.nio.file.FileTreeIterator].hasNext()"
    - "[java.util.concurrent.ConcurrentHashMap$EntrySetView].iterator()"
    - "[jdk.internal.module.ModuleBootstrap$2].next()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIterator].next()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl].next()"
    - "[com.adobe.internal.xmp.impl.XMPNode$1].next()"
    - "[java.io.BufferedReader$1].next()"
    - "[java.lang.String].<init>(byte[],int,int)"
    - "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    - "[com.drew.lang.ByteArrayReader].<init>(byte[])"
    - "[com.drew.metadata.icc.IccReader].extract(com.drew.lang.RandomAccessReader,com.drew.metadata.Metadata)"
    - "[java.lang.Iterable].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    functionUses: 1
    ICount: 46
    EdgeCount: 20
    BranchProfiles:
    - Branch String: "com.drew.metadata.icc.IccReader:68"
      Branch Sides:
      - BranchSide: "com.drew.metadata.icc.IccReader:88"
        BranchSideFuncs:
        - "hasNext()"
        - "iterator()"
        - "<init>(byte[],int,int)"
        - "next()"
        - "equalsIgnoreCase(java.lang.String)"
      - BranchSide: "com.drew.metadata.icc.IccReader:87"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.icc.IccReader:70"
      Branch Sides:
      - BranchSide: "com.drew.metadata.icc.IccReader:62"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.icc.IccReader:61"
        BranchSideFuncs:
        - "hasNext()"
        - "iterator()"
        - "next()"
        - "length()"
    - Branch String: "com.drew.metadata.icc.IccReader:70"
      Branch Sides:
      - BranchSide: "com.drew.metadata.icc.IccReader:76"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.icc.IccReader:75"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.icc.IccReader:76"
      Branch Sides:
      - BranchSide: "com.drew.metadata.icc.IccReader:81"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.icc.IccReader:80"
        BranchSideFuncs:
        - "arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    - Branch String: "com.drew.metadata.icc.IccReader:88"
      Branch Sides:
      - BranchSide: "com.drew.metadata.icc.IccReader:90"
        BranchSideFuncs:
        - "extract(com.drew.lang.RandomAccessReader,com.drew.metadata.Metadata)"
        - "<init>(byte[])"
      - BranchSide: "com.drew.metadata.icc.IccReader:89"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.icc.IccReader:62,1"
      Dst: "[java.lang.String].length()"
    - Src: "com.drew.metadata.icc.IccReader:68,1"
      Dst: "[java.lang.Iterable].iterator()"
    - Src: "com.drew.metadata.icc.IccReader:68,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.drew.metadata.icc.IccReader:68,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.drew.metadata.icc.IccReader:70,1"
      Dst: "[java.lang.String].<init>(byte[],int,int)"
    - Src: "com.drew.metadata.icc.IccReader:70,1"
      Dst: "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - Src: "com.drew.metadata.icc.IccReader:79,1"
      Dst: "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    - Src: "com.drew.metadata.icc.IccReader:89,1"
      Dst: "[com.drew.lang.ByteArrayReader].<init>(byte[])"
    - Src: "com.drew.metadata.icc.IccReader:89,1"
      Dst: "[com.drew.metadata.icc.IccReader].extract(com.drew.lang.RandomAccessReader,com.drew.metadata.Metadata)"
    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: 6
  - functionName: "[com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable].<init>(com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable$HuffmanTableClass,int,byte[],byte[])"
    functionSourceFile: "com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable"
    linkageType: ""
    functionLinenumber: 245
    functionLinenumberEnd: 258
    functionDepth: 0
    returnType: "void"
    argCount: 4
    argTypes:
    - "com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable$HuffmanTableClass"
    - "int"
    - "byte[]"
    - "byte[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    functionUses: 1
    ICount: 23
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable:247"
      Branch Sides:
      - BranchSide: "com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable:249"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable:248"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable:249"
      Branch Sides:
      - BranchSide: "com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable:252"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable:251"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable:246,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable:248,1"
      Dst: "[java.lang.IllegalArgumentException].<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: 5
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable].getTableLength()"
    functionSourceFile: "com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable"
    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: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable].getTableClass()"
    functionSourceFile: "com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable$HuffmanTableClass"
    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: "[com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable].getTableDestinationId()"
    functionSourceFile: "com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable"
    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: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable].getLengthBytes()"
    functionSourceFile: "com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "byte[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable:290,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: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable].getValueBytes()"
    functionSourceFile: "com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "byte[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable:301,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: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable].isTypical()"
    functionSourceFile: "com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Arrays].equals(byte[],byte[])"
    functionUses: 0
    ICount: 48
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable:330"
      Branch Sides:
      - BranchSide: "com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable:336"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable:335"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable:332"
      Branch Sides:
      - BranchSide: "com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable:334"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable:333"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable:333"
      Branch Sides:
      - BranchSide: "com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable:331"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable:330"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable:334"
      Branch Sides:
      - BranchSide: "com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable:331"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable:330"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable:335"
      Branch Sides:
      - BranchSide: "com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable:331"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable:330"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable:336"
      Branch Sides:
      - BranchSide: "com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable:343"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable:342"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable:338"
      Branch Sides:
      - BranchSide: "com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable:340"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable:339"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable:339"
      Branch Sides:
      - BranchSide: "com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable:337"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable:336"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable:340"
      Branch Sides:
      - BranchSide: "com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable:337"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable:336"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable:341"
      Branch Sides:
      - BranchSide: "com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable:336"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable:332,1"
      Dst: "[java.util.Arrays].equals(byte[],byte[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 17
    CyclomaticComplexity: 9
  - functionName: "[com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable].isOptimized()"
    functionSourceFile: "com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable].isTypical()"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable:354"
      Branch Sides:
      - BranchSide: "com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable:353"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable:354,1"
      Dst: "[com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable].isTypical()"
    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: "[com.drew.metadata.Tag].<init>(int,com.drew.metadata.Directory)"
    functionSourceFile: "com.drew.metadata.Tag"
    linkageType: ""
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "int"
    - "com.drew.metadata.Directory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.Tag: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: "[com.drew.metadata.Tag].getTagTypeHex()"
    functionSourceFile: "com.drew.metadata.Tag"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Integer].valueOf(int)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.Tag:64,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.drew.metadata.Tag:64,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: "[com.drew.metadata.Tag].getTagName()"
    functionSourceFile: "com.drew.metadata.Tag"
    linkageType: ""
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getTagName(int)"
    - "[com.drew.metadata.ErrorDirectory].getTagName(int)"
    functionUses: 1
    ICount: 5
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.Tag:101,1"
      Dst: "[com.drew.metadata.Directory].getTagName(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: "[com.drew.metadata.Tag].getDirectoryName()"
    functionSourceFile: "com.drew.metadata.Tag"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getName()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.Tag:113,1"
      Dst: "[com.drew.metadata.Directory].getName()"
    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: "[com.drew.metadata.Tag].toString()"
    functionSourceFile: "com.drew.metadata.Tag"
    linkageType: ""
    functionLinenumber: 124
    functionLinenumberEnd: 129
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Tag].getDescription()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[com.drew.metadata.Directory].getString(int)"
    - "[com.drew.metadata.Tag].getTagType()"
    - "[java.lang.StringBuilder].toString()"
    - "[com.drew.metadata.exif.makernotes.KodakMakernoteDirectory].getName()"
    - "[com.drew.metadata.exif.makernotes.PentaxMakernoteDirectory].getName()"
    - "[com.drew.metadata.mov.media.QuickTimeTextDirectory].getName()"
    - "[com.drew.metadata.exif.makernotes.ReconyxHyperFireMakernoteDirectory].getName()"
    - "[com.drew.metadata.exif.PrintIMDirectory].getName()"
    - "[com.drew.metadata.mp4.Mp4Directory].getName()"
    - "[com.drew.metadata.bmp.BmpHeaderDirectory].getName()"
    - "[com.drew.metadata.exif.makernotes.RicohMakernoteDirectory].getName()"
    - "[com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDirectory].getName()"
    - "[com.drew.metadata.gif.GifHeaderDirectory].getName()"
    - "[com.drew.metadata.exif.ExifImageDirectory].getName()"
    - "[com.drew.metadata.exif.makernotes.SonyTag9050bDirectory].getName()"
    - "[com.drew.metadata.mov.QuickTimeDirectory].getName()"
    - "[com.drew.metadata.gif.GifImageDirectory].getName()"
    - "[com.drew.metadata.mp4.media.Mp4UuidBoxDirectory].getName()"
    - "[com.drew.metadata.exif.makernotes.CasioType1MakernoteDirectory].getName()"
    - "[com.drew.metadata.exif.makernotes.ReconyxUltraFireMakernoteDirectory].getName()"
    - "[com.drew.metadata.jfxx.JfxxDirectory].getName()"
    - "[com.drew.metadata.exif.makernotes.SonyType6MakernoteDirectory].getName()"
    - "[com.drew.metadata.wav.WavDirectory].getName()"
    - "[com.drew.metadata.photoshop.DuckyDirectory].getName()"
    - "[com.drew.metadata.adobe.AdobeJpegDirectory].getName()"
    - "[com.drew.metadata.exif.ExifIFD0Directory].getName()"
    - "[com.drew.metadata.iptc.IptcDirectory].getName()"
    - "[com.drew.metadata.webp.WebpDirectory].getName()"
    - "[com.drew.metadata.eps.EpsDirectory].getName()"
    - "[com.drew.metadata.jpeg.JpegCommentDirectory].getName()"
    - "[com.drew.metadata.mov.media.QuickTimeMusicDirectory].getName()"
    - "[com.drew.metadata.jpeg.HuffmanTablesDirectory].getName()"
    - "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDirectory].getName()"
    - "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDirectory].getName()"
    - "[com.drew.metadata.mov.media.QuickTimeSoundDirectory].getName()"
    - "[com.drew.metadata.exif.makernotes.NikonPictureControl2Directory].getName()"
    - "[com.drew.metadata.mp4.media.Mp4TextDirectory].getName()"
    - "[com.drew.metadata.gif.GifControlDirectory].getName()"
    - "[com.drew.metadata.exif.makernotes.SanyoMakernoteDirectory].getName()"
    - "[com.drew.metadata.exif.makernotes.KyoceraMakernoteDirectory].getName()"
    - "[com.drew.metadata.mp4.media.Mp4VideoDirectory].getName()"
    - "[com.drew.metadata.exif.PanasonicRawDistortionDirectory].getName()"
    - "[com.drew.metadata.exif.makernotes.OlympusEquipmentMakernoteDirectory].getName()"
    - "[com.drew.metadata.exif.makernotes.CanonMakernoteDirectory].getName()"
    - "[com.drew.metadata.exif.makernotes.OlympusRawDevelopment2MakernoteDirectory].getName()"
    - "[com.drew.metadata.exif.PanasonicRawIFD0Directory].getName()"
    - "[com.drew.metadata.avi.AviDirectory].getName()"
    - "[com.drew.metadata.heif.HeifDirectory].getName()"
    - "[com.drew.metadata.file.FileSystemDirectory].getName()"
    - "[com.drew.metadata.jpeg.JpegDirectory].getName()"
    - "[com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDirectory].getName()"
    - "[com.drew.metadata.mp4.media.Mp4SoundDirectory].getName()"
    - "[com.drew.metadata.exif.makernotes.NikonPictureControl1Directory].getName()"
    - "[com.drew.metadata.mp3.Mp3Directory].getName()"
    - "[com.drew.metadata.exif.makernotes.SigmaMakernoteDirectory].getName()"
    - "[com.drew.metadata.exif.PanasonicRawWbInfoDirectory].getName()"
    - "[com.drew.metadata.mov.media.QuickTimeVideoDirectory].getName()"
    - "[com.drew.metadata.mov.metadata.QuickTimeMetadataDirectory].getName()"
    - "[com.drew.metadata.gif.GifCommentDirectory].getName()"
    - "[com.drew.metadata.mov.media.QuickTimeTimecodeDirectory].getName()"
    - "[com.drew.metadata.ErrorDirectory].getName()"
    - "[com.drew.metadata.png.PngDirectory].getName()"
    - "[com.drew.metadata.exif.makernotes.LeicaType5MakernoteDirectory].getName()"
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDirectory].getName()"
    - "[com.drew.metadata.exif.makernotes.OlympusMakernoteDirectory].getName()"
    - "[com.drew.metadata.exif.makernotes.FujifilmMakernoteDirectory].getName()"
    - "[com.drew.metadata.exif.makernotes.ReconyxHyperFire2MakernoteDirectory].getName()"
    - "[com.drew.metadata.exif.PanasonicRawWbInfo2Directory].getName()"
    - "[com.drew.metadata.exif.makernotes.OlympusRawDevelopmentMakernoteDirectory].getName()"
    - "[com.drew.metadata.exif.makernotes.NikonType1MakernoteDirectory].getName()"
    - "[com.drew.metadata.exif.makernotes.AppleRunTimeMakernoteDirectory].getName()"
    - "[com.drew.metadata.photoshop.PsdHeaderDirectory].getName()"
    - "[com.drew.metadata.exif.GpsDirectory].getName()"
    - "[com.drew.metadata.file.FileTypeDirectory].getName()"
    - "[com.drew.metadata.xmp.XmpDirectory].getName()"
    - "[com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDirectory].getName()"
    - "[com.drew.metadata.exif.ExifThumbnailDirectory].getName()"
    - "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDirectory].getName()"
    - "[com.drew.metadata.exif.makernotes.LeicaMakernoteDirectory].getName()"
    - "[com.drew.metadata.photoshop.PhotoshopDirectory].getName()"
    - "[com.drew.metadata.exif.ExifSubIFDDirectory].getName()"
    - "[com.drew.metadata.mp4.media.Mp4MetaDirectory].getName()"
    - "[com.drew.metadata.ico.IcoDirectory].getName()"
    - "[com.drew.metadata.icc.IccDirectory].getName()"
    - "[com.drew.metadata.exif.makernotes.AppleMakernoteDirectory].getName()"
    - "[com.drew.metadata.png.PngChromaticitiesDirectory].getName()"
    - "[com.drew.metadata.gif.GifAnimationDirectory].getName()"
    - "[com.drew.metadata.pcx.PcxDirectory].getName()"
    - "[com.drew.metadata.exif.ExifInteropDirectory].getName()"
    - "[com.drew.metadata.jfif.JfifDirectory].getName()"
    - "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDirectory].getName()"
    - "[com.drew.metadata.exif.makernotes.SamsungType2MakernoteDirectory].getName()"
    - "[com.drew.metadata.mp4.media.Mp4HintDirectory].getName()"
    - "[com.drew.metadata.mov.media.QuickTimeSubtitleDirectory].getName()"
    - "[com.drew.metadata.Tag].getTagName()"
    - "[com.drew.metadata.Directory].getName()"
    functionUses: 14
    ICount: 25
    EdgeCount: 106
    BranchProfiles:
    - Branch String: "com.drew.metadata.Tag:126"
      Branch Sides:
      - BranchSide: "com.drew.metadata.Tag:128"
        BranchSideFuncs:
        - "getTagType()"
        - "getString(int)"
      - BranchSide: "com.drew.metadata.Tag:127"
        BranchSideFuncs:
        - "<init>()"
        - "getName()"
        - "append(java.lang.String)"
        - "toString()"
        - "getTagName()"
    Callsites:
    - Src: "com.drew.metadata.Tag:125,1"
      Dst: "[com.drew.metadata.Tag].getDescription()"
    - Src: "com.drew.metadata.Tag:127,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.Tag:127,1"
      Dst: "[com.drew.metadata.Tag].getTagType()"
    - Src: "com.drew.metadata.Tag:127,1"
      Dst: "[com.drew.metadata.Directory].getString(int)"
    - Src: "com.drew.metadata.Tag:127,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.Tag:127,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "com.drew.metadata.Tag:128,1"
      Dst: "[com.drew.metadata.Directory].getName()"
    - Src: "com.drew.metadata.Tag:128,1"
      Dst: "[com.drew.metadata.Tag].getTagName()"
    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: "[com.drew.imaging.jpeg.JpegSegmentType].values()"
    functionSourceFile: "com.drew.imaging.jpeg.JpegSegmentType"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.drew.imaging.jpeg.JpegSegmentType[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].clone()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.jpeg.JpegSegmentType:39,1"
      Dst: "[java.lang.Object].clone()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.imaging.jpeg.JpegSegmentType].valueOf(java.lang.String)"
    functionSourceFile: "com.drew.imaging.jpeg.JpegSegmentType"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.drew.imaging.jpeg.JpegSegmentType"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].valueOf(java.lang.Class,java.lang.String)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.jpeg.JpegSegmentType:39,1"
      Dst: "[java.lang.Enum].valueOf(java.lang.Class,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: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.imaging.jpeg.JpegSegmentType].<init>(java.lang.String,int,byte,boolean)"
    functionSourceFile: "com.drew.imaging.jpeg.JpegSegmentType"
    linkageType: ""
    functionLinenumber: 179
    functionLinenumberEnd: 184
    functionDepth: 0
    returnType: "void"
    argCount: 4
    argTypes:
    - "java.lang.String"
    - "int"
    - "byte"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].<init>(java.lang.String,int)"
    functionUses: 39
    ICount: 9
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.jpeg.JpegSegmentType:180,1"
      Dst: "[java.lang.Enum].<init>(java.lang.String,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.imaging.jpeg.JpegSegmentType].$values()"
    functionSourceFile: "com.drew.imaging.jpeg.JpegSegmentType"
    linkageType: ""
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionDepth: 0
    returnType: "com.drew.imaging.jpeg.JpegSegmentType[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 80
    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: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.Age].getYears()"
    functionSourceFile: "com.drew.metadata.Age"
    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: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.Age].getMonths()"
    functionSourceFile: "com.drew.metadata.Age"
    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: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.Age].getDays()"
    functionSourceFile: "com.drew.metadata.Age"
    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: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.Age].getHours()"
    functionSourceFile: "com.drew.metadata.Age"
    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: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.Age].getMinutes()"
    functionSourceFile: "com.drew.metadata.Age"
    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: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.Age].getSeconds()"
    functionSourceFile: "com.drew.metadata.Age"
    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: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.Age].toString()"
    functionSourceFile: "com.drew.metadata.Age"
    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.Integer].valueOf(int)"
    functionUses: 14
    ICount: 22
    EdgeCount: 7
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.Age:115,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.drew.metadata.Age: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: "[com.drew.metadata.Age].equals(java.lang.Object)"
    functionSourceFile: "com.drew.metadata.Age"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].getClass()"
    functionUses: 0
    ICount: 35
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.metadata.Age:144"
      Branch Sides:
      - BranchSide: "com.drew.metadata.Age:145"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.Age:144"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.Age:145"
      Branch Sides:
      - BranchSide: "com.drew.metadata.Age:144"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.Age:145"
      Branch Sides:
      - BranchSide: "com.drew.metadata.Age:146"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.Age:149"
      Branch Sides:
      - BranchSide: "com.drew.metadata.Age:150"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.Age:149"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.Age:150"
      Branch Sides:
      - BranchSide: "com.drew.metadata.Age:151"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.Age:150"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.Age:151"
      Branch Sides:
      - BranchSide: "com.drew.metadata.Age:152"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.Age:151"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.Age:152"
      Branch Sides:
      - BranchSide: "com.drew.metadata.Age:153"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.Age:152"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.Age:153"
      Branch Sides:
      - BranchSide: "com.drew.metadata.Age:154"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.Age:153"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.Age:154"
      Branch Sides:
      - BranchSide: "com.drew.metadata.Age:155"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.Age:145,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: 18
    CyclomaticComplexity: 2
  - functionName: "[com.drew.metadata.Age].hashCode()"
    functionSourceFile: "com.drew.metadata.Age"
    linkageType: ""
    functionLinenumber: 161
    functionLinenumberEnd: 169
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 18
    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: "[com.drew.metadata.heif.boxes.PrimaryItemBox].<init>(com.drew.lang.SequentialReader,com.drew.metadata.heif.boxes.Box)"
    functionSourceFile: "com.drew.metadata.heif.boxes.PrimaryItemBox"
    linkageType: ""
    functionLinenumber: 35
    functionLinenumberEnd: 44
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "com.drew.metadata.heif.boxes.Box"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.heif.boxes.FullBox].<init>(com.drew.lang.SequentialReader,com.drew.metadata.heif.boxes.Box)"
    - "[com.drew.lang.SequentialReader].getUInt16()"
    - "[com.drew.lang.SequentialReader].getUInt32()"
    functionUses: 1
    ICount: 13
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.drew.metadata.heif.boxes.PrimaryItemBox:38"
      Branch Sides:
      - BranchSide: "com.drew.metadata.heif.boxes.PrimaryItemBox:41"
        BranchSideFuncs:
        - "getUInt16()"
      - BranchSide: "com.drew.metadata.heif.boxes.PrimaryItemBox:40"
        BranchSideFuncs:
        - "getUInt32()"
    Callsites:
    - Src: "com.drew.metadata.heif.boxes.PrimaryItemBox:36,1"
      Dst: "[com.drew.metadata.heif.boxes.FullBox].<init>(com.drew.lang.SequentialReader,com.drew.metadata.heif.boxes.Box)"
    - Src: "com.drew.metadata.heif.boxes.PrimaryItemBox:39,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt16()"
    - Src: "com.drew.metadata.heif.boxes.PrimaryItemBox:41,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt32()"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.exif.makernotes.ReconyxHyperFireMakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.ReconyxHyperFireMakernoteDirectory)"
    functionSourceFile: "com.drew.metadata.exif.makernotes.ReconyxHyperFireMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.exif.makernotes.ReconyxHyperFireMakernoteDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.ReconyxHyperFireMakernoteDescriptor:46,1"
      Dst: "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    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: "[com.drew.metadata.exif.makernotes.ReconyxHyperFireMakernoteDescriptor].getDescription(int)"
    functionSourceFile: "com.drew.metadata.exif.makernotes.ReconyxHyperFireMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 52
    functionLinenumberEnd: 103
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[com.drew.metadata.Directory].getString(int)"
    - "[com.drew.metadata.Directory].getIntArray(int)"
    - "[java.lang.Integer].valueOf(int)"
    - "[com.drew.metadata.Directory].getDoubleObject(int)"
    - "[java.text.DecimalFormat].<init>(java.lang.String)"
    - "[java.text.Format].format(java.lang.Object)"
    - "[java.text.SimpleDateFormat].<init>(java.lang.String)"
    - "[java.text.DateFormat].format(java.util.Date)"
    - "[java.text.DateFormat].parse(java.lang.String)"
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    - "[com.drew.metadata.Directory].getStringValue(int)"
    - "[com.drew.metadata.StringValue].toString()"
    - "[com.drew.metadata.TagDescriptor].getDescription(int)"
    functionUses: 1
    ICount: 109
    EdgeCount: 29
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.ReconyxHyperFireMakernoteDescriptor:62"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.ReconyxHyperFireMakernoteDescriptor:64"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.ReconyxHyperFireMakernoteDescriptor:63"
        BranchSideFuncs:
        - "valueOf(int)"
    - Branch String: "com.drew.metadata.exif.makernotes.ReconyxHyperFireMakernoteDescriptor:72"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.ReconyxHyperFireMakernoteDescriptor:69"
        BranchSideFuncs:
        - "format(java.lang.Object)"
        - "getDoubleObject(int)"
    - Branch String: "com.drew.metadata.exif.makernotes.ReconyxHyperFireMakernoteDescriptor:89"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.ReconyxHyperFireMakernoteDescriptor:91"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.ReconyxHyperFireMakernoteDescriptor:90"
        BranchSideFuncs:
        - "toString()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.ReconyxHyperFireMakernoteDescriptor:55,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.ReconyxHyperFireMakernoteDescriptor:55,1"
      Dst: "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - Src: "com.drew.metadata.exif.makernotes.ReconyxHyperFireMakernoteDescriptor:57,1"
      Dst: "[com.drew.metadata.Directory].getString(int)"
    - Src: "com.drew.metadata.exif.makernotes.ReconyxHyperFireMakernoteDescriptor:61,1"
      Dst: "[com.drew.metadata.Directory].getIntArray(int)"
    - Src: "com.drew.metadata.exif.makernotes.ReconyxHyperFireMakernoteDescriptor:64,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.drew.metadata.exif.makernotes.ReconyxHyperFireMakernoteDescriptor:70,1"
      Dst: "[com.drew.metadata.Directory].getDoubleObject(int)"
    - Src: "com.drew.metadata.exif.makernotes.ReconyxHyperFireMakernoteDescriptor:71,1"
      Dst: "[java.text.DecimalFormat].<init>(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.ReconyxHyperFireMakernoteDescriptor:72,1"
      Dst: "[java.text.Format].format(java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.ReconyxHyperFireMakernoteDescriptor:76,1"
      Dst: "[java.text.SimpleDateFormat].<init>(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.ReconyxHyperFireMakernoteDescriptor:77,1"
      Dst: "[java.text.DateFormat].parse(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.ReconyxHyperFireMakernoteDescriptor:77,1"
      Dst: "[java.text.DateFormat].format(java.util.Date)"
    - Src: "com.drew.metadata.exif.makernotes.ReconyxHyperFireMakernoteDescriptor:82,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    - Src: "com.drew.metadata.exif.makernotes.ReconyxHyperFireMakernoteDescriptor:88,1"
      Dst: "[com.drew.metadata.Directory].getStringValue(int)"
    - Src: "com.drew.metadata.exif.makernotes.ReconyxHyperFireMakernoteDescriptor:91,1"
      Dst: "[com.drew.metadata.StringValue].toString()"
    - Src: "com.drew.metadata.exif.makernotes.ReconyxHyperFireMakernoteDescriptor:102,1"
      Dst: "[com.drew.metadata.TagDescriptor].getDescription(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: 24
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.StringValue].toString()"
    functionSourceFile: "com.drew.metadata.StringValue"
    linkageType: ""
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.StringValue].toString(java.nio.charset.Charset)"
    functionUses: 22
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.StringValue:60,1"
      Dst: "[com.drew.metadata.StringValue].toString(java.nio.charset.Charset)"
    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: "[com.drew.metadata.StringValue].toString(java.nio.charset.Charset)"
    functionSourceFile: "com.drew.metadata.StringValue"
    linkageType: ""
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.nio.charset.Charset"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].<init>(byte[],java.nio.charset.Charset)"
    - "[java.lang.String].<init>(byte[])"
    functionUses: 1
    ICount: 11
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.drew.metadata.StringValue:65"
      Branch Sides:
      - BranchSide: "com.drew.metadata.StringValue:69"
        BranchSideFuncs:
        - "<init>(byte[],java.nio.charset.Charset)"
      - BranchSide: "com.drew.metadata.StringValue:68"
        BranchSideFuncs:
        - "<init>(byte[])"
    Callsites:
    - Src: "com.drew.metadata.StringValue:66,1"
      Dst: "[java.lang.String].<init>(byte[],java.nio.charset.Charset)"
    - Src: "com.drew.metadata.StringValue:69,1"
      Dst: "[java.lang.String].<init>(byte[])"
    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: "[com.drew.metadata.mp4.Mp4Context].<init>()"
    functionSourceFile: "com.drew.metadata.mp4.Mp4Context"
    linkageType: ""
    functionLinenumber: 24
    functionLinenumberEnd: 26
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mp4.Mp4Context: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: "[com.drew.metadata.jfif.JfifReader].<init>()"
    functionSourceFile: "com.drew.metadata.jfif.JfifReader"
    linkageType: ""
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.jfif.JfifReader:44,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: "[com.drew.metadata.jfif.JfifReader].getSegmentTypes()"
    functionSourceFile: "com.drew.metadata.jfif.JfifReader"
    linkageType: ""
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionDepth: 0
    returnType: "java.lang.Iterable"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Collections].singletonList(java.lang.Object)"
    functionUses: 2
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.jfif.JfifReader:51,1"
      Dst: "[java.util.Collections].singletonList(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: "[com.drew.metadata.jfif.JfifReader].readJpegSegments(java.lang.Iterable<byte[]>,com.drew.metadata.Metadata,com.drew.imaging.jpeg.JpegSegmentType)"
    functionSourceFile: "com.drew.metadata.jfif.JfifReader"
    linkageType: ""
    functionLinenumber: 55
    functionLinenumberEnd: 62
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.Iterable<byte[]>"
    - "com.drew.metadata.Metadata"
    - "com.drew.imaging.jpeg.JpegSegmentType"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.adobe.internal.xmp.impl.XMPNode$1].hasNext()"
    - "[jdk.internal.module.ModuleBootstrap$2].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIterator].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIteratorChildren].hasNext()"
    - "[java.nio.file.FileTreeIterator].hasNext()"
    - "[java.util.concurrent.ConcurrentHashMap$EntrySetView].iterator()"
    - "[jdk.internal.module.ModuleBootstrap$2].next()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIterator].next()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl].next()"
    - "[com.adobe.internal.xmp.impl.XMPNode$1].next()"
    - "[java.io.BufferedReader$1:java.nio.file.FileTreeIterator:java.nio.file.Files$2].next()"
    - "[java.lang.String].<init>(byte[],int,int)"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[java.lang.String].length()"
    - "[com.drew.lang.ByteArrayReader].<init>(byte[])"
    - "[com.drew.metadata.jfif.JfifReader].extract(com.drew.lang.RandomAccessReader,com.drew.metadata.Metadata)"
    - "[java.lang.Iterable].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    functionUses: 1
    ICount: 25
    EdgeCount: 18
    BranchProfiles:
    - Branch String: "com.drew.metadata.jfif.JfifReader:56"
      Branch Sides:
      - BranchSide: "com.drew.metadata.jfif.JfifReader:61"
        BranchSideFuncs:
        - "hasNext()"
        - "iterator()"
        - "<init>(byte[],int,int)"
        - "next()"
        - "equals(java.lang.Object)"
        - "length()"
      - BranchSide: "com.drew.metadata.jfif.JfifReader:60"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.jfif.JfifReader:58"
      Branch Sides:
      - BranchSide: "com.drew.metadata.jfif.JfifReader:60"
        BranchSideFuncs:
        - "extract(com.drew.lang.RandomAccessReader,com.drew.metadata.Metadata)"
        - "<init>(byte[])"
      - BranchSide: "com.drew.metadata.jfif.JfifReader:59"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.jfif.JfifReader:58"
      Branch Sides:
      - BranchSide: "com.drew.metadata.jfif.JfifReader:60"
        BranchSideFuncs:
        - "extract(com.drew.lang.RandomAccessReader,com.drew.metadata.Metadata)"
        - "<init>(byte[])"
      - BranchSide: "com.drew.metadata.jfif.JfifReader:59"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.jfif.JfifReader:56,1"
      Dst: "[java.lang.Iterable].iterator()"
    - Src: "com.drew.metadata.jfif.JfifReader:56,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.drew.metadata.jfif.JfifReader:56,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.drew.metadata.jfif.JfifReader:58,1"
      Dst: "[java.lang.String].length()"
    - Src: "com.drew.metadata.jfif.JfifReader:58,1"
      Dst: "[java.lang.String].<init>(byte[],int,int)"
    - Src: "com.drew.metadata.jfif.JfifReader:58,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "com.drew.metadata.jfif.JfifReader:59,1"
      Dst: "[com.drew.lang.ByteArrayReader].<init>(byte[])"
    - Src: "com.drew.metadata.jfif.JfifReader:59,1"
      Dst: "[com.drew.metadata.jfif.JfifReader].extract(com.drew.lang.RandomAccessReader,com.drew.metadata.Metadata)"
    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: "[com.drew.metadata.jfif.JfifReader].extract(com.drew.lang.RandomAccessReader,com.drew.metadata.Metadata)"
    functionSourceFile: "com.drew.metadata.jfif.JfifReader"
    linkageType: ""
    functionLinenumber: 68
    functionLinenumberEnd: 85
    functionDepth: 3
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.lang.RandomAccessReader"
    - "com.drew.metadata.Metadata"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.jfif.JfifDirectory].<init>()"
    - "[com.drew.metadata.Metadata].addDirectory(com.drew.metadata.Directory)"
    - "[com.drew.lang.RandomAccessReader].getUInt16(int)"
    - "[com.drew.metadata.Directory].setInt(int,int)"
    - "[com.drew.lang.RandomAccessReader].getUInt8(int)"
    - "[com.drew.metadata.Directory].addError(java.lang.String)"
    - "[java.io.InvalidClassException:java.lang.Throwable:java.nio.file.FileSystemException].getMessage()"
    - "[java.lang.Throwable].getMessage()"
    functionUses: 1
    ICount: 27
    EdgeCount: 16
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.jfif.JfifReader:69,1"
      Dst: "[com.drew.metadata.jfif.JfifDirectory].<init>()"
    - Src: "com.drew.metadata.jfif.JfifReader:70,1"
      Dst: "[com.drew.metadata.Metadata].addDirectory(com.drew.metadata.Directory)"
    - Src: "com.drew.metadata.jfif.JfifReader:75,1"
      Dst: "[com.drew.lang.RandomAccessReader].getUInt16(int)"
    - Src: "com.drew.metadata.jfif.JfifReader:75,1"
      Dst: "[com.drew.metadata.Directory].setInt(int,int)"
    - Src: "com.drew.metadata.jfif.JfifReader:76,1"
      Dst: "[com.drew.lang.RandomAccessReader].getUInt8(int)"
    - Src: "com.drew.metadata.jfif.JfifReader:82,1"
      Dst: "[java.lang.Throwable].getMessage()"
    - Src: "com.drew.metadata.jfif.JfifReader:82,1"
      Dst: "[com.drew.metadata.Directory].addError(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: 3
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.NikonType1MakernoteDirectory].<init>()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.NikonType1MakernoteDirectory"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].<init>()"
    - "[com.drew.metadata.exif.makernotes.NikonType1MakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.NikonType1MakernoteDirectory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.NikonType1MakernoteDirectory:76,1"
      Dst: "[com.drew.metadata.Directory].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.NikonType1MakernoteDirectory:77,1"
      Dst: "[com.drew.metadata.exif.makernotes.NikonType1MakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.NikonType1MakernoteDirectory)"
    - Src: "com.drew.metadata.exif.makernotes.NikonType1MakernoteDirectory:77,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.exif.makernotes.NikonType1MakernoteDirectory].getName()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.NikonType1MakernoteDirectory"
    linkageType: ""
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.exif.makernotes.NikonType1MakernoteDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.NikonType1MakernoteDirectory"
    linkageType: ""
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.mov.media.QuickTimeVideoDirectory].getName()"
    functionSourceFile: "com.drew.metadata.mov.media.QuickTimeVideoDirectory"
    linkageType: ""
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.mov.media.QuickTimeVideoDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.mov.media.QuickTimeVideoDirectory"
    linkageType: ""
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.KodakMakernoteDirectory].<init>()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.KodakMakernoteDirectory"
    linkageType: ""
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].<init>()"
    - "[com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.KodakMakernoteDirectory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 1
    ICount: 6
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.KodakMakernoteDirectory:97,1"
      Dst: "[com.drew.metadata.Directory].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.KodakMakernoteDirectory:98,1"
      Dst: "[com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.KodakMakernoteDirectory)"
    - Src: "com.drew.metadata.exif.makernotes.KodakMakernoteDirectory:98,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.exif.makernotes.KodakMakernoteDirectory].getName()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.KodakMakernoteDirectory"
    linkageType: ""
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.exif.makernotes.KodakMakernoteDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.KodakMakernoteDirectory"
    linkageType: ""
    functionLinenumber: 111
    functionLinenumberEnd: 113
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.imaging.png.PngChunkType].<init>(java.lang.String)"
    functionSourceFile: "com.drew.imaging.png.PngChunkType"
    linkageType: ""
    functionLinenumber: 138
    functionLinenumberEnd: 141
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.imaging.png.PngChunkType].<init>(java.lang.String,boolean)"
    functionUses: 14
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.png.PngChunkType:139,1"
      Dst: "[com.drew.imaging.png.PngChunkType].<init>(java.lang.String,boolean)"
    JavaMethodInfo:
      exceptions:
      - "com.drew.imaging.png.PngProcessingException"
      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: "[com.drew.imaging.png.PngChunkType].<init>(java.lang.String,boolean)"
    functionSourceFile: "com.drew.imaging.png.PngChunkType"
    linkageType: ""
    functionLinenumber: 142
    functionLinenumberEnd: 154
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.lang.String].getBytes(java.lang.String)"
    - "[com.drew.imaging.png.PngChunkType].validateBytes(byte[])"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    functionUses: 6
    ICount: 14
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.png.PngChunkType:143,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.drew.imaging.png.PngChunkType:147,1"
      Dst: "[java.lang.String].getBytes(java.lang.String)"
    - Src: "com.drew.imaging.png.PngChunkType:148,1"
      Dst: "[com.drew.imaging.png.PngChunkType].validateBytes(byte[])"
    - Src: "com.drew.imaging.png.PngChunkType:151,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions:
      - "com.drew.imaging.png.PngProcessingException"
      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: "[com.drew.imaging.png.PngChunkType].<init>(byte[])"
    functionSourceFile: "com.drew.imaging.png.PngChunkType"
    linkageType: ""
    functionLinenumber: 155
    functionLinenumberEnd: 161
    functionDepth: 5
    returnType: "void"
    argCount: 1
    argTypes:
    - "byte[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[com.drew.imaging.png.PngChunkType].validateBytes(byte[])"
    - "[java.util.concurrent.ConcurrentHashMap$EntrySetView].contains(java.lang.Object)"
    - "[java.util.TreeSet].contains(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentHashMap$KeySetView].contains(java.lang.Object)"
    - "[java.util.HashSet].contains(java.lang.Object)"
    - "[java.util.TreeMap$EntrySet].contains(java.lang.Object)"
    - "[java.util.TreeMap$KeySet].contains(java.lang.Object)"
    - "[java.util.AbstractCollection].contains(java.lang.Object)"
    - "[com.drew.imaging.png.PngChunkType].getIdentifier()"
    - "[java.util.Set].contains(java.lang.Object)"
    functionUses: 1
    ICount: 10
    EdgeCount: 10
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.png.PngChunkType:156,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.drew.imaging.png.PngChunkType:157,1"
      Dst: "[com.drew.imaging.png.PngChunkType].validateBytes(byte[])"
    - Src: "com.drew.imaging.png.PngChunkType:159,1"
      Dst: "[com.drew.imaging.png.PngChunkType].getIdentifier()"
    - Src: "com.drew.imaging.png.PngChunkType:159,1"
      Dst: "[java.util.Set].contains(java.lang.Object)"
    JavaMethodInfo:
      exceptions:
      - "com.drew.imaging.png.PngProcessingException"
      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: "[com.drew.imaging.png.PngChunkType].validateBytes(byte[])"
    functionSourceFile: "com.drew.imaging.png.PngChunkType"
    linkageType: ""
    functionLinenumber: 163
    functionLinenumberEnd: 174
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "byte[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.imaging.png.PngProcessingException].<init>(java.lang.String)"
    - "[com.drew.imaging.png.PngChunkType].isValidByte(byte)"
    functionUses: 2
    ICount: 18
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.drew.imaging.png.PngChunkType:164"
      Branch Sides:
      - BranchSide: "com.drew.imaging.png.PngChunkType:168"
        BranchSideFuncs: []
      - BranchSide: "com.drew.imaging.png.PngChunkType:167"
        BranchSideFuncs: []
    - Branch String: "com.drew.imaging.png.PngChunkType:168"
      Branch Sides:
      - BranchSide: "com.drew.imaging.png.PngChunkType:173"
        BranchSideFuncs:
        - "isValidByte(byte)"
      - BranchSide: "com.drew.imaging.png.PngChunkType:172"
        BranchSideFuncs: []
    - Branch String: "com.drew.imaging.png.PngChunkType:169"
      Branch Sides:
      - BranchSide: "com.drew.imaging.png.PngChunkType:168"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "com.drew.imaging.png.PngChunkType:167"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.imaging.png.PngChunkType:165,1"
      Dst: "[com.drew.imaging.png.PngProcessingException].<init>(java.lang.String)"
    - Src: "com.drew.imaging.png.PngChunkType:169,1"
      Dst: "[com.drew.imaging.png.PngChunkType].isValidByte(byte)"
    JavaMethodInfo:
      exceptions:
      - "com.drew.imaging.png.PngProcessingException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 8
    CyclomaticComplexity: 2
  - functionName: "[com.drew.imaging.png.PngProcessingException].<init>(java.lang.String)"
    functionSourceFile: "com.drew.imaging.png.PngProcessingException"
    linkageType: ""
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.imaging.ImageProcessingException].<init>(java.lang.String)"
    functionUses: 8
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.png.PngProcessingException:37,1"
      Dst: "[com.drew.imaging.ImageProcessingException].<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: "[com.drew.imaging.png.PngChunkType].isValidByte(byte)"
    functionSourceFile: "com.drew.imaging.png.PngChunkType"
    linkageType: ""
    functionLinenumber: 211
    functionLinenumberEnd: 213
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "byte"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 13
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.imaging.png.PngChunkType:212"
      Branch Sides: []
    - Branch String: "com.drew.imaging.png.PngChunkType:212"
      Branch Sides:
      - BranchSide: "com.drew.imaging.png.PngChunkType:211"
        BranchSideFuncs: []
    - Branch String: "com.drew.imaging.png.PngChunkType:212"
      Branch Sides:
      - BranchSide: "com.drew.imaging.png.PngChunkType:211"
        BranchSideFuncs: []
    - Branch String: "com.drew.imaging.png.PngChunkType:212"
      Branch Sides:
      - BranchSide: "com.drew.imaging.png.PngChunkType:211"
        BranchSideFuncs: []
    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: 7
    CyclomaticComplexity: 5
  - functionName: "[com.drew.imaging.png.PngChunkType].isCritical()"
    functionSourceFile: "com.drew.imaging.png.PngChunkType"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.imaging.png.PngChunkType].isUpperCase(byte)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.png.PngChunkType:177,1"
      Dst: "[com.drew.imaging.png.PngChunkType].isUpperCase(byte)"
    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: "[com.drew.imaging.png.PngChunkType].isUpperCase(byte)"
    functionSourceFile: "com.drew.imaging.png.PngChunkType"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "byte"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.imaging.png.PngChunkType:207"
      Branch Sides:
      - BranchSide: "com.drew.imaging.png.PngChunkType:206"
        BranchSideFuncs: []
    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: 4
    CyclomaticComplexity: 2
  - functionName: "[com.drew.imaging.png.PngChunkType].isAncillary()"
    functionSourceFile: "com.drew.imaging.png.PngChunkType"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.imaging.png.PngChunkType].isCritical()"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.imaging.png.PngChunkType:182"
      Branch Sides:
      - BranchSide: "com.drew.imaging.png.PngChunkType:181"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.imaging.png.PngChunkType:182,1"
      Dst: "[com.drew.imaging.png.PngChunkType].isCritical()"
    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: "[com.drew.imaging.png.PngChunkType].isPrivate()"
    functionSourceFile: "com.drew.imaging.png.PngChunkType"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.imaging.png.PngChunkType].isUpperCase(byte)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.png.PngChunkType:187,1"
      Dst: "[com.drew.imaging.png.PngChunkType].isUpperCase(byte)"
    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: "[com.drew.imaging.png.PngChunkType].isSafeToCopy()"
    functionSourceFile: "com.drew.imaging.png.PngChunkType"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.imaging.png.PngChunkType].isLowerCase(byte)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.png.PngChunkType:192,1"
      Dst: "[com.drew.imaging.png.PngChunkType].isLowerCase(byte)"
    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: "[com.drew.imaging.png.PngChunkType].isLowerCase(byte)"
    functionSourceFile: "com.drew.imaging.png.PngChunkType"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "byte"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.imaging.png.PngChunkType:202"
      Branch Sides:
      - BranchSide: "com.drew.imaging.png.PngChunkType:201"
        BranchSideFuncs: []
    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: 4
    CyclomaticComplexity: 2
  - functionName: "[com.drew.imaging.png.PngChunkType].areMultipleAllowed()"
    functionSourceFile: "com.drew.imaging.png.PngChunkType"
    linkageType: ""
    functionLinenumber: 196
    functionLinenumberEnd: 198
    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: "[com.drew.imaging.png.PngChunkType].toString()"
    functionSourceFile: "com.drew.imaging.png.PngChunkType"
    linkageType: ""
    functionLinenumber: 229
    functionLinenumberEnd: 231
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.imaging.png.PngChunkType].getIdentifier()"
    functionUses: 14
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.png.PngChunkType:230,1"
      Dst: "[com.drew.imaging.png.PngChunkType].getIdentifier()"
    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: "[com.drew.imaging.png.PngChunkType].equals(java.lang.Object)"
    functionSourceFile: "com.drew.imaging.png.PngChunkType"
    linkageType: ""
    functionLinenumber: 235
    functionLinenumberEnd: 245
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].getClass()"
    - "[java.util.Arrays].equals(byte[],byte[])"
    functionUses: 17
    ICount: 14
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.drew.imaging.png.PngChunkType:236"
      Branch Sides:
      - BranchSide: "com.drew.imaging.png.PngChunkType:239"
        BranchSideFuncs: []
      - BranchSide: "com.drew.imaging.png.PngChunkType:238"
        BranchSideFuncs:
        - "getClass()"
    - Branch String: "com.drew.imaging.png.PngChunkType:239"
      Branch Sides:
      - BranchSide: "com.drew.imaging.png.PngChunkType:240"
        BranchSideFuncs: []
      - BranchSide: "com.drew.imaging.png.PngChunkType:239"
        BranchSideFuncs: []
    - Branch String: "com.drew.imaging.png.PngChunkType:239"
      Branch Sides:
      - BranchSide: "com.drew.imaging.png.PngChunkType:242"
        BranchSideFuncs: []
      - BranchSide: "com.drew.imaging.png.PngChunkType:241"
        BranchSideFuncs:
        - "equals(byte[],byte[])"
    Callsites:
    - Src: "com.drew.imaging.png.PngChunkType:239,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "com.drew.imaging.png.PngChunkType:244,1"
      Dst: "[java.util.Arrays].equals(byte[],byte[])"
    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: 2
  - functionName: "[com.drew.imaging.png.PngChunkType].hashCode()"
    functionSourceFile: "com.drew.imaging.png.PngChunkType"
    linkageType: ""
    functionLinenumber: 249
    functionLinenumberEnd: 251
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Arrays].hashCode(byte[])"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.png.PngChunkType:250,1"
      Dst: "[java.util.Arrays].hashCode(byte[])"
    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: "[com.drew.metadata.png.PngDescriptor].<init>(com.drew.metadata.png.PngDirectory)"
    functionSourceFile: "com.drew.metadata.png.PngDescriptor"
    linkageType: ""
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.png.PngDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.png.PngDescriptor:44,1"
      Dst: "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    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: "[com.drew.metadata.png.PngDescriptor].getDescription(int)"
    functionSourceFile: "com.drew.metadata.png.PngDescriptor"
    linkageType: ""
    functionLinenumber: 50
    functionLinenumberEnd: 72
    functionDepth: 3
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.png.PngDescriptor].getColorTypeDescription()"
    - "[com.drew.metadata.png.PngDescriptor].getCompressionTypeDescription()"
    - "[com.drew.metadata.png.PngDescriptor].getFilterMethodDescription()"
    - "[com.drew.metadata.png.PngDescriptor].getInterlaceMethodDescription()"
    - "[com.drew.metadata.png.PngDescriptor].getPaletteHasTransparencyDescription()"
    - "[com.drew.metadata.png.PngDescriptor].getIsSrgbColorSpaceDescription()"
    - "[com.drew.metadata.png.PngDescriptor].getTextualDataDescription()"
    - "[com.drew.metadata.png.PngDescriptor].getBackgroundColorDescription()"
    - "[com.drew.metadata.png.PngDescriptor].getUnitSpecifierDescription()"
    - "[com.drew.metadata.TagDescriptor].getDescription(int)"
    functionUses: 1
    ICount: 23
    EdgeCount: 10
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.png.PngDescriptor:53,1"
      Dst: "[com.drew.metadata.png.PngDescriptor].getColorTypeDescription()"
    - Src: "com.drew.metadata.png.PngDescriptor:55,1"
      Dst: "[com.drew.metadata.png.PngDescriptor].getCompressionTypeDescription()"
    - Src: "com.drew.metadata.png.PngDescriptor:57,1"
      Dst: "[com.drew.metadata.png.PngDescriptor].getFilterMethodDescription()"
    - Src: "com.drew.metadata.png.PngDescriptor:59,1"
      Dst: "[com.drew.metadata.png.PngDescriptor].getInterlaceMethodDescription()"
    - Src: "com.drew.metadata.png.PngDescriptor:61,1"
      Dst: "[com.drew.metadata.png.PngDescriptor].getPaletteHasTransparencyDescription()"
    - Src: "com.drew.metadata.png.PngDescriptor:63,1"
      Dst: "[com.drew.metadata.png.PngDescriptor].getIsSrgbColorSpaceDescription()"
    - Src: "com.drew.metadata.png.PngDescriptor:65,1"
      Dst: "[com.drew.metadata.png.PngDescriptor].getTextualDataDescription()"
    - Src: "com.drew.metadata.png.PngDescriptor:67,1"
      Dst: "[com.drew.metadata.png.PngDescriptor].getBackgroundColorDescription()"
    - Src: "com.drew.metadata.png.PngDescriptor:69,1"
      Dst: "[com.drew.metadata.png.PngDescriptor].getUnitSpecifierDescription()"
    - Src: "com.drew.metadata.png.PngDescriptor:71,1"
      Dst: "[com.drew.metadata.TagDescriptor].getDescription(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: 11
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.png.PngDescriptor].getColorTypeDescription()"
    functionSourceFile: "com.drew.metadata.png.PngDescriptor"
    linkageType: ""
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[com.drew.imaging.png.PngColorType].fromNumericValue(int)"
    - "[java.lang.Integer].intValue()"
    - "[com.drew.imaging.png.PngColorType].getDescription()"
    functionUses: 1
    ICount: 10
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.drew.metadata.png.PngDescriptor:79"
      Branch Sides:
      - BranchSide: "com.drew.metadata.png.PngDescriptor:81"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.png.PngDescriptor:80"
        BranchSideFuncs:
        - "getDescription()"
        - "fromNumericValue(int)"
        - "intValue()"
    Callsites:
    - Src: "com.drew.metadata.png.PngDescriptor:78,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.png.PngDescriptor:81,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.png.PngDescriptor:81,1"
      Dst: "[com.drew.imaging.png.PngColorType].fromNumericValue(int)"
    - Src: "com.drew.metadata.png.PngDescriptor:82,1"
      Dst: "[com.drew.imaging.png.PngColorType].getDescription()"
    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: "[com.drew.imaging.png.PngColorType].fromNumericValue(int)"
    functionSourceFile: "com.drew.imaging.png.PngColorType"
    linkageType: ""
    functionLinenumber: 57
    functionLinenumberEnd: 66
    functionDepth: 1
    returnType: "com.drew.imaging.png.PngColorType"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.imaging.png.PngColorType].<init>(int,java.lang.String,int[])"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.StringBuilder].append(int)"
    functionUses: 2
    ICount: 22
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.png.PngColorType:65,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.imaging.png.PngColorType:65,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.imaging.png.PngColorType:65,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    - Src: "com.drew.imaging.png.PngColorType:65,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "com.drew.imaging.png.PngColorType:65,1"
      Dst: "[com.drew.imaging.png.PngColorType].<init>(int,java.lang.String,int[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[com.drew.imaging.png.PngColorType].<init>(int,java.lang.String,int[])"
    functionSourceFile: "com.drew.imaging.png.PngColorType"
    linkageType: ""
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "int"
    - "java.lang.String"
    - "int[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 6
    ICount: 9
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.png.PngColorType:73,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: "[com.drew.imaging.png.PngColorType].getDescription()"
    functionSourceFile: "com.drew.imaging.png.PngColorType"
    linkageType: ""
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionDepth: 0
    returnType: "java.lang.String"
    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: "[com.drew.metadata.png.PngDescriptor].getCompressionTypeDescription()"
    functionSourceFile: "com.drew.metadata.png.PngDescriptor"
    linkageType: ""
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.png.PngDescriptor:88,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.png.PngDescriptor].getFilterMethodDescription()"
    functionSourceFile: "com.drew.metadata.png.PngDescriptor"
    linkageType: ""
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.png.PngDescriptor:94,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.png.PngDescriptor].getInterlaceMethodDescription()"
    functionSourceFile: "com.drew.metadata.png.PngDescriptor"
    linkageType: ""
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.png.PngDescriptor:100,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.png.PngDescriptor].getPaletteHasTransparencyDescription()"
    functionSourceFile: "com.drew.metadata.png.PngDescriptor"
    linkageType: ""
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.png.PngDescriptor:106,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.png.PngDescriptor].getIsSrgbColorSpaceDescription()"
    functionSourceFile: "com.drew.metadata.png.PngDescriptor"
    linkageType: ""
    functionLinenumber: 111
    functionLinenumberEnd: 113
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 8
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.png.PngDescriptor:112,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.png.PngDescriptor].getTextualDataDescription()"
    functionSourceFile: "com.drew.metadata.png.PngDescriptor"
    linkageType: ""
    functionLinenumber: 133
    functionLinenumberEnd: 147
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getObject(int)"
    - "[java.lang.StringBuilder].<init>()"
    - "[com.adobe.internal.xmp.impl.XMPNode$1].hasNext()"
    - "[jdk.internal.module.ModuleBootstrap$2].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIterator].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIteratorChildren].hasNext()"
    - "[java.nio.file.FileTreeIterator].hasNext()"
    - "[java.nio.file.Files$2].hasNext()"
    - "[java.io.BufferedReader$1].hasNext()"
    - "[java.util.Vector].iterator()"
    - "[java.util.concurrent.CopyOnWriteArrayList].iterator()"
    - "[java.util.AbstractList].iterator()"
    - "[java.util.AbstractSequentialList].iterator()"
    - "[java.util.ArrayList].iterator()"
    - "[java.io.BufferedReader$1].next()"
    - "[jdk.internal.module.ModuleBootstrap$2].next()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIterator].next()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl].next()"
    - "[com.adobe.internal.xmp.impl.XMPNode$1].next()"
    - "[java.nio.file.Files$2].next()"
    - "[java.nio.file.FileTreeIterator].next()"
    - "[java.lang.StringBuilder].length()"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[com.drew.lang.KeyValuePair].getKey()"
    - "[com.drew.lang.KeyValuePair].getValue()"
    - "[java.lang.StringBuilder].toString()"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    functionUses: 1
    ICount: 27
    EdgeCount: 29
    BranchProfiles:
    - Branch String: "com.drew.metadata.png.PngDescriptor:135"
      Branch Sides:
      - BranchSide: "com.drew.metadata.png.PngDescriptor:139"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.png.PngDescriptor:138"
        BranchSideFuncs:
        - "hasNext()"
        - "<init>()"
        - "iterator()"
        - "next()"
    - Branch String: "com.drew.metadata.png.PngDescriptor:141"
      Branch Sides:
      - BranchSide: "com.drew.metadata.png.PngDescriptor:146"
        BranchSideFuncs:
        - "hasNext()"
        - "iterator()"
        - "next()"
        - "length()"
      - BranchSide: "com.drew.metadata.png.PngDescriptor:145"
        BranchSideFuncs:
        - "toString()"
    - Branch String: "com.drew.metadata.png.PngDescriptor:142"
      Branch Sides:
      - BranchSide: "com.drew.metadata.png.PngDescriptor:144"
        BranchSideFuncs:
        - "append(char)"
      - BranchSide: "com.drew.metadata.png.PngDescriptor:143"
        BranchSideFuncs:
        - "append(java.lang.String)"
        - "format(java.lang.String,java.lang.Object[])"
        - "getValue()"
        - "getKey()"
    Callsites:
    - Src: "com.drew.metadata.png.PngDescriptor:134,1"
      Dst: "[com.drew.metadata.Directory].getObject(int)"
    - Src: "com.drew.metadata.png.PngDescriptor:140,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.png.PngDescriptor:141,1"
      Dst: "[java.util.List].iterator()"
    - Src: "com.drew.metadata.png.PngDescriptor:141,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.drew.metadata.png.PngDescriptor:141,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.drew.metadata.png.PngDescriptor:142,1"
      Dst: "[java.lang.StringBuilder].length()"
    - Src: "com.drew.metadata.png.PngDescriptor:143,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "com.drew.metadata.png.PngDescriptor:144,1"
      Dst: "[com.drew.lang.KeyValuePair].getKey()"
    - Src: "com.drew.metadata.png.PngDescriptor:144,1"
      Dst: "[com.drew.lang.KeyValuePair].getValue()"
    - Src: "com.drew.metadata.png.PngDescriptor:144,1"
      Dst: "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - Src: "com.drew.metadata.png.PngDescriptor:144,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.png.PngDescriptor:146,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: 8
    CyclomaticComplexity: 3
  - functionName: "[com.drew.lang.KeyValuePair].getKey()"
    functionSourceFile: "com.drew.lang.KeyValuePair"
    linkageType: ""
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionDepth: 0
    returnType: "java.lang.String"
    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: "[com.drew.lang.KeyValuePair].getValue()"
    functionSourceFile: "com.drew.lang.KeyValuePair"
    linkageType: ""
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionDepth: 0
    returnType: "com.drew.metadata.StringValue"
    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: "[com.drew.metadata.png.PngDescriptor].getBackgroundColorDescription()"
    functionSourceFile: "com.drew.metadata.png.PngDescriptor"
    linkageType: ""
    functionLinenumber: 151
    functionLinenumberEnd: 171
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getByteArray(int)"
    - "[com.drew.lang.SequentialByteArrayReader].<init>(byte[])"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[com.drew.lang.SequentialReader].getUInt8()"
    - "[java.lang.Short].valueOf(short)"
    - "[com.drew.lang.SequentialReader].getUInt16()"
    - "[java.lang.Integer].valueOf(int)"
    functionUses: 1
    ICount: 38
    EdgeCount: 15
    BranchProfiles:
    - Branch String: "com.drew.metadata.png.PngDescriptor:153"
      Branch Sides:
      - BranchSide: "com.drew.metadata.png.PngDescriptor:156"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.png.PngDescriptor:155"
        BranchSideFuncs:
        - "<init>(byte[])"
    Callsites:
    - Src: "com.drew.metadata.png.PngDescriptor:152,1"
      Dst: "[com.drew.metadata.Directory].getByteArray(int)"
    - Src: "com.drew.metadata.png.PngDescriptor:156,1"
      Dst: "[com.drew.lang.SequentialByteArrayReader].<init>(byte[])"
    - Src: "com.drew.metadata.png.PngDescriptor:161,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt8()"
    - Src: "com.drew.metadata.png.PngDescriptor:161,1"
      Dst: "[java.lang.Short].valueOf(short)"
    - Src: "com.drew.metadata.png.PngDescriptor:161,1"
      Dst: "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - Src: "com.drew.metadata.png.PngDescriptor:163,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt16()"
    - Src: "com.drew.metadata.png.PngDescriptor:163,1"
      Dst: "[java.lang.Integer].valueOf(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: 9
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.png.PngDescriptor].getUnitSpecifierDescription()"
    functionSourceFile: "com.drew.metadata.png.PngDescriptor"
    linkageType: ""
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.png.PngDescriptor:124,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.ExifSubIFDDirectory].<init>()"
    functionSourceFile: "com.drew.metadata.exif.ExifSubIFDDirectory"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.ExifDirectoryBase].<init>()"
    - "[com.drew.metadata.exif.ExifSubIFDDescriptor].<init>(com.drew.metadata.exif.ExifSubIFDDirectory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.ExifSubIFDDirectory:43,1"
      Dst: "[com.drew.metadata.exif.ExifDirectoryBase].<init>()"
    - Src: "com.drew.metadata.exif.ExifSubIFDDirectory:44,1"
      Dst: "[com.drew.metadata.exif.ExifSubIFDDescriptor].<init>(com.drew.metadata.exif.ExifSubIFDDirectory)"
    - Src: "com.drew.metadata.exif.ExifSubIFDDirectory:44,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.exif.ExifSubIFDDirectory].getName()"
    functionSourceFile: "com.drew.metadata.exif.ExifSubIFDDirectory"
    linkageType: ""
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.exif.ExifSubIFDDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.exif.ExifSubIFDDirectory"
    linkageType: ""
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.ExifSubIFDDirectory].getDateModified()"
    functionSourceFile: "com.drew.metadata.exif.ExifSubIFDDirectory"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "java.util.Date"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.ExifSubIFDDirectory].getDateModified(java.util.TimeZone)"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.ExifSubIFDDirectory:80,1"
      Dst: "[com.drew.metadata.exif.ExifSubIFDDirectory].getDateModified(java.util.TimeZone)"
    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: "[com.drew.metadata.exif.ExifSubIFDDirectory].getDateModified(java.util.TimeZone)"
    functionSourceFile: "com.drew.metadata.exif.ExifSubIFDDirectory"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.util.Date"
    argCount: 1
    argTypes:
    - "java.util.TimeZone"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getParent()"
    - "[com.drew.metadata.exif.ExifSubIFDDirectory].getTimeZone(int)"
    - "[com.drew.metadata.Directory].getString(int)"
    - "[com.drew.metadata.Directory].getDate(int,java.lang.String,java.util.TimeZone)"
    functionUses: 0
    ICount: 16
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.ExifSubIFDDirectory:96"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifSubIFDDirectory:101"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.ExifSubIFDDirectory:100"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifSubIFDDirectory:99"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifSubIFDDirectory:96"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.exif.ExifSubIFDDirectory:95,1"
      Dst: "[com.drew.metadata.Directory].getParent()"
    - Src: "com.drew.metadata.exif.ExifSubIFDDirectory:97,1"
      Dst: "[com.drew.metadata.exif.ExifSubIFDDirectory].getTimeZone(int)"
    - Src: "com.drew.metadata.exif.ExifSubIFDDirectory:98,1"
      Dst: "[com.drew.metadata.Directory].getString(int)"
    - Src: "com.drew.metadata.exif.ExifSubIFDDirectory:98,1"
      Dst: "[com.drew.metadata.Directory].getDate(int,java.lang.String,java.util.TimeZone)"
    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: 2
  - functionName: "[com.drew.metadata.exif.ExifSubIFDDirectory].getTimeZone(int)"
    functionSourceFile: "com.drew.metadata.exif.ExifSubIFDDirectory"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.util.TimeZone"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getString(int)"
    - "[java.lang.String].matches(java.lang.String)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.util.TimeZone].getTimeZone(java.lang.String)"
    functionUses: 0
    ICount: 14
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.ExifSubIFDDirectory:171"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifSubIFDDirectory:174"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.ExifSubIFDDirectory:173"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifSubIFDDirectory:171"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifSubIFDDirectory:174"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.ExifSubIFDDirectory:173"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.exif.ExifSubIFDDirectory:170,1"
      Dst: "[com.drew.metadata.Directory].getString(int)"
    - Src: "com.drew.metadata.exif.ExifSubIFDDirectory:171,1"
      Dst: "[java.lang.String].matches(java.lang.String)"
    - Src: "com.drew.metadata.exif.ExifSubIFDDirectory:172,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.ExifSubIFDDirectory:172,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.ExifSubIFDDirectory:172,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "com.drew.metadata.exif.ExifSubIFDDirectory:172,1"
      Dst: "[java.util.TimeZone].getTimeZone(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: "[com.drew.metadata.exif.ExifSubIFDDirectory].getDateOriginal()"
    functionSourceFile: "com.drew.metadata.exif.ExifSubIFDDirectory"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "java.util.Date"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.ExifSubIFDDirectory].getDateOriginal(java.util.TimeZone)"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.ExifSubIFDDirectory:116,1"
      Dst: "[com.drew.metadata.exif.ExifSubIFDDirectory].getDateOriginal(java.util.TimeZone)"
    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: "[com.drew.metadata.exif.ExifSubIFDDirectory].getDateOriginal(java.util.TimeZone)"
    functionSourceFile: "com.drew.metadata.exif.ExifSubIFDDirectory"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.util.Date"
    argCount: 1
    argTypes:
    - "java.util.TimeZone"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.ExifSubIFDDirectory].getTimeZone(int)"
    - "[com.drew.metadata.Directory].getString(int)"
    - "[com.drew.metadata.Directory].getDate(int,java.lang.String,java.util.TimeZone)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.ExifSubIFDDirectory:133"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifSubIFDDirectory:130"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.exif.ExifSubIFDDirectory:131,1"
      Dst: "[com.drew.metadata.exif.ExifSubIFDDirectory].getTimeZone(int)"
    - Src: "com.drew.metadata.exif.ExifSubIFDDirectory:132,1"
      Dst: "[com.drew.metadata.Directory].getString(int)"
    - Src: "com.drew.metadata.exif.ExifSubIFDDirectory:132,1"
      Dst: "[com.drew.metadata.Directory].getDate(int,java.lang.String,java.util.TimeZone)"
    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: "[com.drew.metadata.exif.ExifSubIFDDirectory].getDateDigitized()"
    functionSourceFile: "com.drew.metadata.exif.ExifSubIFDDirectory"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "java.util.Date"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.ExifSubIFDDirectory].getDateDigitized(java.util.TimeZone)"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.ExifSubIFDDirectory:147,1"
      Dst: "[com.drew.metadata.exif.ExifSubIFDDirectory].getDateDigitized(java.util.TimeZone)"
    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: "[com.drew.metadata.exif.ExifSubIFDDirectory].getDateDigitized(java.util.TimeZone)"
    functionSourceFile: "com.drew.metadata.exif.ExifSubIFDDirectory"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.util.Date"
    argCount: 1
    argTypes:
    - "java.util.TimeZone"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.ExifSubIFDDirectory].getTimeZone(int)"
    - "[com.drew.metadata.Directory].getString(int)"
    - "[com.drew.metadata.Directory].getDate(int,java.lang.String,java.util.TimeZone)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.ExifSubIFDDirectory:164"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifSubIFDDirectory:161"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.exif.ExifSubIFDDirectory:162,1"
      Dst: "[com.drew.metadata.exif.ExifSubIFDDirectory].getTimeZone(int)"
    - Src: "com.drew.metadata.exif.ExifSubIFDDirectory:163,1"
      Dst: "[com.drew.metadata.Directory].getString(int)"
    - Src: "com.drew.metadata.exif.ExifSubIFDDirectory:163,1"
      Dst: "[com.drew.metadata.Directory].getDate(int,java.lang.String,java.util.TimeZone)"
    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: "[com.drew.imaging.tiff.TiffMetadataReader].<init>()"
    functionSourceFile: "com.drew.imaging.tiff.TiffMetadataReader"
    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: "com.drew.imaging.tiff.TiffMetadataReader: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: "[com.drew.imaging.tiff.TiffMetadataReader].readMetadata(java.io.File)"
    functionSourceFile: "com.drew.imaging.tiff.TiffMetadataReader"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "com.drew.metadata.Metadata"
    argCount: 1
    argTypes:
    - "java.io.File"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.RandomAccessFile].<init>(java.io.File,java.lang.String)"
    - "[com.drew.lang.RandomAccessFileReader].<init>(java.io.RandomAccessFile)"
    - "[com.drew.imaging.tiff.TiffMetadataReader].readMetadata(com.drew.lang.RandomAccessReader)"
    - "[java.io.RandomAccessFile].close()"
    - "[com.drew.metadata.file.FileSystemMetadataReader].<init>()"
    - "[com.drew.metadata.file.FileSystemMetadataReader].read(java.io.File,com.drew.metadata.Metadata)"
    functionUses: 0
    ICount: 15
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.tiff.TiffMetadataReader:45,1"
      Dst: "[java.io.RandomAccessFile].<init>(java.io.File,java.lang.String)"
    - Src: "com.drew.imaging.tiff.TiffMetadataReader:48,1"
      Dst: "[com.drew.lang.RandomAccessFileReader].<init>(java.io.RandomAccessFile)"
    - Src: "com.drew.imaging.tiff.TiffMetadataReader:48,1"
      Dst: "[com.drew.imaging.tiff.TiffMetadataReader].readMetadata(com.drew.lang.RandomAccessReader)"
    - Src: "com.drew.imaging.tiff.TiffMetadataReader:50,1"
      Dst: "[java.io.RandomAccessFile].close()"
    - Src: "com.drew.imaging.tiff.TiffMetadataReader:52,1"
      Dst: "[com.drew.metadata.file.FileSystemMetadataReader].<init>()"
    - Src: "com.drew.imaging.tiff.TiffMetadataReader:52,1"
      Dst: "[com.drew.metadata.file.FileSystemMetadataReader].read(java.io.File,com.drew.metadata.Metadata)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      - "com.drew.imaging.tiff.TiffProcessingException"
      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: "[com.drew.lang.RandomAccessFileReader].<init>(java.io.RandomAccessFile)"
    functionSourceFile: "com.drew.lang.RandomAccessFileReader"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.io.RandomAccessFile"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.RandomAccessFileReader].<init>(java.io.RandomAccessFile,int)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.lang.RandomAccessFileReader:48,1"
      Dst: "[com.drew.lang.RandomAccessFileReader].<init>(java.io.RandomAccessFile,int)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.lang.RandomAccessFileReader].<init>(java.io.RandomAccessFile,int)"
    functionSourceFile: "com.drew.lang.RandomAccessFileReader"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.io.RandomAccessFile"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.RandomAccessReader].<init>()"
    - "[java.lang.NullPointerException].<init>()"
    - "[java.io.RandomAccessFile].length()"
    functionUses: 0
    ICount: 14
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.lang.RandomAccessFileReader:55"
      Branch Sides:
      - BranchSide: "com.drew.lang.RandomAccessFileReader:58"
        BranchSideFuncs: []
      - BranchSide: "com.drew.lang.RandomAccessFileReader:57"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.lang.RandomAccessFileReader:54,1"
      Dst: "[com.drew.lang.RandomAccessReader].<init>()"
    - Src: "com.drew.lang.RandomAccessFileReader:56,1"
      Dst: "[java.lang.NullPointerException].<init>()"
    - Src: "com.drew.lang.RandomAccessFileReader:60,1"
      Dst: "[java.io.RandomAccessFile].length()"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.imaging.tiff.TiffMetadataReader].readMetadata(com.drew.lang.RandomAccessReader)"
    functionSourceFile: "com.drew.imaging.tiff.TiffMetadataReader"
    linkageType: ""
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionDepth: 5
    returnType: "com.drew.metadata.Metadata"
    argCount: 1
    argTypes:
    - "com.drew.lang.RandomAccessReader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Metadata].<init>()"
    - "[com.drew.metadata.exif.ExifTiffHandler].<init>(com.drew.metadata.Metadata,com.drew.metadata.Directory,int)"
    - "[com.drew.imaging.tiff.TiffReader].<init>()"
    - "[com.drew.imaging.tiff.TiffReader].processTiff(com.drew.lang.RandomAccessReader,com.drew.imaging.tiff.TiffHandler,int)"
    functionUses: 1
    ICount: 9
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.tiff.TiffMetadataReader:69,1"
      Dst: "[com.drew.metadata.Metadata].<init>()"
    - Src: "com.drew.imaging.tiff.TiffMetadataReader:70,1"
      Dst: "[com.drew.metadata.exif.ExifTiffHandler].<init>(com.drew.metadata.Metadata,com.drew.metadata.Directory,int)"
    - Src: "com.drew.imaging.tiff.TiffMetadataReader:71,1"
      Dst: "[com.drew.imaging.tiff.TiffReader].<init>()"
    - Src: "com.drew.imaging.tiff.TiffMetadataReader:71,1"
      Dst: "[com.drew.imaging.tiff.TiffReader].processTiff(com.drew.lang.RandomAccessReader,com.drew.imaging.tiff.TiffHandler,int)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      - "com.drew.imaging.tiff.TiffProcessingException"
      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: "[com.drew.imaging.tiff.TiffMetadataReader].readMetadata(java.io.InputStream)"
    functionSourceFile: "com.drew.imaging.tiff.TiffMetadataReader"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "com.drew.metadata.Metadata"
    argCount: 1
    argTypes:
    - "java.io.InputStream"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.RandomAccessStreamReader].<init>(java.io.InputStream)"
    - "[com.drew.imaging.tiff.TiffMetadataReader].readMetadata(com.drew.lang.RandomAccessReader)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.tiff.TiffMetadataReader:63,1"
      Dst: "[com.drew.lang.RandomAccessStreamReader].<init>(java.io.InputStream)"
    - Src: "com.drew.imaging.tiff.TiffMetadataReader:63,1"
      Dst: "[com.drew.imaging.tiff.TiffMetadataReader].readMetadata(com.drew.lang.RandomAccessReader)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      - "com.drew.imaging.tiff.TiffProcessingException"
      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: "[com.drew.lang.RandomAccessStreamReader].<init>(java.io.InputStream)"
    functionSourceFile: "com.drew.lang.RandomAccessStreamReader"
    linkageType: ""
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.io.InputStream"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.RandomAccessStreamReader].<init>(java.io.InputStream,int,long)"
    functionUses: 3
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.lang.RandomAccessStreamReader:48,1"
      Dst: "[com.drew.lang.RandomAccessStreamReader].<init>(java.io.InputStream,int,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: "[com.drew.lang.RandomAccessStreamReader].<init>(java.io.InputStream,int,long)"
    functionSourceFile: "com.drew.lang.RandomAccessStreamReader"
    linkageType: ""
    functionLinenumber: 56
    functionLinenumberEnd: 67
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.io.InputStream"
    - "int"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].<init>()"
    - "[com.drew.lang.RandomAccessReader].<init>()"
    - "[java.lang.NullPointerException].<init>()"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    functionUses: 2
    ICount: 20
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.drew.lang.RandomAccessStreamReader:58"
      Branch Sides:
      - BranchSide: "com.drew.lang.RandomAccessStreamReader:60"
        BranchSideFuncs:
        - "<init>()"
      - BranchSide: "com.drew.lang.RandomAccessStreamReader:59"
        BranchSideFuncs: []
    - Branch String: "com.drew.lang.RandomAccessStreamReader:60"
      Branch Sides:
      - BranchSide: "com.drew.lang.RandomAccessStreamReader:63"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "com.drew.lang.RandomAccessStreamReader:62"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.lang.RandomAccessStreamReader:57,1"
      Dst: "[com.drew.lang.RandomAccessReader].<init>()"
    - Src: "com.drew.lang.RandomAccessStreamReader:41,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "com.drew.lang.RandomAccessStreamReader:59,1"
      Dst: "[java.lang.NullPointerException].<init>()"
    - Src: "com.drew.lang.RandomAccessStreamReader:61,1"
      Dst: "[java.lang.IllegalArgumentException].<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: 5
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.ReconyxUltraFireMakernoteDirectory].<init>()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.ReconyxUltraFireMakernoteDirectory"
    linkageType: ""
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].<init>()"
    - "[com.drew.metadata.exif.makernotes.ReconyxUltraFireMakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.ReconyxUltraFireMakernoteDirectory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 1
    ICount: 6
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.ReconyxUltraFireMakernoteDirectory:99,1"
      Dst: "[com.drew.metadata.Directory].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.ReconyxUltraFireMakernoteDirectory:100,1"
      Dst: "[com.drew.metadata.exif.makernotes.ReconyxUltraFireMakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.ReconyxUltraFireMakernoteDirectory)"
    - Src: "com.drew.metadata.exif.makernotes.ReconyxUltraFireMakernoteDirectory:100,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.exif.makernotes.ReconyxUltraFireMakernoteDirectory].getName()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.ReconyxUltraFireMakernoteDirectory"
    linkageType: ""
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.exif.makernotes.ReconyxUltraFireMakernoteDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.ReconyxUltraFireMakernoteDirectory"
    linkageType: ""
    functionLinenumber: 113
    functionLinenumberEnd: 115
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDirectory].<init>()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusMakernoteDirectory"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].<init>()"
    - "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.OlympusMakernoteDirectory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDirectory:456,1"
      Dst: "[com.drew.metadata.Directory].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDirectory:457,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.OlympusMakernoteDirectory)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDirectory:457,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDirectory].getName()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusMakernoteDirectory"
    linkageType: ""
    functionLinenumber: 463
    functionLinenumberEnd: 465
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDirectory].setByteArray(int,byte[])"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusMakernoteDirectory"
    linkageType: ""
    functionLinenumber: 469
    functionLinenumberEnd: 476
    functionDepth: 3
    returnType: "void"
    argCount: 2
    argTypes:
    - "int"
    - "byte[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.makernotes.OlympusMakernoteDirectory].processCameraSettings(byte[])"
    - "[com.drew.metadata.Directory].setByteArray(int,byte[])"
    functionUses: 2
    ICount: 9
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusMakernoteDirectory:470"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDirectory:471"
        BranchSideFuncs:
        - "processCameraSettings(byte[])"
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDirectory:470"
        BranchSideFuncs:
        - "processCameraSettings(byte[])"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusMakernoteDirectory:470"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDirectory:473"
        BranchSideFuncs:
        - "processCameraSettings(byte[])"
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDirectory:472"
        BranchSideFuncs:
        - "setByteArray(int,byte[])"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDirectory:471,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDirectory].processCameraSettings(byte[])"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDirectory:473,1"
      Dst: "[com.drew.metadata.Directory].setByteArray(int,byte[])"
    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: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDirectory].processCameraSettings(byte[])"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusMakernoteDirectory"
    linkageType: ""
    functionLinenumber: 478
    functionLinenumberEnd: 493
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "byte[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.SequentialByteArrayReader].<init>(byte[])"
    - "[com.drew.lang.SequentialReader].setMotorolaByteOrder(boolean)"
    - "[com.drew.lang.SequentialReader].getInt32()"
    - "[com.drew.metadata.Directory].setInt(int,int)"
    functionUses: 1
    ICount: 18
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusMakernoteDirectory:485"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDirectory:490"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDirectory:479,1"
      Dst: "[com.drew.lang.SequentialByteArrayReader].<init>(byte[])"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDirectory:480,1"
      Dst: "[com.drew.lang.SequentialReader].setMotorolaByteOrder(boolean)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDirectory:486,1"
      Dst: "[com.drew.lang.SequentialReader].getInt32()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDirectory:487,1"
      Dst: "[com.drew.metadata.Directory].setInt(int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDirectory].isIntervalMode()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusMakernoteDirectory"
    linkageType: ""
    functionLinenumber: 495
    functionLinenumberEnd: 498
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getLongObject(int)"
    - "[java.lang.Long].longValue()"
    functionUses: 2
    ICount: 11
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusMakernoteDirectory:497"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDirectory:495"
        BranchSideFuncs:
        - "getLongObject(int)"
        - "longValue()"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusMakernoteDirectory:497"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDirectory:495"
        BranchSideFuncs:
        - "getLongObject(int)"
        - "longValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDirectory:496,1"
      Dst: "[com.drew.metadata.Directory].getLongObject(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDirectory:497,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: 5
    CyclomaticComplexity: 3
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusMakernoteDirectory"
    linkageType: ""
    functionLinenumber: 503
    functionLinenumberEnd: 505
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.imaging.ico.IcoMetadataReader].<init>()"
    functionSourceFile: "com.drew.imaging.ico.IcoMetadataReader"
    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: "com.drew.imaging.ico.IcoMetadataReader: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: "[com.drew.imaging.ico.IcoMetadataReader].readMetadata(java.io.File)"
    functionSourceFile: "com.drew.imaging.ico.IcoMetadataReader"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "com.drew.metadata.Metadata"
    argCount: 1
    argTypes:
    - "java.io.File"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.FileInputStream].<init>(java.io.File)"
    - "[com.drew.imaging.ico.IcoMetadataReader].readMetadata(java.io.InputStream)"
    - "[java.io.InputStream].close()"
    - "[com.drew.metadata.file.FileSystemMetadataReader].<init>()"
    - "[com.drew.metadata.file.FileSystemMetadataReader].read(java.io.File,com.drew.metadata.Metadata)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.ico.IcoMetadataReader:41,1"
      Dst: "[java.io.FileInputStream].<init>(java.io.File)"
    - Src: "com.drew.imaging.ico.IcoMetadataReader:44,1"
      Dst: "[com.drew.imaging.ico.IcoMetadataReader].readMetadata(java.io.InputStream)"
    - Src: "com.drew.imaging.ico.IcoMetadataReader:46,1"
      Dst: "[java.io.InputStream].close()"
    - Src: "com.drew.imaging.ico.IcoMetadataReader:48,1"
      Dst: "[com.drew.metadata.file.FileSystemMetadataReader].<init>()"
    - Src: "com.drew.imaging.ico.IcoMetadataReader:48,1"
      Dst: "[com.drew.metadata.file.FileSystemMetadataReader].read(java.io.File,com.drew.metadata.Metadata)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.imaging.ico.IcoMetadataReader].readMetadata(java.io.InputStream)"
    functionSourceFile: "com.drew.imaging.ico.IcoMetadataReader"
    linkageType: ""
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionDepth: 4
    returnType: "com.drew.metadata.Metadata"
    argCount: 1
    argTypes:
    - "java.io.InputStream"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Metadata].<init>()"
    - "[com.drew.lang.StreamReader].<init>(java.io.InputStream)"
    - "[com.drew.metadata.ico.IcoReader].<init>()"
    - "[com.drew.metadata.ico.IcoReader].extract(com.drew.lang.SequentialReader,com.drew.metadata.Metadata)"
    functionUses: 1
    ICount: 9
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.ico.IcoMetadataReader:55,1"
      Dst: "[com.drew.metadata.Metadata].<init>()"
    - Src: "com.drew.imaging.ico.IcoMetadataReader:56,1"
      Dst: "[com.drew.metadata.ico.IcoReader].<init>()"
    - Src: "com.drew.imaging.ico.IcoMetadataReader:56,1"
      Dst: "[com.drew.lang.StreamReader].<init>(java.io.InputStream)"
    - Src: "com.drew.imaging.ico.IcoMetadataReader:56,1"
      Dst: "[com.drew.metadata.ico.IcoReader].extract(com.drew.lang.SequentialReader,com.drew.metadata.Metadata)"
    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: "[com.drew.metadata.ico.IcoReader].<init>()"
    functionSourceFile: "com.drew.metadata.ico.IcoReader"
    linkageType: ""
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.ico.IcoReader: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: "[com.drew.metadata.ico.IcoReader].extract(com.drew.lang.SequentialReader,com.drew.metadata.Metadata)"
    functionSourceFile: "com.drew.metadata.ico.IcoReader"
    linkageType: ""
    functionLinenumber: 40
    functionLinenumberEnd: 113
    functionDepth: 3
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "com.drew.metadata.Metadata"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.SequentialReader].setMotorolaByteOrder(boolean)"
    - "[com.drew.lang.SequentialReader].getUInt16()"
    - "[com.drew.metadata.ico.IcoDirectory].<init>()"
    - "[com.drew.metadata.Directory].addError(java.lang.String)"
    - "[com.drew.metadata.Metadata].addDirectory(com.drew.metadata.Directory)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.io.InvalidClassException].getMessage()"
    - "[com.drew.metadata.Directory].setInt(int,int)"
    - "[com.drew.lang.SequentialReader].getUInt8()"
    - "[com.drew.lang.SequentialReader].getUInt32()"
    - "[com.drew.metadata.Directory].setLong(int,long)"
    - "[java.lang.StringBuilder].append(int)"
    - "[java.lang.Throwable].getMessage()"
    functionUses: 1
    ICount: 95
    EdgeCount: 50
    BranchProfiles:
    - Branch String: "com.drew.metadata.ico.IcoReader:50"
      Branch Sides:
      - BranchSide: "com.drew.metadata.ico.IcoReader:57"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.ico.IcoReader:56"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.ico.IcoReader:59"
      Branch Sides:
      - BranchSide: "com.drew.metadata.ico.IcoReader:66"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.ico.IcoReader:65"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.ico.IcoReader:59"
      Branch Sides:
      - BranchSide: "com.drew.metadata.ico.IcoReader:66"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.ico.IcoReader:65"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.ico.IcoReader:68"
      Branch Sides:
      - BranchSide: "com.drew.metadata.ico.IcoReader:80"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.ico.IcoReader:79"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.ico.IcoReader:83"
      Branch Sides:
      - BranchSide: "com.drew.metadata.ico.IcoReader:112"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.ico.IcoReader:111"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.ico.IcoReader:91"
      Branch Sides:
      - BranchSide: "com.drew.metadata.ico.IcoReader:84"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.ico.IcoReader:83"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.ico.IcoReader:92"
      Branch Sides:
      - BranchSide: "com.drew.metadata.ico.IcoReader:91"
        BranchSideFuncs:
        - "getUInt8()"
      - BranchSide: "com.drew.metadata.ico.IcoReader:90"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.ico.IcoReader:96"
      Branch Sides:
      - BranchSide: "com.drew.metadata.ico.IcoReader:102"
        BranchSideFuncs:
        - "getUInt8()"
        - "<init>()"
        - "setLong(int,long)"
        - "append(java.lang.String)"
        - "toString()"
        - "addError(java.lang.String)"
        - "getMessage()"
        - "getUInt32()"
        - "setInt(int,int)"
        - "getUInt16()"
      - BranchSide: "com.drew.metadata.ico.IcoReader:101"
        BranchSideFuncs:
        - "setInt(int,int)"
        - "getUInt16()"
    Callsites:
    - Src: "com.drew.metadata.ico.IcoReader:41,1"
      Dst: "[com.drew.lang.SequentialReader].setMotorolaByteOrder(boolean)"
    - Src: "com.drew.metadata.ico.IcoReader:48,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt16()"
    - Src: "com.drew.metadata.ico.IcoReader:51,1"
      Dst: "[com.drew.metadata.ico.IcoDirectory].<init>()"
    - Src: "com.drew.metadata.ico.IcoReader:52,1"
      Dst: "[com.drew.metadata.Directory].addError(java.lang.String)"
    - Src: "com.drew.metadata.ico.IcoReader:53,1"
      Dst: "[com.drew.metadata.Metadata].addDirectory(com.drew.metadata.Directory)"
    - Src: "com.drew.metadata.ico.IcoReader:61,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.ico.IcoReader:61,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.ico.IcoReader:61,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    - Src: "com.drew.metadata.ico.IcoReader:61,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "com.drew.metadata.ico.IcoReader:77,1"
      Dst: "[java.lang.Throwable].getMessage()"
    - Src: "com.drew.metadata.ico.IcoReader:86,1"
      Dst: "[com.drew.metadata.Directory].setInt(int,int)"
    - Src: "com.drew.metadata.ico.IcoReader:89,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt8()"
    - Src: "com.drew.metadata.ico.IcoReader:105,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt32()"
    - Src: "com.drew.metadata.ico.IcoReader:105,1"
      Dst: "[com.drew.metadata.Directory].setLong(int,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: 24
    CyclomaticComplexity: 5
  - functionName: "[com.drew.metadata.ico.IcoDescriptor].<init>(com.drew.metadata.ico.IcoDirectory)"
    functionSourceFile: "com.drew.metadata.ico.IcoDescriptor"
    linkageType: ""
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.ico.IcoDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.ico.IcoDescriptor:38,1"
      Dst: "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    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: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.OlympusMakernoteDirectory)"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.exif.makernotes.OlympusMakernoteDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:47,1"
      Dst: "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    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: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getDescription(int)"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 53
    functionLinenumberEnd: 207
    functionDepth: 4
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getMakernoteVersionDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getColorModeDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getImageQuality1Description()"
    - "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getImageQuality2Description()"
    - "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getSpecialModeDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getJpegQualityDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getMacroModeDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getBWModeDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getDigitalZoomDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getFocalPlaneDiagonalDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getCameraTypeDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getCameraIdDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getOneTouchWbDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getShutterSpeedDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getIsoValueDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getApertureValueDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getFlashModeDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getFocusRangeDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getFocusModeDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getSharpnessDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getColorMatrixDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getWbModeDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getRedBalanceDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getBlueBalanceDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getContrastDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getPreviewImageValidDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getExposureModeDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getFlashModeCameraSettingDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getWhiteBalanceDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getImageSizeDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getImageQualityDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getShootingModeDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getMeteringModeDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getApexFilmSpeedDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getApexShutterSpeedTimeDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getApexApertureDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getMacroModeCameraSettingDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getDigitalZoomCameraSettingDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getExposureCompensationDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getBracketStepDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getIntervalLengthDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getIntervalNumberDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getFocalLengthDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getFocusDistanceDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getFlashFiredDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getDateDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getTimeDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getMaxApertureAtFocalLengthDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getFileNumberMemoryDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getLastFileNumberDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getWhiteBalanceRedDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getWhiteBalanceGreenDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getWhiteBalanceBlueDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getSaturationDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getContrastCameraSettingDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getSharpnessCameraSettingDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getSubjectProgramDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getFlashCompensationDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getIsoSettingDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getCameraModelDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getIntervalModeDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getFolderNameDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getColorModeCameraSettingDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getColorFilterDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getBlackAndWhiteFilterDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getInternalFlashDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getApexBrightnessDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getSpotFocusPointXCoordinateDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getSpotFocusPointYCoordinateDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getWideFocusZoneDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getFocusModeCameraSettingDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getFocusAreaDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getDecSwitchPositionDescription()"
    - "[com.drew.metadata.TagDescriptor].getDescription(int)"
    functionUses: 1
    ICount: 151
    EdgeCount: 74
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:56,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getMakernoteVersionDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:58,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getColorModeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:60,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getImageQuality1Description()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:62,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getImageQuality2Description()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:64,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getSpecialModeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:66,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getJpegQualityDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:68,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getMacroModeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:70,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getBWModeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:72,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getDigitalZoomDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:74,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getFocalPlaneDiagonalDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:76,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getCameraTypeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:78,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getCameraIdDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:80,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getOneTouchWbDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:82,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getShutterSpeedDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:84,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getIsoValueDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:86,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getApertureValueDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:88,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getFlashModeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:90,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getFocusRangeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:92,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getFocusModeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:94,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getSharpnessDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:96,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getColorMatrixDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:98,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getWbModeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:100,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getRedBalanceDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:102,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getBlueBalanceDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:104,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getContrastDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:106,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getPreviewImageValidDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:109,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getExposureModeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:111,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getFlashModeCameraSettingDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:113,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getWhiteBalanceDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:115,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getImageSizeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:117,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getImageQualityDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:119,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getShootingModeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:121,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getMeteringModeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:123,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getApexFilmSpeedDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:125,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getApexShutterSpeedTimeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:127,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getApexApertureDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:129,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getMacroModeCameraSettingDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:131,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getDigitalZoomCameraSettingDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:133,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getExposureCompensationDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:135,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getBracketStepDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:138,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getIntervalLengthDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:140,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getIntervalNumberDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:142,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getFocalLengthDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:144,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getFocusDistanceDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:146,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getFlashFiredDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:148,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getDateDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:150,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getTimeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:152,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getMaxApertureAtFocalLengthDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:155,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getFileNumberMemoryDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:157,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getLastFileNumberDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:159,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getWhiteBalanceRedDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:161,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getWhiteBalanceGreenDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:163,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getWhiteBalanceBlueDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:165,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getSaturationDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:167,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getContrastCameraSettingDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:169,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getSharpnessCameraSettingDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:171,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getSubjectProgramDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:173,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getFlashCompensationDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:175,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getIsoSettingDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:177,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getCameraModelDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:179,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getIntervalModeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:181,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getFolderNameDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:183,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getColorModeCameraSettingDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:185,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getColorFilterDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:187,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getBlackAndWhiteFilterDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:189,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getInternalFlashDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:191,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getApexBrightnessDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:193,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getSpotFocusPointXCoordinateDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:195,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getSpotFocusPointYCoordinateDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:197,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getWideFocusZoneDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:199,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getFocusModeCameraSettingDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:201,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getFocusAreaDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:203,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getDecSwitchPositionDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:206,1"
      Dst: "[com.drew.metadata.TagDescriptor].getDescription(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: 75
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getMakernoteVersionDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 632
    functionLinenumberEnd: 634
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getVersionBytesDescription(int,int)"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:633,1"
      Dst: "[com.drew.metadata.TagDescriptor].getVersionBytesDescription(int,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: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getColorModeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 660
    functionLinenumberEnd: 662
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 9
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:661,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getImageQuality1Description()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 649
    functionLinenumberEnd: 651
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 9
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:650,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getImageQuality2Description()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 638
    functionLinenumberEnd: 640
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 9
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:639,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getSpecialModeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 927
    functionLinenumberEnd: 991
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getObject(int)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(long)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 54
    EdgeCount: 18
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:929"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:931"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:930"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:931"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:933"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:932"
        BranchSideFuncs:
        - "<init>()"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:953"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:973"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:972"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:973"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:990"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:989"
        BranchSideFuncs:
        - "toString()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:928,1"
      Dst: "[com.drew.metadata.Directory].getObject(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:933,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:937,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:968,1"
      Dst: "[java.lang.StringBuilder].append(long)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:990,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: 24
    CyclomaticComplexity: 15
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getJpegQualityDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 868
    functionLinenumberEnd: 919
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getString(int)"
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.String].startsWith(java.lang.String)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.Integer].toString()"
    - "[java.lang.StringBuilder].toString()"
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,java.lang.String[])"
    functionUses: 1
    ICount: 53
    EdgeCount: 20
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:871"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:917"
        BranchSideFuncs:
        - "getIndexedDescription(int,int,java.lang.String[])"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:874"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:877"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:876"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:877"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:878"
        BranchSideFuncs:
        - "startsWith(java.lang.String)"
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:877"
        BranchSideFuncs:
        - "startsWith(java.lang.String)"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:877"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:880"
        BranchSideFuncs:
        - "startsWith(java.lang.String)"
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:879"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:878"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:895"
        BranchSideFuncs:
        - "intValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:869,1"
      Dst: "[com.drew.metadata.Directory].getString(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:873,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:877,1"
      Dst: "[java.lang.String].startsWith(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:880,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:891,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:891,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:891,1"
      Dst: "[java.lang.Integer].toString()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:891,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:918,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,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: 22
    CyclomaticComplexity: 3
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getMacroModeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 856
    functionLinenumberEnd: 858
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:857,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getBWModeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 862
    functionLinenumberEnd: 864
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:863,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getDigitalZoomDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 782
    functionLinenumberEnd: 787
    functionDepth: 3
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getRational(int)"
    - "[com.drew.lang.Rational].toSimpleString(boolean)"
    functionUses: 1
    ICount: 8
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:784"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:786"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:785"
        BranchSideFuncs:
        - "toSimpleString(boolean)"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:783,1"
      Dst: "[com.drew.metadata.Directory].getRational(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:786,1"
      Dst: "[com.drew.lang.Rational].toSimpleString(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: 3
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getFocalPlaneDiagonalDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 791
    functionLinenumberEnd: 798
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getRational(int)"
    - "[java.text.DecimalFormat].<init>(java.lang.String)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[com.drew.lang.Rational].doubleValue()"
    - "[java.text.NumberFormat].format(double)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 16
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:793"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:796"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:795"
        BranchSideFuncs:
        - "format(double)"
        - "<init>()"
        - "doubleValue()"
        - "append(java.lang.String)"
        - "toString()"
        - "<init>(java.lang.String)"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:792,1"
      Dst: "[com.drew.metadata.Directory].getRational(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:796,1"
      Dst: "[java.text.DecimalFormat].<init>(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:797,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:797,1"
      Dst: "[com.drew.lang.Rational].doubleValue()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:797,1"
      Dst: "[java.text.NumberFormat].format(double)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:797,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:797,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: 3
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getCameraTypeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 802
    functionLinenumberEnd: 811
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getString(int)"
    - "[java.util.HashMap].containsKey(java.lang.Object)"
    - "[java.util.HashMap].get(java.lang.Object)"
    - "[java.util.LinkedHashMap].get(java.lang.Object)"
    functionUses: 1
    ICount: 14
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:804"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:807"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:806"
        BranchSideFuncs:
        - "containsKey(java.lang.Object)"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:807"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:810"
        BranchSideFuncs:
        - "get(java.lang.Object)"
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:809"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:803,1"
      Dst: "[com.drew.metadata.Directory].getString(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:807,1"
      Dst: "[java.util.HashMap].containsKey(java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:808,1"
      Dst: "[java.util.HashMap].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: 5
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getCameraIdDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 815
    functionLinenumberEnd: 820
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getByteArray(int)"
    - "[java.lang.String].<init>(byte[])"
    functionUses: 1
    ICount: 9
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:817"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:819"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:818"
        BranchSideFuncs:
        - "<init>(byte[])"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:816,1"
      Dst: "[com.drew.metadata.Directory].getByteArray(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:819,1"
      Dst: "[java.lang.String].<init>(byte[])"
    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: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getOneTouchWbDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 824
    functionLinenumberEnd: 826
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:825,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getShutterSpeedDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 830
    functionLinenumberEnd: 832
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getShutterSpeedDescription(int)"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:831,1"
      Dst: "[com.drew.metadata.TagDescriptor].getShutterSpeedDescription(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: "[com.drew.metadata.TagDescriptor].getShutterSpeedDescription(int)"
    functionSourceFile: "com.drew.metadata.TagDescriptor"
    linkageType: ""
    functionLinenumber: 368
    functionLinenumberEnd: 382
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getFloatObject(int)"
    - "[java.lang.Float].floatValue()"
    - "[java.lang.Math].exp(double)"
    - "[java.lang.Math].log(double)"
    - "[java.lang.Math].round(double)"
    - "[java.text.DecimalFormat].<init>(java.lang.String)"
    - "[java.text.DecimalFormat].setRoundingMode(java.math.RoundingMode)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.text.NumberFormat].format(double)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.StringBuilder].append(int)"
    functionUses: 2
    ICount: 47
    EdgeCount: 21
    BranchProfiles:
    - Branch String: "com.drew.metadata.TagDescriptor:370"
      Branch Sides:
      - BranchSide: "com.drew.metadata.TagDescriptor:372"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.TagDescriptor:371"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.TagDescriptor:372"
      Branch Sides:
      - BranchSide: "com.drew.metadata.TagDescriptor:380"
        BranchSideFuncs:
        - "format(double)"
        - "round(double)"
        - "<init>(java.lang.String)"
        - "setRoundingMode(java.math.RoundingMode)"
      - BranchSide: "com.drew.metadata.TagDescriptor:379"
        BranchSideFuncs:
        - "exp(double)"
        - "<init>()"
        - "append(java.lang.String)"
        - "toString()"
        - "log(double)"
        - "floatValue()"
        - "append(int)"
    Callsites:
    - Src: "com.drew.metadata.TagDescriptor:369,1"
      Dst: "[com.drew.metadata.Directory].getFloatObject(int)"
    - Src: "com.drew.metadata.TagDescriptor:372,1"
      Dst: "[java.lang.Float].floatValue()"
    - Src: "com.drew.metadata.TagDescriptor:373,1"
      Dst: "[java.lang.Math].log(double)"
    - Src: "com.drew.metadata.TagDescriptor:373,1"
      Dst: "[java.lang.Math].exp(double)"
    - Src: "com.drew.metadata.TagDescriptor:374,1"
      Dst: "[java.lang.Math].round(double)"
    - Src: "com.drew.metadata.TagDescriptor:376,1"
      Dst: "[java.text.DecimalFormat].<init>(java.lang.String)"
    - Src: "com.drew.metadata.TagDescriptor:377,1"
      Dst: "[java.text.DecimalFormat].setRoundingMode(java.math.RoundingMode)"
    - Src: "com.drew.metadata.TagDescriptor:378,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.TagDescriptor:378,1"
      Dst: "[java.text.NumberFormat].format(double)"
    - Src: "com.drew.metadata.TagDescriptor:378,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.TagDescriptor:378,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "com.drew.metadata.TagDescriptor:381,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    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: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getIsoValueDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 836
    functionLinenumberEnd: 842
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getRational(int)"
    - "[com.drew.lang.Rational].doubleValue()"
    - "[java.lang.Math].pow(double,double)"
    - "[java.lang.Math].round(double)"
    - "[java.lang.String].valueOf(long)"
    functionUses: 1
    ICount: 13
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:838"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:841"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:840"
        BranchSideFuncs:
        - "doubleValue()"
        - "round(double)"
        - "pow(double,double)"
        - "valueOf(long)"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:837,1"
      Dst: "[com.drew.metadata.Directory].getRational(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:841,1"
      Dst: "[com.drew.lang.Rational].doubleValue()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:841,1"
      Dst: "[java.lang.Math].pow(double,double)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:841,1"
      Dst: "[java.lang.Math].round(double)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:841,1"
      Dst: "[java.lang.String].valueOf(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: 3
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getApertureValueDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 846
    functionLinenumberEnd: 852
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getDoubleObject(int)"
    - "[com.drew.imaging.PhotographicConversions].apertureToFStop(double)"
    - "[java.lang.Double].doubleValue()"
    - "[com.drew.metadata.TagDescriptor].getFStopDescription(double)"
    functionUses: 1
    ICount: 10
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:848"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:850"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:849"
        BranchSideFuncs:
        - "apertureToFStop(double)"
        - "doubleValue()"
        - "getFStopDescription(double)"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:847,1"
      Dst: "[com.drew.metadata.Directory].getDoubleObject(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:850,1"
      Dst: "[java.lang.Double].doubleValue()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:850,1"
      Dst: "[com.drew.imaging.PhotographicConversions].apertureToFStop(double)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:851,1"
      Dst: "[com.drew.metadata.TagDescriptor].getFStopDescription(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: "[com.drew.metadata.TagDescriptor].getFStopDescription(double)"
    functionSourceFile: "com.drew.metadata.TagDescriptor"
    linkageType: ""
    functionLinenumber: 305
    functionLinenumberEnd: 309
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "double"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.text.DecimalFormat].<init>(java.lang.String)"
    - "[java.text.DecimalFormat].setRoundingMode(java.math.RoundingMode)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.text.NumberFormat].format(double)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 10
    ICount: 12
    EdgeCount: 7
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.TagDescriptor:306,1"
      Dst: "[java.text.DecimalFormat].<init>(java.lang.String)"
    - Src: "com.drew.metadata.TagDescriptor:307,1"
      Dst: "[java.text.DecimalFormat].setRoundingMode(java.math.RoundingMode)"
    - Src: "com.drew.metadata.TagDescriptor:308,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.TagDescriptor:308,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.TagDescriptor:308,1"
      Dst: "[java.text.NumberFormat].format(double)"
    - Src: "com.drew.metadata.TagDescriptor:308,1"
      Dst: "[java.lang.StringBuilder].toString()"
    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: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getFlashModeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 776
    functionLinenumberEnd: 778
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 8
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:777,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getFocusRangeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 770
    functionLinenumberEnd: 772
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:771,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getFocusModeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 764
    functionLinenumberEnd: 766
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:765,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getSharpnessDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 671
    functionLinenumberEnd: 673
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:672,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getColorMatrixDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 677
    functionLinenumberEnd: 689
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getIntArray(int)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(int)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].length()"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 27
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:679"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:682"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:681"
        BranchSideFuncs:
        - "<init>()"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:683"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:688"
        BranchSideFuncs:
        - "append(int)"
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:687"
        BranchSideFuncs:
        - "toString()"
        - "length()"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:685"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:682"
        BranchSideFuncs:
        - "append(java.lang.String)"
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:681"
        BranchSideFuncs:
        - "<init>()"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:688"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:687"
        BranchSideFuncs:
        - "toString()"
        - "length()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:678,1"
      Dst: "[com.drew.metadata.Directory].getIntArray(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:682,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:684,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:686,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:688,1"
      Dst: "[java.lang.StringBuilder].length()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:688,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: 11
    CyclomaticComplexity: 4
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getWbModeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 693
    functionLinenumberEnd: 724
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getIntArray(int)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.lang.Integer].valueOf(int)"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 53
    EdgeCount: 19
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:695"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:698"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:697"
        BranchSideFuncs:
        - "format(java.lang.String,java.lang.Object[])"
        - "valueOf(int)"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:700"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:702"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:701"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:702"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:704"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:703"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:704"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:706"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:705"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:706"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:708"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:707"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:708"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:710"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:709"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:710"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:712"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:711"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:712"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:714"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:713"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:714"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:716"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:715"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:716"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:718"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:717"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:718"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:720"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:719"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:720"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:723"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:722"
        BranchSideFuncs:
        - "<init>()"
        - "append(java.lang.String)"
        - "toString()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:694,1"
      Dst: "[com.drew.metadata.Directory].getIntArray(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:698,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:698,1"
      Dst: "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:700,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:723,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:723,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:723,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: 25
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getRedBalanceDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 728
    functionLinenumberEnd: 736
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getIntArray(int)"
    - "[java.lang.String].valueOf(double)"
    functionUses: 1
    ICount: 12
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:730"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:733"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:732"
        BranchSideFuncs:
        - "valueOf(double)"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:729,1"
      Dst: "[com.drew.metadata.Directory].getIntArray(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:735,1"
      Dst: "[java.lang.String].valueOf(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: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getBlueBalanceDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 740
    functionLinenumberEnd: 748
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getIntArray(int)"
    - "[java.lang.String].valueOf(double)"
    functionUses: 1
    ICount: 12
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:742"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:745"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:744"
        BranchSideFuncs:
        - "valueOf(double)"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:741,1"
      Dst: "[com.drew.metadata.Directory].getIntArray(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:747,1"
      Dst: "[java.lang.String].valueOf(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: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getContrastDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 752
    functionLinenumberEnd: 754
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:753,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getPreviewImageValidDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 758
    functionLinenumberEnd: 760
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:759,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getExposureModeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 212
    functionLinenumberEnd: 214
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 9
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:213,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getFlashModeCameraSettingDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 218
    functionLinenumberEnd: 220
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 9
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:219,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getWhiteBalanceDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 225
    functionLinenumberEnd: 227
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 18
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:226,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getImageSizeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 246
    functionLinenumberEnd: 248
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 9
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:247,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getImageQualityDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 252
    functionLinenumberEnd: 254
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 11
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:253,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getShootingModeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 258
    functionLinenumberEnd: 260
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 13
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:259,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getMeteringModeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 273
    functionLinenumberEnd: 275
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 8
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:274,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getApexFilmSpeedDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 282
    functionLinenumberEnd: 292
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getLongObject(int)"
    - "[java.lang.Long].longValue()"
    - "[java.lang.Math].pow(double,double)"
    - "[java.text.DecimalFormat].<init>(java.lang.String)"
    - "[java.text.DecimalFormat].setRoundingMode(java.math.RoundingMode)"
    - "[java.text.NumberFormat].format(double)"
    functionUses: 1
    ICount: 19
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:285"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:288"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:287"
        BranchSideFuncs:
        - "format(double)"
        - "pow(double,double)"
        - "<init>(java.lang.String)"
        - "longValue()"
        - "setRoundingMode(java.math.RoundingMode)"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:283,1"
      Dst: "[com.drew.metadata.Directory].getLongObject(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:288,1"
      Dst: "[java.lang.Long].longValue()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:288,1"
      Dst: "[java.lang.Math].pow(double,double)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:289,1"
      Dst: "[java.text.DecimalFormat].<init>(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:290,1"
      Dst: "[java.text.DecimalFormat].setRoundingMode(java.math.RoundingMode)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:291,1"
      Dst: "[java.text.NumberFormat].format(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: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getApexShutterSpeedTimeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 300
    functionLinenumberEnd: 310
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getLongObject(int)"
    - "[java.lang.Long].longValue()"
    - "[java.lang.Math].pow(double,double)"
    - "[java.text.DecimalFormat].<init>(java.lang.String)"
    - "[java.text.DecimalFormat].setRoundingMode(java.math.RoundingMode)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.text.NumberFormat].format(double)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 23
    EdgeCount: 10
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:303"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:306"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:305"
        BranchSideFuncs:
        - "format(double)"
        - "<init>()"
        - "append(java.lang.String)"
        - "toString()"
        - "pow(double,double)"
        - "<init>(java.lang.String)"
        - "longValue()"
        - "setRoundingMode(java.math.RoundingMode)"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:301,1"
      Dst: "[com.drew.metadata.Directory].getLongObject(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:306,1"
      Dst: "[java.lang.Long].longValue()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:306,1"
      Dst: "[java.lang.Math].pow(double,double)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:307,1"
      Dst: "[java.text.DecimalFormat].<init>(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:308,1"
      Dst: "[java.text.DecimalFormat].setRoundingMode(java.math.RoundingMode)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:309,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:309,1"
      Dst: "[java.text.NumberFormat].format(double)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:309,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:309,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: 3
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getApexApertureDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 317
    functionLinenumberEnd: 325
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getLongObject(int)"
    - "[java.lang.Long].longValue()"
    - "[java.lang.Math].pow(double,double)"
    - "[com.drew.metadata.TagDescriptor].getFStopDescription(double)"
    functionUses: 1
    ICount: 14
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:320"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:323"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:322"
        BranchSideFuncs:
        - "getFStopDescription(double)"
        - "pow(double,double)"
        - "longValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:318,1"
      Dst: "[com.drew.metadata.Directory].getLongObject(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:323,1"
      Dst: "[java.lang.Long].longValue()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:323,1"
      Dst: "[java.lang.Math].pow(double,double)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:324,1"
      Dst: "[com.drew.metadata.TagDescriptor].getFStopDescription(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: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getMacroModeCameraSettingDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 329
    functionLinenumberEnd: 331
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:330,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getDigitalZoomCameraSettingDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 335
    functionLinenumberEnd: 337
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 8
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:336,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getExposureCompensationDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 341
    functionLinenumberEnd: 345
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getLongObject(int)"
    - "[java.text.DecimalFormat].<init>(java.lang.String)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.text.NumberFormat].format(double)"
    - "[java.lang.Long].longValue()"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 21
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:344"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:341"
        BranchSideFuncs:
        - "format(double)"
        - "getLongObject(int)"
        - "<init>()"
        - "append(java.lang.String)"
        - "toString()"
        - "<init>(java.lang.String)"
        - "longValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:342,1"
      Dst: "[com.drew.metadata.Directory].getLongObject(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:343,1"
      Dst: "[java.text.DecimalFormat].<init>(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:344,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:344,1"
      Dst: "[java.lang.Long].longValue()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:344,1"
      Dst: "[java.text.NumberFormat].format(double)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:344,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:344,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: 4
    CyclomaticComplexity: 2
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getBracketStepDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 349
    functionLinenumberEnd: 351
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 8
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:350,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getIntervalLengthDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 355
    functionLinenumberEnd: 361
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.makernotes.OlympusMakernoteDirectory].isIntervalMode()"
    - "[com.drew.metadata.Directory].getLongObject(int)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 19
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:356"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:359"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:358"
        BranchSideFuncs:
        - "getLongObject(int)"
        - "<init>()"
        - "append(java.lang.String)"
        - "append(java.lang.Object)"
        - "toString()"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:360"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:358"
        BranchSideFuncs:
        - "getLongObject(int)"
        - "<init>()"
        - "append(java.lang.String)"
        - "append(java.lang.Object)"
        - "toString()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:356,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDirectory].isIntervalMode()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:359,1"
      Dst: "[com.drew.metadata.Directory].getLongObject(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:360,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:360,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:360,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:360,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: 6
    CyclomaticComplexity: 2
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getIntervalNumberDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 365
    functionLinenumberEnd: 371
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.makernotes.OlympusMakernoteDirectory].isIntervalMode()"
    - "[com.drew.metadata.Directory].getLongObject(int)"
    - "[java.lang.Long].longValue()"
    - "[java.lang.Long].toString(long)"
    functionUses: 1
    ICount: 16
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:366"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:369"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:368"
        BranchSideFuncs:
        - "getLongObject(int)"
        - "toString(long)"
        - "longValue()"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:370"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:368"
        BranchSideFuncs:
        - "getLongObject(int)"
        - "toString(long)"
        - "longValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:366,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDirectory].isIntervalMode()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:369,1"
      Dst: "[com.drew.metadata.Directory].getLongObject(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:370,1"
      Dst: "[java.lang.Long].longValue()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:370,1"
      Dst: "[java.lang.Long].toString(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: 6
    CyclomaticComplexity: 2
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getFocalLengthDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 375
    functionLinenumberEnd: 378
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getLongObject(int)"
    - "[com.drew.metadata.TagDescriptor].getFocalLengthDescription(double)"
    - "[java.lang.Long].longValue()"
    functionUses: 1
    ICount: 13
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:377"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:375"
        BranchSideFuncs:
        - "getLongObject(int)"
        - "getFocalLengthDescription(double)"
        - "longValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:376,1"
      Dst: "[com.drew.metadata.Directory].getLongObject(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:377,1"
      Dst: "[java.lang.Long].longValue()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:377,1"
      Dst: "[com.drew.metadata.TagDescriptor].getFocalLengthDescription(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: 4
    CyclomaticComplexity: 2
  - functionName: "[com.drew.metadata.TagDescriptor].getFocalLengthDescription(double)"
    functionSourceFile: "com.drew.metadata.TagDescriptor"
    linkageType: ""
    functionLinenumber: 313
    functionLinenumberEnd: 317
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "double"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.text.DecimalFormat].<init>(java.lang.String)"
    - "[java.text.DecimalFormat].setRoundingMode(java.math.RoundingMode)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.text.NumberFormat].format(double)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 5
    ICount: 12
    EdgeCount: 7
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.TagDescriptor:314,1"
      Dst: "[java.text.DecimalFormat].<init>(java.lang.String)"
    - Src: "com.drew.metadata.TagDescriptor:315,1"
      Dst: "[java.text.DecimalFormat].setRoundingMode(java.math.RoundingMode)"
    - Src: "com.drew.metadata.TagDescriptor:316,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.TagDescriptor:316,1"
      Dst: "[java.text.NumberFormat].format(double)"
    - Src: "com.drew.metadata.TagDescriptor:316,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.TagDescriptor:316,1"
      Dst: "[java.lang.StringBuilder].toString()"
    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: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getFocusDistanceDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 382
    functionLinenumberEnd: 389
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getLongObject(int)"
    - "[java.lang.Long].longValue()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 19
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:384"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:386"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:385"
        BranchSideFuncs:
        - "longValue()"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:386"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:388"
        BranchSideFuncs:
        - "longValue()"
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:387"
        BranchSideFuncs:
        - "<init>()"
        - "append(java.lang.String)"
        - "append(java.lang.Object)"
        - "toString()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:383,1"
      Dst: "[com.drew.metadata.Directory].getLongObject(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:386,1"
      Dst: "[java.lang.Long].longValue()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:388,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:388,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:388,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:388,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: 6
    CyclomaticComplexity: 3
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getFlashFiredDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 393
    functionLinenumberEnd: 395
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:394,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getDateDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 402
    functionLinenumberEnd: 415
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getLongObject(int)"
    - "[java.lang.Long].longValue()"
    - "[com.drew.lang.DateUtil].isValidDate(int,int,int)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.lang.Integer].valueOf(int)"
    functionUses: 1
    ICount: 32
    EdgeCount: 9
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:404"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:407"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:406"
        BranchSideFuncs:
        - "longValue()"
        - "isValidDate(int,int,int)"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:411"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:414"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:413"
        BranchSideFuncs:
        - "format(java.lang.String,java.lang.Object[])"
        - "valueOf(int)"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:403,1"
      Dst: "[com.drew.metadata.Directory].getLongObject(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:407,1"
      Dst: "[java.lang.Long].longValue()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:411,1"
      Dst: "[com.drew.lang.DateUtil].isValidDate(int,int,int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:414,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:414,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: 5
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getTimeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 422
    functionLinenumberEnd: 435
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getLongObject(int)"
    - "[java.lang.Long].longValue()"
    - "[com.drew.lang.DateUtil].isValidTime(int,int,int)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.lang.Integer].valueOf(int)"
    functionUses: 1
    ICount: 30
    EdgeCount: 9
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:424"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:427"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:426"
        BranchSideFuncs:
        - "isValidTime(int,int,int)"
        - "longValue()"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:431"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:434"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:433"
        BranchSideFuncs:
        - "format(java.lang.String,java.lang.Object[])"
        - "valueOf(int)"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:423,1"
      Dst: "[com.drew.metadata.Directory].getLongObject(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:427,1"
      Dst: "[java.lang.Long].longValue()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:431,1"
      Dst: "[com.drew.lang.DateUtil].isValidTime(int,int,int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:434,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:434,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: 5
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getMaxApertureAtFocalLengthDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 440
    functionLinenumberEnd: 446
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getLongObject(int)"
    - "[java.lang.Long].longValue()"
    - "[java.lang.Math].pow(double,double)"
    - "[com.drew.metadata.TagDescriptor].getFStopDescription(double)"
    functionUses: 1
    ICount: 14
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:442"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:444"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:443"
        BranchSideFuncs:
        - "getFStopDescription(double)"
        - "pow(double,double)"
        - "longValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:441,1"
      Dst: "[com.drew.metadata.Directory].getLongObject(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:444,1"
      Dst: "[java.lang.Long].longValue()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:444,1"
      Dst: "[java.lang.Math].pow(double,double)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:445,1"
      Dst: "[com.drew.metadata.TagDescriptor].getFStopDescription(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: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getFileNumberMemoryDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 450
    functionLinenumberEnd: 452
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:451,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getLastFileNumberDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 456
    functionLinenumberEnd: 463
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getLongObject(int)"
    - "[java.lang.Long].longValue()"
    - "[java.lang.Long].toString(long)"
    functionUses: 1
    ICount: 16
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:458"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:460"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:459"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:460"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:462"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:461"
        BranchSideFuncs:
        - "toString(long)"
        - "longValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:457,1"
      Dst: "[com.drew.metadata.Directory].getLongObject(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:460,1"
      Dst: "[java.lang.Long].longValue()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:462,1"
      Dst: "[java.lang.Long].toString(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: 6
    CyclomaticComplexity: 3
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getWhiteBalanceRedDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 467
    functionLinenumberEnd: 471
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getLongObject(int)"
    - "[java.text.DecimalFormat].<init>(java.lang.String)"
    - "[java.text.NumberFormat].format(double)"
    - "[java.lang.Long].longValue()"
    functionUses: 1
    ICount: 15
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:470"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:467"
        BranchSideFuncs:
        - "format(double)"
        - "getLongObject(int)"
        - "<init>(java.lang.String)"
        - "longValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:468,1"
      Dst: "[com.drew.metadata.Directory].getLongObject(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:469,1"
      Dst: "[java.text.DecimalFormat].<init>(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:470,1"
      Dst: "[java.lang.Long].longValue()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:470,1"
      Dst: "[java.text.NumberFormat].format(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: 4
    CyclomaticComplexity: 2
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getWhiteBalanceGreenDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 475
    functionLinenumberEnd: 479
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getLongObject(int)"
    - "[java.text.DecimalFormat].<init>(java.lang.String)"
    - "[java.text.NumberFormat].format(double)"
    - "[java.lang.Long].longValue()"
    functionUses: 1
    ICount: 15
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:478"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:475"
        BranchSideFuncs:
        - "format(double)"
        - "getLongObject(int)"
        - "<init>(java.lang.String)"
        - "longValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:476,1"
      Dst: "[com.drew.metadata.Directory].getLongObject(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:477,1"
      Dst: "[java.text.DecimalFormat].<init>(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:478,1"
      Dst: "[java.lang.Long].longValue()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:478,1"
      Dst: "[java.text.NumberFormat].format(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: 4
    CyclomaticComplexity: 2
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getWhiteBalanceBlueDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 483
    functionLinenumberEnd: 487
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getLongObject(int)"
    - "[java.text.DecimalFormat].<init>(java.lang.String)"
    - "[java.text.NumberFormat].format(double)"
    - "[java.lang.Long].longValue()"
    functionUses: 1
    ICount: 15
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:486"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:483"
        BranchSideFuncs:
        - "format(double)"
        - "getLongObject(int)"
        - "<init>(java.lang.String)"
        - "longValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:484,1"
      Dst: "[com.drew.metadata.Directory].getLongObject(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:485,1"
      Dst: "[java.text.DecimalFormat].<init>(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:486,1"
      Dst: "[java.lang.Long].longValue()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:486,1"
      Dst: "[java.text.NumberFormat].format(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: 4
    CyclomaticComplexity: 2
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getSaturationDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 491
    functionLinenumberEnd: 494
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getLongObject(int)"
    - "[java.lang.Long].longValue()"
    - "[java.lang.Long].toString(long)"
    functionUses: 1
    ICount: 12
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:493"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:491"
        BranchSideFuncs:
        - "getLongObject(int)"
        - "toString(long)"
        - "longValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:492,1"
      Dst: "[com.drew.metadata.Directory].getLongObject(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:493,1"
      Dst: "[java.lang.Long].longValue()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:493,1"
      Dst: "[java.lang.Long].toString(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: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getContrastCameraSettingDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 498
    functionLinenumberEnd: 501
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getLongObject(int)"
    - "[java.lang.Long].longValue()"
    - "[java.lang.Long].toString(long)"
    functionUses: 1
    ICount: 12
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:500"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:498"
        BranchSideFuncs:
        - "getLongObject(int)"
        - "toString(long)"
        - "longValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:499,1"
      Dst: "[com.drew.metadata.Directory].getLongObject(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:500,1"
      Dst: "[java.lang.Long].longValue()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:500,1"
      Dst: "[java.lang.Long].toString(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: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getSharpnessCameraSettingDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 505
    functionLinenumberEnd: 507
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 8
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:506,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getSubjectProgramDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 511
    functionLinenumberEnd: 513
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 11
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:512,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getFlashCompensationDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 517
    functionLinenumberEnd: 521
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getLongObject(int)"
    - "[java.text.DecimalFormat].<init>(java.lang.String)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.text.NumberFormat].format(double)"
    - "[java.lang.Long].longValue()"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 21
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:520"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:517"
        BranchSideFuncs:
        - "format(double)"
        - "getLongObject(int)"
        - "<init>()"
        - "append(java.lang.String)"
        - "toString()"
        - "<init>(java.lang.String)"
        - "longValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:518,1"
      Dst: "[com.drew.metadata.Directory].getLongObject(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:519,1"
      Dst: "[java.text.DecimalFormat].<init>(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:520,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:520,1"
      Dst: "[java.lang.Long].longValue()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:520,1"
      Dst: "[java.text.NumberFormat].format(double)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:520,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:520,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: 4
    CyclomaticComplexity: 2
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getIsoSettingDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 525
    functionLinenumberEnd: 527
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 11
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:526,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getCameraModelDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 531
    functionLinenumberEnd: 533
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 13
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:532,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getIntervalModeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 545
    functionLinenumberEnd: 547
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:546,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getFolderNameDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 551
    functionLinenumberEnd: 553
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:552,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getColorModeCameraSettingDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 557
    functionLinenumberEnd: 559
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 10
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:558,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getColorFilterDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 563
    functionLinenumberEnd: 566
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getLongObject(int)"
    - "[java.lang.Long].longValue()"
    - "[java.lang.Long].toString(long)"
    functionUses: 1
    ICount: 12
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:565"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:563"
        BranchSideFuncs:
        - "getLongObject(int)"
        - "toString(long)"
        - "longValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:564,1"
      Dst: "[com.drew.metadata.Directory].getLongObject(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:565,1"
      Dst: "[java.lang.Long].longValue()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:565,1"
      Dst: "[java.lang.Long].toString(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: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getBlackAndWhiteFilterDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 570
    functionLinenumberEnd: 572
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getDescription(int)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:571,1"
      Dst: "[com.drew.metadata.TagDescriptor].getDescription(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: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getInternalFlashDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 576
    functionLinenumberEnd: 578
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:577,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getApexBrightnessDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 582
    functionLinenumberEnd: 586
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getLongObject(int)"
    - "[java.text.DecimalFormat].<init>(java.lang.String)"
    - "[java.text.NumberFormat].format(double)"
    - "[java.lang.Long].longValue()"
    functionUses: 1
    ICount: 16
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:585"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:582"
        BranchSideFuncs:
        - "format(double)"
        - "getLongObject(int)"
        - "<init>(java.lang.String)"
        - "longValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:583,1"
      Dst: "[com.drew.metadata.Directory].getLongObject(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:584,1"
      Dst: "[java.text.DecimalFormat].<init>(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:585,1"
      Dst: "[java.lang.Long].longValue()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:585,1"
      Dst: "[java.text.NumberFormat].format(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: 4
    CyclomaticComplexity: 2
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getSpotFocusPointXCoordinateDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 590
    functionLinenumberEnd: 592
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getDescription(int)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:591,1"
      Dst: "[com.drew.metadata.TagDescriptor].getDescription(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: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getSpotFocusPointYCoordinateDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 596
    functionLinenumberEnd: 598
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getDescription(int)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:597,1"
      Dst: "[com.drew.metadata.TagDescriptor].getDescription(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: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getWideFocusZoneDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 602
    functionLinenumberEnd: 604
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 10
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:603,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getFocusModeCameraSettingDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 614
    functionLinenumberEnd: 616
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:615,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getFocusAreaDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 620
    functionLinenumberEnd: 622
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:621,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor].getDecSwitchPositionDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 626
    functionLinenumberEnd: 628
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 9
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusMakernoteDescriptor:627,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.mov.metadata.QuickTimeMetadataDescriptor].<init>(com.drew.metadata.mov.QuickTimeDirectory)"
    functionSourceFile: "com.drew.metadata.mov.metadata.QuickTimeMetadataDescriptor"
    linkageType: ""
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.mov.QuickTimeDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mov.QuickTimeDescriptor].<init>(com.drew.metadata.mov.QuickTimeDirectory)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.metadata.QuickTimeMetadataDescriptor:35,1"
      Dst: "[com.drew.metadata.mov.QuickTimeDescriptor].<init>(com.drew.metadata.mov.QuickTimeDirectory)"
    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: "[com.drew.metadata.mov.metadata.QuickTimeMetadataDescriptor].getDescription(int)"
    functionSourceFile: "com.drew.metadata.mov.metadata.QuickTimeMetadataDescriptor"
    linkageType: ""
    functionLinenumber: 40
    functionLinenumberEnd: 48
    functionDepth: 3
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mov.metadata.QuickTimeMetadataDescriptor].getArtworkDescription()"
    - "[com.drew.metadata.mov.metadata.QuickTimeMetadataDescriptor].getLocationRoleDescription()"
    - "[com.drew.metadata.mov.QuickTimeDescriptor].getDescription(int)"
    functionUses: 1
    ICount: 9
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.metadata.QuickTimeMetadataDescriptor:43,1"
      Dst: "[com.drew.metadata.mov.metadata.QuickTimeMetadataDescriptor].getArtworkDescription()"
    - Src: "com.drew.metadata.mov.metadata.QuickTimeMetadataDescriptor:45,1"
      Dst: "[com.drew.metadata.mov.metadata.QuickTimeMetadataDescriptor].getLocationRoleDescription()"
    - Src: "com.drew.metadata.mov.metadata.QuickTimeMetadataDescriptor:47,1"
      Dst: "[com.drew.metadata.mov.QuickTimeDescriptor].getDescription(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: 1
  - functionName: "[com.drew.metadata.mov.metadata.QuickTimeMetadataDescriptor].getArtworkDescription()"
    functionSourceFile: "com.drew.metadata.mov.metadata.QuickTimeMetadataDescriptor"
    linkageType: ""
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getByteLengthDescription(int)"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.metadata.QuickTimeMetadataDescriptor:53,1"
      Dst: "[com.drew.metadata.TagDescriptor].getByteLengthDescription(int)"
    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: "[com.drew.metadata.mov.metadata.QuickTimeMetadataDescriptor].getLocationRoleDescription()"
    functionSourceFile: "com.drew.metadata.mov.metadata.QuickTimeMetadataDescriptor"
    linkageType: ""
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,java.lang.String[])"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.metadata.QuickTimeMetadataDescriptor:58,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,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: "[com.drew.metadata.mov.QuickTimeDescriptor].getDescription(int)"
    functionSourceFile: "com.drew.metadata.mov.QuickTimeDescriptor"
    linkageType: ""
    functionLinenumber: 44
    functionLinenumberEnd: 54
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mov.QuickTimeDescriptor].getMajorBrandDescription()"
    - "[com.drew.metadata.mov.QuickTimeDescriptor].getCompatibleBrandsDescription()"
    - "[com.drew.metadata.mov.QuickTimeDescriptor].getDurationDescription()"
    - "[com.drew.metadata.TagDescriptor].getDescription(int)"
    functionUses: 3
    ICount: 11
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.QuickTimeDescriptor:47,1"
      Dst: "[com.drew.metadata.mov.QuickTimeDescriptor].getMajorBrandDescription()"
    - Src: "com.drew.metadata.mov.QuickTimeDescriptor:49,1"
      Dst: "[com.drew.metadata.mov.QuickTimeDescriptor].getCompatibleBrandsDescription()"
    - Src: "com.drew.metadata.mov.QuickTimeDescriptor:51,1"
      Dst: "[com.drew.metadata.mov.QuickTimeDescriptor].getDurationDescription()"
    - Src: "com.drew.metadata.mov.QuickTimeDescriptor:53,1"
      Dst: "[com.drew.metadata.TagDescriptor].getDescription(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: 5
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.mov.QuickTimeDescriptor].getMajorBrandDescription()"
    functionSourceFile: "com.drew.metadata.mov.QuickTimeDescriptor"
    linkageType: ""
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getByteArray(int)"
    - "[java.lang.String].<init>(byte[])"
    - "[com.drew.metadata.mov.QuickTimeDictionary].lookup(int,java.lang.String)"
    functionUses: 1
    ICount: 10
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.drew.metadata.mov.QuickTimeDescriptor:60"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.QuickTimeDescriptor:62"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.mov.QuickTimeDescriptor:61"
        BranchSideFuncs:
        - "<init>(byte[])"
        - "lookup(int,java.lang.String)"
    Callsites:
    - Src: "com.drew.metadata.mov.QuickTimeDescriptor:59,1"
      Dst: "[com.drew.metadata.Directory].getByteArray(int)"
    - Src: "com.drew.metadata.mov.QuickTimeDescriptor:62,1"
      Dst: "[java.lang.String].<init>(byte[])"
    - Src: "com.drew.metadata.mov.QuickTimeDescriptor:62,1"
      Dst: "[com.drew.metadata.mov.QuickTimeDictionary].lookup(int,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: 3
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.mov.QuickTimeDescriptor].getCompatibleBrandsDescription()"
    functionSourceFile: "com.drew.metadata.mov.QuickTimeDescriptor"
    linkageType: ""
    functionLinenumber: 66
    functionLinenumberEnd: 77
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getStringArray(int)"
    - "[java.util.ArrayList].<init>()"
    - "[com.drew.metadata.mov.QuickTimeDictionary].lookup(int,java.lang.String)"
    - "[java.util.ArrayList].add(java.lang.Object)"
    - "[java.util.ArrayList].toArray()"
    - "[java.util.Arrays].toString(java.lang.Object[])"
    functionUses: 1
    ICount: 23
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "com.drew.metadata.mov.QuickTimeDescriptor:68"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.QuickTimeDescriptor:71"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.mov.QuickTimeDescriptor:70"
        BranchSideFuncs:
        - "<init>()"
    - Branch String: "com.drew.metadata.mov.QuickTimeDescriptor:72"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.QuickTimeDescriptor:76"
        BranchSideFuncs:
        - "add(java.lang.Object)"
        - "lookup(int,java.lang.String)"
      - BranchSide: "com.drew.metadata.mov.QuickTimeDescriptor:75"
        BranchSideFuncs:
        - "toArray()"
        - "toString(java.lang.Object[])"
    - Branch String: "com.drew.metadata.mov.QuickTimeDescriptor:74"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.QuickTimeDescriptor:71"
        BranchSideFuncs:
        - "add(java.lang.Object)"
        - "lookup(int,java.lang.String)"
    Callsites:
    - Src: "com.drew.metadata.mov.QuickTimeDescriptor:67,1"
      Dst: "[com.drew.metadata.Directory].getStringArray(int)"
    - Src: "com.drew.metadata.mov.QuickTimeDescriptor:71,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "com.drew.metadata.mov.QuickTimeDescriptor:73,1"
      Dst: "[com.drew.metadata.mov.QuickTimeDictionary].lookup(int,java.lang.String)"
    - Src: "com.drew.metadata.mov.QuickTimeDescriptor:74,1"
      Dst: "[java.util.ArrayList].add(java.lang.Object)"
    - Src: "com.drew.metadata.mov.QuickTimeDescriptor:76,1"
      Dst: "[java.util.ArrayList].toArray()"
    - Src: "com.drew.metadata.mov.QuickTimeDescriptor:76,1"
      Dst: "[java.util.Arrays].toString(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: 9
    CyclomaticComplexity: 3
  - functionName: "[com.drew.metadata.mov.QuickTimeDescriptor].getDurationDescription()"
    functionSourceFile: "com.drew.metadata.mov.QuickTimeDescriptor"
    linkageType: ""
    functionLinenumber: 80
    functionLinenumberEnd: 90
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getRational(int)"
    - "[com.drew.lang.Rational].doubleValue()"
    - "[java.lang.Math].pow(double,double)"
    - "[java.lang.Integer].valueOf(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.Math].ceil(double)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    functionUses: 1
    ICount: 34
    EdgeCount: 12
    BranchProfiles:
    - Branch String: "com.drew.metadata.mov.QuickTimeDescriptor:82"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.QuickTimeDescriptor:85"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.mov.QuickTimeDescriptor:84"
        BranchSideFuncs:
        - "doubleValue()"
        - "intValue()"
        - "ceil(double)"
        - "format(java.lang.String,java.lang.Object[])"
        - "valueOf(int)"
        - "pow(double,double)"
    Callsites:
    - Src: "com.drew.metadata.mov.QuickTimeDescriptor:81,1"
      Dst: "[com.drew.metadata.Directory].getRational(int)"
    - Src: "com.drew.metadata.mov.QuickTimeDescriptor:85,1"
      Dst: "[com.drew.lang.Rational].doubleValue()"
    - Src: "com.drew.metadata.mov.QuickTimeDescriptor:86,1"
      Dst: "[java.lang.Math].pow(double,double)"
    - Src: "com.drew.metadata.mov.QuickTimeDescriptor:86,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.drew.metadata.mov.QuickTimeDescriptor:87,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.mov.QuickTimeDescriptor:88,1"
      Dst: "[java.lang.Math].ceil(double)"
    - Src: "com.drew.metadata.mov.QuickTimeDescriptor:89,1"
      Dst: "[java.lang.String].format(java.lang.String,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: 1
  - functionName: "[com.drew.metadata.wav.WavDescriptor].<init>(com.drew.metadata.wav.WavDirectory)"
    functionSourceFile: "com.drew.metadata.wav.WavDescriptor"
    linkageType: ""
    functionLinenumber: 13
    functionLinenumberEnd: 16
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.wav.WavDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.wav.WavDescriptor:14,1"
      Dst: "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    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: "[com.drew.metadata.wav.WavDescriptor].getDescription(int)"
    functionSourceFile: "com.drew.metadata.wav.WavDescriptor"
    linkageType: ""
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getDescription(int)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.wav.WavDescriptor:21,1"
      Dst: "[com.drew.metadata.TagDescriptor].getDescription(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: "[com.drew.imaging.png.PngMetadataReader].<init>()"
    functionSourceFile: "com.drew.imaging.png.PngMetadataReader"
    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: "com.drew.imaging.png.PngMetadataReader:45,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: "[com.drew.imaging.png.PngMetadataReader].readMetadata(java.io.File)"
    functionSourceFile: "com.drew.imaging.png.PngMetadataReader"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 8
    returnType: "com.drew.metadata.Metadata"
    argCount: 1
    argTypes:
    - "java.io.File"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.FileInputStream].<init>(java.io.File)"
    - "[com.drew.imaging.png.PngMetadataReader].readMetadata(java.io.InputStream)"
    - "[java.io.InputStream].close()"
    - "[com.drew.metadata.file.FileSystemMetadataReader].<init>()"
    - "[com.drew.metadata.file.FileSystemMetadataReader].read(java.io.File,com.drew.metadata.Metadata)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.png.PngMetadataReader:89,1"
      Dst: "[java.io.FileInputStream].<init>(java.io.File)"
    - Src: "com.drew.imaging.png.PngMetadataReader:92,1"
      Dst: "[com.drew.imaging.png.PngMetadataReader].readMetadata(java.io.InputStream)"
    - Src: "com.drew.imaging.png.PngMetadataReader:94,1"
      Dst: "[java.io.InputStream].close()"
    - Src: "com.drew.imaging.png.PngMetadataReader:96,1"
      Dst: "[com.drew.metadata.file.FileSystemMetadataReader].<init>()"
    - Src: "com.drew.imaging.png.PngMetadataReader:96,1"
      Dst: "[com.drew.metadata.file.FileSystemMetadataReader].read(java.io.File,com.drew.metadata.Metadata)"
    JavaMethodInfo:
      exceptions:
      - "com.drew.imaging.png.PngProcessingException"
      - "java.io.IOException"
      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: "[com.drew.imaging.png.PngMetadataReader].readMetadata(java.io.InputStream)"
    functionSourceFile: "com.drew.imaging.png.PngMetadataReader"
    linkageType: ""
    functionLinenumber: 102
    functionLinenumberEnd: 116
    functionDepth: 7
    returnType: "com.drew.metadata.Metadata"
    argCount: 1
    argTypes:
    - "java.io.InputStream"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.StreamReader].<init>(java.io.InputStream)"
    - "[com.drew.imaging.png.PngChunkReader].<init>()"
    - "[com.drew.imaging.png.PngChunkReader].extract(com.drew.lang.SequentialReader,java.util.Set)"
    - "[com.drew.metadata.Metadata].<init>()"
    - "[com.adobe.internal.xmp.impl.XMPNode$1].hasNext()"
    - "[jdk.internal.module.ModuleBootstrap$2].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIterator].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIteratorChildren].hasNext()"
    - "[java.nio.file.FileTreeIterator].hasNext()"
    - "[java.util.concurrent.ConcurrentHashMap$EntrySetView].iterator()"
    - "[jdk.internal.module.ModuleBootstrap$2].next()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIterator].next()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl].next()"
    - "[com.adobe.internal.xmp.impl.XMPNode$1].next()"
    - "[java.io.BufferedReader$1].next()"
    - "[com.drew.imaging.png.PngMetadataReader].processChunk(com.drew.metadata.Metadata,com.drew.imaging.png.PngChunk)"
    - "[com.drew.metadata.ErrorDirectory].<init>(java.lang.String)"
    - "[java.lang.StringBuilder].<init>()"
    - "[com.drew.metadata.Metadata].addDirectory(com.drew.metadata.Directory)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[org.xml.sax.SAXException].getMessage()"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.Iterable].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.lang.Throwable].getMessage()"
    functionUses: 1
    ICount: 28
    EdgeCount: 23
    BranchProfiles:
    - Branch String: "com.drew.imaging.png.PngMetadataReader:107"
      Branch Sides:
      - BranchSide: "com.drew.imaging.png.PngMetadataReader:115"
        BranchSideFuncs:
        - "hasNext()"
        - "addDirectory(com.drew.metadata.Directory)"
        - "<init>()"
        - "iterator()"
        - "append(java.lang.String)"
        - "toString()"
        - "next()"
        - "<init>(java.lang.String)"
        - "getMessage()"
        - "processChunk(com.drew.metadata.Metadata,com.drew.imaging.png.PngChunk)"
      - BranchSide: "com.drew.imaging.png.PngMetadataReader:114"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.imaging.png.PngMetadataReader:103,1"
      Dst: "[com.drew.imaging.png.PngChunkReader].<init>()"
    - Src: "com.drew.imaging.png.PngMetadataReader:103,1"
      Dst: "[com.drew.lang.StreamReader].<init>(java.io.InputStream)"
    - Src: "com.drew.imaging.png.PngMetadataReader:103,1"
      Dst: "[com.drew.imaging.png.PngChunkReader].extract(com.drew.lang.SequentialReader,java.util.Set)"
    - Src: "com.drew.imaging.png.PngMetadataReader:105,1"
      Dst: "[com.drew.metadata.Metadata].<init>()"
    - Src: "com.drew.imaging.png.PngMetadataReader:107,1"
      Dst: "[java.lang.Iterable].iterator()"
    - Src: "com.drew.imaging.png.PngMetadataReader:107,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.drew.imaging.png.PngMetadataReader:107,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.drew.imaging.png.PngMetadataReader:109,1"
      Dst: "[com.drew.imaging.png.PngMetadataReader].processChunk(com.drew.metadata.Metadata,com.drew.imaging.png.PngChunk)"
    - Src: "com.drew.imaging.png.PngMetadataReader:111,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.imaging.png.PngMetadataReader:111,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.imaging.png.PngMetadataReader:111,1"
      Dst: "[java.lang.Throwable].getMessage()"
    - Src: "com.drew.imaging.png.PngMetadataReader:111,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "com.drew.imaging.png.PngMetadataReader:111,1"
      Dst: "[com.drew.metadata.ErrorDirectory].<init>(java.lang.String)"
    - Src: "com.drew.imaging.png.PngMetadataReader:111,1"
      Dst: "[com.drew.metadata.Metadata].addDirectory(com.drew.metadata.Directory)"
    JavaMethodInfo:
      exceptions:
      - "com.drew.imaging.png.PngProcessingException"
      - "java.io.IOException"
      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: "[com.drew.imaging.png.PngChunkReader].<init>()"
    functionSourceFile: "com.drew.imaging.png.PngChunkReader"
    linkageType: ""
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.png.PngChunkReader:33,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: "[com.drew.imaging.png.PngMetadataReader].processChunk(com.drew.metadata.Metadata,com.drew.imaging.png.PngChunk)"
    functionSourceFile: "com.drew.imaging.png.PngMetadataReader"
    linkageType: ""
    functionLinenumber: 119
    functionLinenumberEnd: 346
    functionDepth: 6
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.metadata.Metadata"
    - "com.drew.imaging.png.PngChunk"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.imaging.png.PngChunk].getType()"
    - "[com.drew.imaging.png.PngChunk].getBytes()"
    - "[com.drew.imaging.png.PngChunkType].equals(java.lang.Object)"
    - "[com.drew.imaging.png.PngHeader].<init>(byte[])"
    - "[com.drew.metadata.png.PngDirectory].<init>(com.drew.imaging.png.PngChunkType)"
    - "[com.drew.imaging.png.PngHeader].getImageWidth()"
    - "[com.drew.metadata.Directory].setInt(int,int)"
    - "[com.drew.imaging.png.PngHeader].getImageHeight()"
    - "[com.drew.imaging.png.PngHeader].getBitsPerSample()"
    - "[com.drew.imaging.png.PngHeader].getColorType()"
    - "[com.drew.imaging.png.PngColorType].getNumericValue()"
    - "[com.drew.imaging.png.PngHeader].getCompressionType()"
    - "[com.drew.imaging.png.PngHeader].getFilterMethod()"
    - "[com.drew.imaging.png.PngHeader].getInterlaceMethod()"
    - "[com.drew.metadata.Metadata].addDirectory(com.drew.metadata.Directory)"
    - "[com.drew.imaging.png.PngChromaticities].<init>(byte[])"
    - "[com.drew.metadata.png.PngChromaticitiesDirectory].<init>()"
    - "[com.drew.imaging.png.PngChromaticities].getWhitePointX()"
    - "[com.drew.imaging.png.PngChromaticities].getWhitePointY()"
    - "[com.drew.imaging.png.PngChromaticities].getRedX()"
    - "[com.drew.imaging.png.PngChromaticities].getRedY()"
    - "[com.drew.imaging.png.PngChromaticities].getGreenX()"
    - "[com.drew.imaging.png.PngChromaticities].getGreenY()"
    - "[com.drew.imaging.png.PngChromaticities].getBlueX()"
    - "[com.drew.imaging.png.PngChromaticities].getBlueY()"
    - "[com.drew.lang.ByteConvert].toInt32BigEndian(byte[])"
    - "[com.drew.lang.SequentialByteArrayReader].<init>(byte[])"
    - "[com.drew.lang.SequentialReader].getInt32()"
    - "[com.drew.metadata.Directory].setDouble(int,double)"
    - "[com.drew.lang.SequentialReader].getNullTerminatedBytes(int,boolean)"
    - "[com.drew.metadata.StringValue].<init>(byte[],java.nio.charset.Charset)"
    - "[com.drew.metadata.Directory].setStringValue(int,com.drew.metadata.StringValue)"
    - "[com.drew.lang.SequentialReader].getInt8()"
    - "[com.drew.lang.SequentialByteArrayReader].getBytes(int)"
    - "[java.util.zip.InflaterInputStream].<init>(java.io.InputStream)"
    - "[java.io.ByteArrayInputStream].<init>(byte[])"
    - "[com.drew.lang.RandomAccessStreamReader].<init>(java.io.InputStream)"
    - "[com.drew.metadata.icc.IccReader].<init>()"
    - "[com.drew.metadata.icc.IccReader].extract(com.drew.lang.RandomAccessReader,com.drew.metadata.Metadata,com.drew.metadata.Directory)"
    - "[java.util.zip.ZipInputStream].close()"
    - "[java.util.zip.InflaterInputStream].close()"
    - "[com.drew.metadata.Directory].addError(java.lang.String)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.lang.Throwable].getMessage()"
    - "[com.drew.metadata.Directory].setByteArray(int,byte[])"
    - "[com.drew.lang.SequentialReader].getNullTerminatedStringValue(int,java.nio.charset.Charset,boolean)"
    - "[com.drew.metadata.StringValue].toString()"
    - "[com.drew.metadata.StringValue].getBytes()"
    - "[java.util.ArrayList].<init>()"
    - "[com.drew.lang.KeyValuePair].<init>(java.lang.String,com.drew.metadata.StringValue)"
    - "[java.util.ArrayList].add(java.lang.Object)"
    - "[com.drew.metadata.Directory].setObject(int,java.lang.Object)"
    - "[java.io.ByteArrayInputStream].<init>(byte[],int,int)"
    - "[com.drew.lang.StreamUtil].readAllBytes(java.io.InputStream)"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[com.drew.metadata.xmp.XmpReader].<init>()"
    - "[com.drew.metadata.xmp.XmpReader].extract(byte[],com.drew.metadata.Metadata)"
    - "[com.drew.lang.SequentialReader].getUInt16()"
    - "[com.drew.lang.SequentialReader].getUInt8()"
    - "[com.drew.lang.DateUtil].isValidDate(int,int,int)"
    - "[com.drew.lang.DateUtil].isValidTime(int,int,int)"
    - "[java.lang.Integer].valueOf(int)"
    - "[com.drew.metadata.Directory].setString(int,java.lang.String)"
    - "[com.drew.metadata.exif.ExifTiffHandler].<init>(com.drew.metadata.Metadata,com.drew.metadata.Directory,int)"
    - "[com.drew.lang.ByteArrayReader].<init>(byte[])"
    - "[com.drew.imaging.tiff.TiffReader].<init>()"
    - "[com.drew.imaging.tiff.TiffReader].processTiff(com.drew.lang.RandomAccessReader,com.drew.imaging.tiff.TiffHandler,int)"
    - "[java.io.InvalidClassException].getMessage()"
    - "[java.nio.file.FileSystemException].getMessage()"
    - "[com.drew.lang.SequentialReader].getBytes(int)"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 1
    ICount: 456
    EdgeCount: 215
    BranchProfiles:
    - Branch String: "com.drew.imaging.png.PngMetadataReader:123"
      Branch Sides:
      - BranchSide: "com.drew.imaging.png.PngMetadataReader:120"
        BranchSideFuncs:
        - "getImageHeight()"
        - "getColorType()"
        - "getCompressionType()"
        - "getFilterMethod()"
        - "getInterlaceMethod()"
        - "getBitsPerSample()"
        - "getNumericValue()"
        - "getImageWidth()"
      - BranchSide: "com.drew.imaging.png.PngMetadataReader:119"
        BranchSideFuncs:
        - "getType()"
    - Branch String: "com.drew.imaging.png.PngMetadataReader:123"
      Branch Sides:
      - BranchSide: "com.drew.imaging.png.PngMetadataReader:120"
        BranchSideFuncs:
        - "getImageHeight()"
        - "getColorType()"
        - "getCompressionType()"
        - "getFilterMethod()"
        - "getInterlaceMethod()"
        - "getBitsPerSample()"
        - "getNumericValue()"
        - "getImageWidth()"
      - BranchSide: "com.drew.imaging.png.PngMetadataReader:119"
        BranchSideFuncs:
        - "getType()"
    - Branch String: "com.drew.imaging.png.PngMetadataReader:123"
      Branch Sides:
      - BranchSide: "com.drew.imaging.png.PngMetadataReader:120"
        BranchSideFuncs:
        - "getImageHeight()"
        - "getColorType()"
        - "getCompressionType()"
        - "getFilterMethod()"
        - "getInterlaceMethod()"
        - "getBitsPerSample()"
        - "getNumericValue()"
        - "getImageWidth()"
      - BranchSide: "com.drew.imaging.png.PngMetadataReader:119"
        BranchSideFuncs:
        - "getType()"
    - Branch String: "com.drew.imaging.png.PngMetadataReader:123"
      Branch Sides:
      - BranchSide: "com.drew.imaging.png.PngMetadataReader:120"
        BranchSideFuncs:
        - "getImageHeight()"
        - "getColorType()"
        - "getCompressionType()"
        - "getFilterMethod()"
        - "getInterlaceMethod()"
        - "getBitsPerSample()"
        - "getNumericValue()"
        - "getImageWidth()"
      - BranchSide: "com.drew.imaging.png.PngMetadataReader:119"
        BranchSideFuncs:
        - "getType()"
    - Branch String: "com.drew.imaging.png.PngMetadataReader:123"
      Branch Sides:
      - BranchSide: "com.drew.imaging.png.PngMetadataReader:120"
        BranchSideFuncs:
        - "getImageHeight()"
        - "getColorType()"
        - "getCompressionType()"
        - "getFilterMethod()"
        - "getInterlaceMethod()"
        - "getBitsPerSample()"
        - "getNumericValue()"
        - "getImageWidth()"
      - BranchSide: "com.drew.imaging.png.PngMetadataReader:119"
        BranchSideFuncs:
        - "getType()"
    - Branch String: "com.drew.imaging.png.PngMetadataReader:123"
      Branch Sides:
      - BranchSide: "com.drew.imaging.png.PngMetadataReader:120"
        BranchSideFuncs:
        - "getImageHeight()"
        - "getColorType()"
        - "getCompressionType()"
        - "getFilterMethod()"
        - "getInterlaceMethod()"
        - "getBitsPerSample()"
        - "getNumericValue()"
        - "getImageWidth()"
      - BranchSide: "com.drew.imaging.png.PngMetadataReader:119"
        BranchSideFuncs:
        - "getType()"
    - Branch String: "com.drew.imaging.png.PngMetadataReader:123"
      Branch Sides:
      - BranchSide: "com.drew.imaging.png.PngMetadataReader:120"
        BranchSideFuncs:
        - "getImageHeight()"
        - "getColorType()"
        - "getCompressionType()"
        - "getFilterMethod()"
        - "getInterlaceMethod()"
        - "getBitsPerSample()"
        - "getNumericValue()"
        - "getImageWidth()"
      - BranchSide: "com.drew.imaging.png.PngMetadataReader:119"
        BranchSideFuncs:
        - "getType()"
    - Branch String: "com.drew.imaging.png.PngMetadataReader:174"
      Branch Sides:
      - BranchSide: "com.drew.imaging.png.PngMetadataReader:188"
        BranchSideFuncs: []
    - Branch String: "com.drew.imaging.png.PngMetadataReader:123"
      Branch Sides:
      - BranchSide: "com.drew.imaging.png.PngMetadataReader:120"
        BranchSideFuncs:
        - "getImageHeight()"
        - "getColorType()"
        - "getCompressionType()"
        - "getFilterMethod()"
        - "getInterlaceMethod()"
        - "getBitsPerSample()"
        - "getNumericValue()"
        - "getImageWidth()"
      - BranchSide: "com.drew.imaging.png.PngMetadataReader:119"
        BranchSideFuncs:
        - "getType()"
    - Branch String: "com.drew.imaging.png.PngMetadataReader:123"
      Branch Sides:
      - BranchSide: "com.drew.imaging.png.PngMetadataReader:120"
        BranchSideFuncs:
        - "getImageHeight()"
        - "getColorType()"
        - "getCompressionType()"
        - "getFilterMethod()"
        - "getInterlaceMethod()"
        - "getBitsPerSample()"
        - "getNumericValue()"
        - "getImageWidth()"
      - BranchSide: "com.drew.imaging.png.PngMetadataReader:119"
        BranchSideFuncs:
        - "getType()"
    - Branch String: "com.drew.imaging.png.PngMetadataReader:123"
      Branch Sides:
      - BranchSide: "com.drew.imaging.png.PngMetadataReader:120"
        BranchSideFuncs:
        - "getImageHeight()"
        - "getColorType()"
        - "getCompressionType()"
        - "getFilterMethod()"
        - "getInterlaceMethod()"
        - "getBitsPerSample()"
        - "getNumericValue()"
        - "getImageWidth()"
      - BranchSide: "com.drew.imaging.png.PngMetadataReader:119"
        BranchSideFuncs:
        - "getType()"
    - Branch String: "com.drew.imaging.png.PngMetadataReader:224"
      Branch Sides:
      - BranchSide: "com.drew.imaging.png.PngMetadataReader:232"
        BranchSideFuncs: []
    - Branch String: "com.drew.imaging.png.PngMetadataReader:237"
      Branch Sides:
      - BranchSide: "com.drew.imaging.png.PngMetadataReader:249"
        BranchSideFuncs: []
      - BranchSide: "com.drew.imaging.png.PngMetadataReader:248"
        BranchSideFuncs: []
    - Branch String: "com.drew.imaging.png.PngMetadataReader:238"
      Branch Sides:
      - BranchSide: "com.drew.imaging.png.PngMetadataReader:241"
        BranchSideFuncs: []
    - Branch String: "com.drew.imaging.png.PngMetadataReader:123"
      Branch Sides:
      - BranchSide: "com.drew.imaging.png.PngMetadataReader:120"
        BranchSideFuncs:
        - "getImageHeight()"
        - "getColorType()"
        - "getCompressionType()"
        - "getFilterMethod()"
        - "getInterlaceMethod()"
        - "getBitsPerSample()"
        - "getNumericValue()"
        - "getImageWidth()"
      - BranchSide: "com.drew.imaging.png.PngMetadataReader:119"
        BranchSideFuncs:
        - "getType()"
    - Branch String: "com.drew.imaging.png.PngMetadataReader:265"
      Branch Sides:
      - BranchSide: "com.drew.imaging.png.PngMetadataReader:267"
        BranchSideFuncs:
        - "getNullTerminatedBytes(int,boolean)"
      - BranchSide: "com.drew.imaging.png.PngMetadataReader:266"
        BranchSideFuncs: []
    - Branch String: "com.drew.imaging.png.PngMetadataReader:267"
      Branch Sides:
      - BranchSide: "com.drew.imaging.png.PngMetadataReader:282"
        BranchSideFuncs: []
      - BranchSide: "com.drew.imaging.png.PngMetadataReader:281"
        BranchSideFuncs: []
    - Branch String: "com.drew.imaging.png.PngMetadataReader:268"
      Branch Sides:
      - BranchSide: "com.drew.imaging.png.PngMetadataReader:276"
        BranchSideFuncs: []
    - Branch String: "com.drew.imaging.png.PngMetadataReader:287"
      Branch Sides:
      - BranchSide: "com.drew.imaging.png.PngMetadataReader:299"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
      - BranchSide: "com.drew.imaging.png.PngMetadataReader:298"
        BranchSideFuncs: []
    - Branch String: "com.drew.imaging.png.PngMetadataReader:288"
      Branch Sides:
      - BranchSide: "com.drew.imaging.png.PngMetadataReader:291"
        BranchSideFuncs:
        - "<init>(byte[],java.nio.charset.Charset)"
        - "setObject(int,java.lang.Object)"
        - "add(java.lang.Object)"
        - "<init>(java.lang.String,com.drew.metadata.StringValue)"
    - Branch String: "com.drew.imaging.png.PngMetadataReader:123"
      Branch Sides:
      - BranchSide: "com.drew.imaging.png.PngMetadataReader:120"
        BranchSideFuncs:
        - "getImageHeight()"
        - "getColorType()"
        - "getCompressionType()"
        - "getFilterMethod()"
        - "getInterlaceMethod()"
        - "getBitsPerSample()"
        - "getNumericValue()"
        - "getImageWidth()"
      - BranchSide: "com.drew.imaging.png.PngMetadataReader:119"
        BranchSideFuncs:
        - "getType()"
    - Branch String: "com.drew.imaging.png.PngMetadataReader:308"
      Branch Sides:
      - BranchSide: "com.drew.imaging.png.PngMetadataReader:312"
        BranchSideFuncs:
        - "setString(int,java.lang.String)"
      - BranchSide: "com.drew.imaging.png.PngMetadataReader:311"
        BranchSideFuncs:
        - "format(java.lang.String,java.lang.Object[])"
    - Branch String: "com.drew.imaging.png.PngMetadataReader:308"
      Branch Sides:
      - BranchSide: "com.drew.imaging.png.PngMetadataReader:312"
        BranchSideFuncs:
        - "setString(int,java.lang.String)"
      - BranchSide: "com.drew.imaging.png.PngMetadataReader:311"
        BranchSideFuncs:
        - "format(java.lang.String,java.lang.Object[])"
    - Branch String: "com.drew.imaging.png.PngMetadataReader:123"
      Branch Sides:
      - BranchSide: "com.drew.imaging.png.PngMetadataReader:120"
        BranchSideFuncs:
        - "getImageHeight()"
        - "getColorType()"
        - "getCompressionType()"
        - "getFilterMethod()"
        - "getInterlaceMethod()"
        - "getBitsPerSample()"
        - "getNumericValue()"
        - "getImageWidth()"
      - BranchSide: "com.drew.imaging.png.PngMetadataReader:119"
        BranchSideFuncs:
        - "getType()"
    - Branch String: "com.drew.imaging.png.PngMetadataReader:123"
      Branch Sides:
      - BranchSide: "com.drew.imaging.png.PngMetadataReader:120"
        BranchSideFuncs:
        - "getImageHeight()"
        - "getColorType()"
        - "getCompressionType()"
        - "getFilterMethod()"
        - "getInterlaceMethod()"
        - "getBitsPerSample()"
        - "getNumericValue()"
        - "getImageWidth()"
      - BranchSide: "com.drew.imaging.png.PngMetadataReader:119"
        BranchSideFuncs:
        - "getType()"
    - Branch String: "com.drew.imaging.png.PngMetadataReader:123"
      Branch Sides:
      - BranchSide: "com.drew.imaging.png.PngMetadataReader:345"
        BranchSideFuncs:
        - "getImageHeight()"
        - "getColorType()"
        - "getCompressionType()"
        - "getFilterMethod()"
        - "getInterlaceMethod()"
        - "getBitsPerSample()"
        - "getNumericValue()"
        - "getImageWidth()"
      - BranchSide: "com.drew.imaging.png.PngMetadataReader:344"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.imaging.png.PngMetadataReader:120,1"
      Dst: "[com.drew.imaging.png.PngChunk].getType()"
    - Src: "com.drew.imaging.png.PngMetadataReader:121,1"
      Dst: "[com.drew.imaging.png.PngChunk].getBytes()"
    - Src: "com.drew.imaging.png.PngMetadataReader:123,1"
      Dst: "[com.drew.imaging.png.PngChunkType].equals(java.lang.Object)"
    - Src: "com.drew.imaging.png.PngMetadataReader:124,1"
      Dst: "[com.drew.imaging.png.PngHeader].<init>(byte[])"
    - Src: "com.drew.imaging.png.PngMetadataReader:125,1"
      Dst: "[com.drew.metadata.png.PngDirectory].<init>(com.drew.imaging.png.PngChunkType)"
    - Src: "com.drew.imaging.png.PngMetadataReader:126,1"
      Dst: "[com.drew.imaging.png.PngHeader].getImageWidth()"
    - Src: "com.drew.imaging.png.PngMetadataReader:126,1"
      Dst: "[com.drew.metadata.Directory].setInt(int,int)"
    - Src: "com.drew.imaging.png.PngMetadataReader:127,1"
      Dst: "[com.drew.imaging.png.PngHeader].getImageHeight()"
    - Src: "com.drew.imaging.png.PngMetadataReader:128,1"
      Dst: "[com.drew.imaging.png.PngHeader].getBitsPerSample()"
    - Src: "com.drew.imaging.png.PngMetadataReader:129,1"
      Dst: "[com.drew.imaging.png.PngHeader].getColorType()"
    - Src: "com.drew.imaging.png.PngMetadataReader:129,1"
      Dst: "[com.drew.imaging.png.PngColorType].getNumericValue()"
    - Src: "com.drew.imaging.png.PngMetadataReader:130,1"
      Dst: "[com.drew.imaging.png.PngHeader].getCompressionType()"
    - Src: "com.drew.imaging.png.PngMetadataReader:131,1"
      Dst: "[com.drew.imaging.png.PngHeader].getFilterMethod()"
    - Src: "com.drew.imaging.png.PngMetadataReader:132,1"
      Dst: "[com.drew.imaging.png.PngHeader].getInterlaceMethod()"
    - Src: "com.drew.imaging.png.PngMetadataReader:133,1"
      Dst: "[com.drew.metadata.Metadata].addDirectory(com.drew.metadata.Directory)"
    - Src: "com.drew.imaging.png.PngMetadataReader:148,1"
      Dst: "[com.drew.imaging.png.PngChromaticities].<init>(byte[])"
    - Src: "com.drew.imaging.png.PngMetadataReader:149,1"
      Dst: "[com.drew.metadata.png.PngChromaticitiesDirectory].<init>()"
    - Src: "com.drew.imaging.png.PngMetadataReader:150,1"
      Dst: "[com.drew.imaging.png.PngChromaticities].getWhitePointX()"
    - Src: "com.drew.imaging.png.PngMetadataReader:151,1"
      Dst: "[com.drew.imaging.png.PngChromaticities].getWhitePointY()"
    - Src: "com.drew.imaging.png.PngMetadataReader:152,1"
      Dst: "[com.drew.imaging.png.PngChromaticities].getRedX()"
    - Src: "com.drew.imaging.png.PngMetadataReader:153,1"
      Dst: "[com.drew.imaging.png.PngChromaticities].getRedY()"
    - Src: "com.drew.imaging.png.PngMetadataReader:154,1"
      Dst: "[com.drew.imaging.png.PngChromaticities].getGreenX()"
    - Src: "com.drew.imaging.png.PngMetadataReader:155,1"
      Dst: "[com.drew.imaging.png.PngChromaticities].getGreenY()"
    - Src: "com.drew.imaging.png.PngMetadataReader:156,1"
      Dst: "[com.drew.imaging.png.PngChromaticities].getBlueX()"
    - Src: "com.drew.imaging.png.PngMetadataReader:157,1"
      Dst: "[com.drew.imaging.png.PngChromaticities].getBlueY()"
    - Src: "com.drew.imaging.png.PngMetadataReader:160,1"
      Dst: "[com.drew.lang.ByteConvert].toInt32BigEndian(byte[])"
    - Src: "com.drew.imaging.png.PngMetadataReader:161,1"
      Dst: "[com.drew.lang.SequentialByteArrayReader].<init>(byte[])"
    - Src: "com.drew.imaging.png.PngMetadataReader:161,1"
      Dst: "[com.drew.lang.SequentialReader].getInt32()"
    - Src: "com.drew.imaging.png.PngMetadataReader:163,1"
      Dst: "[com.drew.metadata.Directory].setDouble(int,double)"
    - Src: "com.drew.imaging.png.PngMetadataReader:169,1"
      Dst: "[com.drew.lang.SequentialReader].getNullTerminatedBytes(int,boolean)"
    - Src: "com.drew.imaging.png.PngMetadataReader:171,1"
      Dst: "[com.drew.metadata.StringValue].<init>(byte[],java.nio.charset.Charset)"
    - Src: "com.drew.imaging.png.PngMetadataReader:171,1"
      Dst: "[com.drew.metadata.Directory].setStringValue(int,com.drew.metadata.StringValue)"
    - Src: "com.drew.imaging.png.PngMetadataReader:172,1"
      Dst: "[com.drew.lang.SequentialReader].getInt8()"
    - Src: "com.drew.imaging.png.PngMetadataReader:178,1"
      Dst: "[com.drew.lang.SequentialReader].getBytes(int)"
    - Src: "com.drew.imaging.png.PngMetadataReader:181,1"
      Dst: "[java.io.ByteArrayInputStream].<init>(byte[])"
    - Src: "com.drew.imaging.png.PngMetadataReader:181,1"
      Dst: "[java.util.zip.InflaterInputStream].<init>(java.io.InputStream)"
    - Src: "com.drew.imaging.png.PngMetadataReader:182,1"
      Dst: "[com.drew.metadata.icc.IccReader].<init>()"
    - Src: "com.drew.imaging.png.PngMetadataReader:182,1"
      Dst: "[com.drew.lang.RandomAccessStreamReader].<init>(java.io.InputStream)"
    - Src: "com.drew.imaging.png.PngMetadataReader:182,1"
      Dst: "[com.drew.metadata.icc.IccReader].extract(com.drew.lang.RandomAccessReader,com.drew.metadata.Metadata,com.drew.metadata.Directory)"
    - Src: "com.drew.imaging.png.PngMetadataReader:183,1"
      Dst: "[java.util.zip.InflaterInputStream].close()"
    - Src: "com.drew.imaging.png.PngMetadataReader:185,1"
      Dst: "[java.lang.Throwable].getMessage()"
    - Src: "com.drew.imaging.png.PngMetadataReader:185,1"
      Dst: "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - Src: "com.drew.imaging.png.PngMetadataReader:185,1"
      Dst: "[com.drew.metadata.Directory].addError(java.lang.String)"
    - Src: "com.drew.imaging.png.PngMetadataReader:194,1"
      Dst: "[com.drew.metadata.Directory].setByteArray(int,byte[])"
    - Src: "com.drew.imaging.png.PngMetadataReader:200,1"
      Dst: "[com.drew.lang.SequentialReader].getNullTerminatedStringValue(int,java.nio.charset.Charset,boolean)"
    - Src: "com.drew.imaging.png.PngMetadataReader:201,1"
      Dst: "[com.drew.metadata.StringValue].toString()"
    - Src: "com.drew.imaging.png.PngMetadataReader:205,1"
      Dst: "[com.drew.metadata.StringValue].getBytes()"
    - Src: "com.drew.imaging.png.PngMetadataReader:207,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "com.drew.imaging.png.PngMetadataReader:208,1"
      Dst: "[com.drew.lang.KeyValuePair].<init>(java.lang.String,com.drew.metadata.StringValue)"
    - Src: "com.drew.imaging.png.PngMetadataReader:208,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    - Src: "com.drew.imaging.png.PngMetadataReader:210,1"
      Dst: "[com.drew.metadata.Directory].setObject(int,java.lang.Object)"
    - Src: "com.drew.imaging.png.PngMetadataReader:226,1"
      Dst: "[java.io.ByteArrayInputStream].<init>(byte[],int,int)"
    - Src: "com.drew.imaging.png.PngMetadataReader:226,1"
      Dst: "[com.drew.lang.StreamUtil].readAllBytes(java.io.InputStream)"
    - Src: "com.drew.imaging.png.PngMetadataReader:238,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "com.drew.imaging.png.PngMetadataReader:240,1"
      Dst: "[com.drew.metadata.xmp.XmpReader].<init>()"
    - Src: "com.drew.imaging.png.PngMetadataReader:240,1"
      Dst: "[com.drew.metadata.xmp.XmpReader].extract(byte[],com.drew.metadata.Metadata)"
    - Src: "com.drew.imaging.png.PngMetadataReader:301,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt16()"
    - Src: "com.drew.imaging.png.PngMetadataReader:302,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt8()"
    - Src: "com.drew.imaging.png.PngMetadataReader:308,1"
      Dst: "[com.drew.lang.DateUtil].isValidDate(int,int,int)"
    - Src: "com.drew.imaging.png.PngMetadataReader:308,1"
      Dst: "[com.drew.lang.DateUtil].isValidTime(int,int,int)"
    - Src: "com.drew.imaging.png.PngMetadataReader:309,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.drew.imaging.png.PngMetadataReader:310,1"
      Dst: "[com.drew.metadata.Directory].setString(int,java.lang.String)"
    - Src: "com.drew.imaging.png.PngMetadataReader:333,1"
      Dst: "[com.drew.metadata.exif.ExifTiffHandler].<init>(com.drew.metadata.Metadata,com.drew.metadata.Directory,int)"
    - Src: "com.drew.imaging.png.PngMetadataReader:334,1"
      Dst: "[com.drew.imaging.tiff.TiffReader].<init>()"
    - Src: "com.drew.imaging.png.PngMetadataReader:334,1"
      Dst: "[com.drew.lang.ByteArrayReader].<init>(byte[])"
    - Src: "com.drew.imaging.png.PngMetadataReader:334,1"
      Dst: "[com.drew.imaging.tiff.TiffReader].processTiff(com.drew.lang.RandomAccessReader,com.drew.imaging.tiff.TiffHandler,int)"
    JavaMethodInfo:
      exceptions:
      - "com.drew.imaging.png.PngProcessingException"
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 62
    CyclomaticComplexity: 27
  - functionName: "[com.drew.imaging.png.PngChunk].getType()"
    functionSourceFile: "com.drew.imaging.png.PngChunk"
    linkageType: ""
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionDepth: 0
    returnType: "com.drew.imaging.png.PngChunkType"
    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: "[com.drew.imaging.png.PngChunk].getBytes()"
    functionSourceFile: "com.drew.imaging.png.PngChunk"
    linkageType: ""
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionDepth: 0
    returnType: "byte[]"
    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: "[com.drew.imaging.png.PngHeader].<init>(byte[])"
    functionSourceFile: "com.drew.imaging.png.PngHeader"
    linkageType: ""
    functionLinenumber: 43
    functionLinenumberEnd: 63
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "byte[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[com.drew.imaging.png.PngProcessingException].<init>(java.lang.String)"
    - "[com.drew.lang.SequentialByteArrayReader].<init>(byte[])"
    - "[com.drew.lang.SequentialReader].getInt32()"
    - "[com.drew.lang.SequentialReader].getInt8()"
    - "[com.drew.imaging.png.PngColorType].fromNumericValue(int)"
    - "[com.drew.imaging.png.PngProcessingException].<init>(java.lang.Throwable)"
    functionUses: 1
    ICount: 32
    EdgeCount: 12
    BranchProfiles:
    - Branch String: "com.drew.imaging.png.PngHeader:45"
      Branch Sides:
      - BranchSide: "com.drew.imaging.png.PngHeader:48"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "com.drew.imaging.png.PngHeader:47"
        BranchSideFuncs:
        - "getInt32()"
        - "fromNumericValue(int)"
        - "getInt8()"
        - "<init>(byte[])"
        - "<init>(java.lang.Throwable)"
    Callsites:
    - Src: "com.drew.imaging.png.PngHeader:44,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.drew.imaging.png.PngHeader:46,1"
      Dst: "[com.drew.imaging.png.PngProcessingException].<init>(java.lang.String)"
    - Src: "com.drew.imaging.png.PngHeader:48,1"
      Dst: "[com.drew.lang.SequentialByteArrayReader].<init>(byte[])"
    - Src: "com.drew.imaging.png.PngHeader:50,1"
      Dst: "[com.drew.lang.SequentialReader].getInt32()"
    - Src: "com.drew.imaging.png.PngHeader:52,1"
      Dst: "[com.drew.lang.SequentialReader].getInt8()"
    - Src: "com.drew.imaging.png.PngHeader:54,1"
      Dst: "[com.drew.imaging.png.PngColorType].fromNumericValue(int)"
    - Src: "com.drew.imaging.png.PngHeader:60,1"
      Dst: "[com.drew.imaging.png.PngProcessingException].<init>(java.lang.Throwable)"
    JavaMethodInfo:
      exceptions:
      - "com.drew.imaging.png.PngProcessingException"
      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: "[com.drew.imaging.png.PngProcessingException].<init>(java.lang.Throwable)"
    functionSourceFile: "com.drew.imaging.png.PngProcessingException"
    linkageType: ""
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.imaging.ImageProcessingException].<init>(java.lang.Throwable)"
    functionUses: 2
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.png.PngProcessingException:47,1"
      Dst: "[com.drew.imaging.ImageProcessingException].<init>(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: "[com.drew.imaging.ImageProcessingException].<init>(java.lang.Throwable)"
    functionSourceFile: "com.drew.imaging.ImageProcessingException"
    linkageType: ""
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.CompoundException].<init>(java.lang.Throwable)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.ImageProcessingException:47,1"
      Dst: "[com.drew.lang.CompoundException].<init>(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: "[com.drew.lang.CompoundException].<init>(java.lang.Throwable)"
    functionSourceFile: "com.drew.lang.CompoundException"
    linkageType: ""
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.CompoundException].<init>(java.lang.String,java.lang.Throwable)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.lang.CompoundException:50,1"
      Dst: "[com.drew.lang.CompoundException].<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: "[com.drew.imaging.png.PngHeader].getImageWidth()"
    functionSourceFile: "com.drew.imaging.png.PngHeader"
    linkageType: ""
    functionLinenumber: 65
    functionLinenumberEnd: 67
    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: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.imaging.png.PngHeader].getImageHeight()"
    functionSourceFile: "com.drew.imaging.png.PngHeader"
    linkageType: ""
    functionLinenumber: 70
    functionLinenumberEnd: 72
    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: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.imaging.png.PngHeader].getBitsPerSample()"
    functionSourceFile: "com.drew.imaging.png.PngHeader"
    linkageType: ""
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionDepth: 0
    returnType: "byte"
    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: "[com.drew.imaging.png.PngHeader].getColorType()"
    functionSourceFile: "com.drew.imaging.png.PngHeader"
    linkageType: ""
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionDepth: 0
    returnType: "com.drew.imaging.png.PngColorType"
    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: "[com.drew.imaging.png.PngColorType].getNumericValue()"
    functionSourceFile: "com.drew.imaging.png.PngColorType"
    linkageType: ""
    functionLinenumber: 80
    functionLinenumberEnd: 82
    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: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.imaging.png.PngHeader].getCompressionType()"
    functionSourceFile: "com.drew.imaging.png.PngHeader"
    linkageType: ""
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionDepth: 0
    returnType: "byte"
    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: "[com.drew.imaging.png.PngHeader].getFilterMethod()"
    functionSourceFile: "com.drew.imaging.png.PngHeader"
    linkageType: ""
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionDepth: 0
    returnType: "byte"
    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: "[com.drew.imaging.png.PngHeader].getInterlaceMethod()"
    functionSourceFile: "com.drew.imaging.png.PngHeader"
    linkageType: ""
    functionLinenumber: 96
    functionLinenumberEnd: 98
    functionDepth: 0
    returnType: "byte"
    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: "[com.drew.imaging.png.PngChromaticities].<init>(byte[])"
    functionSourceFile: "com.drew.imaging.png.PngChromaticities"
    linkageType: ""
    functionLinenumber: 42
    functionLinenumberEnd: 62
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "byte[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[com.drew.imaging.png.PngProcessingException].<init>(java.lang.String)"
    - "[com.drew.lang.SequentialByteArrayReader].<init>(byte[])"
    - "[com.drew.lang.SequentialReader].getInt32()"
    - "[com.drew.imaging.png.PngProcessingException].<init>(java.lang.Throwable)"
    functionUses: 1
    ICount: 32
    EdgeCount: 12
    BranchProfiles:
    - Branch String: "com.drew.imaging.png.PngChromaticities:44"
      Branch Sides:
      - BranchSide: "com.drew.imaging.png.PngChromaticities:48"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "com.drew.imaging.png.PngChromaticities:47"
        BranchSideFuncs:
        - "getInt32()"
        - "<init>(byte[])"
        - "<init>(java.lang.Throwable)"
    Callsites:
    - Src: "com.drew.imaging.png.PngChromaticities:43,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.drew.imaging.png.PngChromaticities:45,1"
      Dst: "[com.drew.imaging.png.PngProcessingException].<init>(java.lang.String)"
    - Src: "com.drew.imaging.png.PngChromaticities:48,1"
      Dst: "[com.drew.lang.SequentialByteArrayReader].<init>(byte[])"
    - Src: "com.drew.imaging.png.PngChromaticities:50,1"
      Dst: "[com.drew.lang.SequentialReader].getInt32()"
    - Src: "com.drew.imaging.png.PngChromaticities:59,1"
      Dst: "[com.drew.imaging.png.PngProcessingException].<init>(java.lang.Throwable)"
    JavaMethodInfo:
      exceptions:
      - "com.drew.imaging.png.PngProcessingException"
      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: "[com.drew.metadata.png.PngChromaticitiesDirectory].<init>()"
    functionSourceFile: "com.drew.metadata.png.PngChromaticitiesDirectory"
    linkageType: ""
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].<init>()"
    - "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 1
    ICount: 6
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.png.PngChromaticitiesDirectory:59,1"
      Dst: "[com.drew.metadata.Directory].<init>()"
    - Src: "com.drew.metadata.png.PngChromaticitiesDirectory:60,1"
      Dst: "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    - Src: "com.drew.metadata.png.PngChromaticitiesDirectory:60,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.imaging.png.PngChromaticities].getWhitePointX()"
    functionSourceFile: "com.drew.imaging.png.PngChromaticities"
    linkageType: ""
    functionLinenumber: 64
    functionLinenumberEnd: 66
    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: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.imaging.png.PngChromaticities].getWhitePointY()"
    functionSourceFile: "com.drew.imaging.png.PngChromaticities"
    linkageType: ""
    functionLinenumber: 69
    functionLinenumberEnd: 71
    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: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.imaging.png.PngChromaticities].getRedX()"
    functionSourceFile: "com.drew.imaging.png.PngChromaticities"
    linkageType: ""
    functionLinenumber: 74
    functionLinenumberEnd: 76
    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: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.imaging.png.PngChromaticities].getRedY()"
    functionSourceFile: "com.drew.imaging.png.PngChromaticities"
    linkageType: ""
    functionLinenumber: 79
    functionLinenumberEnd: 81
    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: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.imaging.png.PngChromaticities].getGreenX()"
    functionSourceFile: "com.drew.imaging.png.PngChromaticities"
    linkageType: ""
    functionLinenumber: 84
    functionLinenumberEnd: 86
    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: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.imaging.png.PngChromaticities].getGreenY()"
    functionSourceFile: "com.drew.imaging.png.PngChromaticities"
    linkageType: ""
    functionLinenumber: 89
    functionLinenumberEnd: 91
    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: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.imaging.png.PngChromaticities].getBlueX()"
    functionSourceFile: "com.drew.imaging.png.PngChromaticities"
    linkageType: ""
    functionLinenumber: 94
    functionLinenumberEnd: 96
    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: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.imaging.png.PngChromaticities].getBlueY()"
    functionSourceFile: "com.drew.imaging.png.PngChromaticities"
    linkageType: ""
    functionLinenumber: 99
    functionLinenumberEnd: 101
    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: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.lang.ByteConvert].toInt32BigEndian(byte[])"
    functionSourceFile: "com.drew.lang.ByteConvert"
    linkageType: ""
    functionLinenumber: 31
    functionLinenumberEnd: 33
    functionDepth: 0
    returnType: "int"
    argCount: 1
    argTypes:
    - "byte[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 22
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    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: "[com.drew.lang.KeyValuePair].<init>(java.lang.String,com.drew.metadata.StringValue)"
    functionSourceFile: "com.drew.lang.KeyValuePair"
    linkageType: ""
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "com.drew.metadata.StringValue"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 3
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.lang.KeyValuePair: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: "[com.drew.lang.StreamUtil].readAllBytes(java.io.InputStream)"
    functionSourceFile: "com.drew.lang.StreamUtil"
    linkageType: ""
    functionLinenumber: 33
    functionLinenumberEnd: 45
    functionDepth: 0
    returnType: "byte[]"
    argCount: 1
    argTypes:
    - "java.io.InputStream"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.ByteArrayOutputStream].<init>()"
    - "[java.io.InputStream].read(byte[])"
    - "[java.io.FileInputStream].read(byte[])"
    - "[java.io.ByteArrayOutputStream].write(byte[],int,int)"
    - "[java.io.ByteArrayOutputStream].toByteArray()"
    functionUses: 2
    ICount: 12
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "com.drew.lang.StreamUtil:39"
      Branch Sides:
      - BranchSide: "com.drew.lang.StreamUtil:41"
        BranchSideFuncs: []
      - BranchSide: "com.drew.lang.StreamUtil:40"
        BranchSideFuncs:
        - "write(byte[],int,int)"
    Callsites:
    - Src: "com.drew.lang.StreamUtil:34,1"
      Dst: "[java.io.ByteArrayOutputStream].<init>()"
    - Src: "com.drew.lang.StreamUtil:38,1"
      Dst: "[java.io.InputStream].read(byte[])"
    - Src: "com.drew.lang.StreamUtil:41,1"
      Dst: "[java.io.ByteArrayOutputStream].write(byte[],int,int)"
    - Src: "com.drew.lang.StreamUtil:44,1"
      Dst: "[java.io.ByteArrayOutputStream].toByteArray()"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[com.drew.lang.CompoundException].getInnerException()"
    functionSourceFile: "com.drew.lang.CompoundException"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.Throwable"
    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: "[com.drew.lang.CompoundException].toString()"
    functionSourceFile: "com.drew.lang.CompoundException"
    linkageType: ""
    functionLinenumber: 68
    functionLinenumberEnd: 78
    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.Throwable].toString()"
    - "[com.drew.lang.CompoundException].toString()"
    - "[java.security.PrivilegedActionException].toString()"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 16
    ICount: 15
    EdgeCount: 11
    BranchProfiles:
    - Branch String: "com.drew.lang.CompoundException:71"
      Branch Sides:
      - BranchSide: "com.drew.lang.CompoundException:77"
        BranchSideFuncs:
        - "append(java.lang.String)"
      - BranchSide: "com.drew.lang.CompoundException:76"
        BranchSideFuncs:
        - "toString()"
    Callsites:
    - Src: "com.drew.lang.CompoundException:69,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.lang.CompoundException:70,1"
      Dst: "[java.lang.Throwable].toString()"
    - Src: "com.drew.lang.CompoundException:70,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.lang.CompoundException:77,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: 3
    CyclomaticComplexity: 2
  - functionName: "[com.drew.lang.CompoundException].printStackTrace(java.io.PrintStream)"
    functionSourceFile: "com.drew.lang.CompoundException"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.io.PrintStream"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Throwable].printStackTrace(java.io.PrintStream)"
    - "[java.io.PrintStream].println(java.lang.String)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.lang.CompoundException:84"
      Branch Sides:
      - BranchSide: "com.drew.lang.CompoundException:88"
        BranchSideFuncs: []
      - BranchSide: "com.drew.lang.CompoundException:87"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.lang.CompoundException:83,1"
      Dst: "[java.lang.Throwable].printStackTrace(java.io.PrintStream)"
    - Src: "com.drew.lang.CompoundException:85,1"
      Dst: "[java.io.PrintStream].println(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: 3
    CyclomaticComplexity: 2
  - functionName: "[com.drew.lang.CompoundException].printStackTrace(java.io.PrintWriter)"
    functionSourceFile: "com.drew.lang.CompoundException"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.io.PrintWriter"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Throwable].printStackTrace(java.io.PrintWriter)"
    - "[java.io.PrintWriter].println(java.lang.String)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.lang.CompoundException:94"
      Branch Sides:
      - BranchSide: "com.drew.lang.CompoundException:98"
        BranchSideFuncs: []
      - BranchSide: "com.drew.lang.CompoundException:97"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.lang.CompoundException:93,1"
      Dst: "[java.lang.Throwable].printStackTrace(java.io.PrintWriter)"
    - Src: "com.drew.lang.CompoundException:95,1"
      Dst: "[java.io.PrintWriter].println(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: 3
    CyclomaticComplexity: 2
  - functionName: "[com.drew.lang.CompoundException].printStackTrace()"
    functionSourceFile: "com.drew.lang.CompoundException"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Throwable].printStackTrace()"
    - "[java.io.PrintStream].println(java.lang.String)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.lang.CompoundException:104"
      Branch Sides:
      - BranchSide: "com.drew.lang.CompoundException:108"
        BranchSideFuncs: []
      - BranchSide: "com.drew.lang.CompoundException:107"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.lang.CompoundException:103,1"
      Dst: "[java.lang.Throwable].printStackTrace()"
    - Src: "com.drew.lang.CompoundException:105,1"
      Dst: "[java.io.PrintStream].println(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: 3
    CyclomaticComplexity: 2
  - functionName: "[com.drew.metadata.mp4.media.Mp4UuidBoxHandler].<init>(com.drew.metadata.Metadata)"
    functionSourceFile: "com.drew.metadata.mp4.media.Mp4UuidBoxHandler"
    linkageType: ""
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.Metadata"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.imaging.mp4.Mp4Handler].<init>(com.drew.metadata.Metadata)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mp4.media.Mp4UuidBoxHandler:83,1"
      Dst: "[com.drew.imaging.mp4.Mp4Handler].<init>(com.drew.metadata.Metadata)"
    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: "[com.drew.metadata.mp4.media.Mp4UuidBoxHandler].getDirectory()"
    functionSourceFile: "com.drew.metadata.mp4.media.Mp4UuidBoxHandler"
    linkageType: ""
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionDepth: 3
    returnType: "com.drew.metadata.mp4.media.Mp4UuidBoxDirectory"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mp4.media.Mp4UuidBoxDirectory].<init>()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mp4.media.Mp4UuidBoxHandler:90,1"
      Dst: "[com.drew.metadata.mp4.media.Mp4UuidBoxDirectory].<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: "[com.drew.metadata.mp4.media.Mp4UuidBoxDirectory].<init>()"
    functionSourceFile: "com.drew.metadata.mp4.media.Mp4UuidBoxDirectory"
    linkageType: ""
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mp4.media.Mp4MediaDirectory].<init>()"
    - "[com.drew.metadata.mp4.media.Mp4UuidBoxDescriptor].<init>(com.drew.metadata.mp4.media.Mp4UuidBoxDirectory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 1
    ICount: 6
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mp4.media.Mp4UuidBoxDirectory:43,1"
      Dst: "[com.drew.metadata.mp4.media.Mp4MediaDirectory].<init>()"
    - Src: "com.drew.metadata.mp4.media.Mp4UuidBoxDirectory:44,1"
      Dst: "[com.drew.metadata.mp4.media.Mp4UuidBoxDescriptor].<init>(com.drew.metadata.mp4.media.Mp4UuidBoxDirectory)"
    - Src: "com.drew.metadata.mp4.media.Mp4UuidBoxDirectory:44,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.mp4.media.Mp4UuidBoxDescriptor].<init>(com.drew.metadata.mp4.media.Mp4UuidBoxDirectory)"
    functionSourceFile: "com.drew.metadata.mp4.media.Mp4UuidBoxDescriptor"
    linkageType: ""
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.mp4.media.Mp4UuidBoxDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mp4.media.Mp4UuidBoxDescriptor:29,1"
      Dst: "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    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: "[com.drew.metadata.mp4.media.Mp4UuidBoxHandler].shouldAcceptBox(java.lang.String)"
    functionSourceFile: "com.drew.metadata.mp4.media.Mp4UuidBoxHandler"
    linkageType: ""
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].equals(java.lang.Object)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mp4.media.Mp4UuidBoxHandler:96,1"
      Dst: "[java.lang.String].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: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.mp4.media.Mp4UuidBoxHandler].shouldAcceptContainer(java.lang.String)"
    functionSourceFile: "com.drew.metadata.mp4.media.Mp4UuidBoxHandler"
    linkageType: ""
    functionLinenumber: 101
    functionLinenumberEnd: 103
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    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: "[com.drew.metadata.mp4.media.Mp4UuidBoxHandler].processBox(java.lang.String,byte[],long,com.drew.metadata.mp4.Mp4Context)"
    functionSourceFile: "com.drew.metadata.mp4.media.Mp4UuidBoxHandler"
    linkageType: ""
    functionLinenumber: 107
    functionLinenumberEnd: 139
    functionDepth: 7
    returnType: "com.drew.imaging.mp4.Mp4Handler<?>"
    argCount: 4
    argTypes:
    - "java.lang.String"
    - "byte[]"
    - "long"
    - "com.drew.metadata.mp4.Mp4Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.ByteTrie].find(byte[])"
    - "[java.lang.Enum].ordinal()"
    - "[com.drew.lang.ByteArrayReader].<init>(byte[],int)"
    - "[com.drew.metadata.exif.ExifReader].<init>()"
    - "[com.drew.metadata.exif.ExifReader].extract(com.drew.lang.RandomAccessReader,com.drew.metadata.Metadata,int,com.drew.metadata.Directory)"
    - "[com.drew.lang.SequentialByteArrayReader].<init>(byte[],int)"
    - "[com.drew.metadata.iptc.IptcReader].<init>()"
    - "[com.drew.metadata.iptc.IptcReader].extract(com.drew.lang.SequentialReader,com.drew.metadata.Metadata,long,com.drew.metadata.Directory)"
    - "[com.drew.metadata.photoshop.PhotoshopReader].<init>()"
    - "[com.drew.metadata.photoshop.PhotoshopReader].extract(com.drew.lang.SequentialReader,int,com.drew.metadata.Metadata,com.drew.metadata.Directory)"
    - "[com.drew.metadata.xmp.XmpReader].<init>()"
    - "[com.drew.metadata.xmp.XmpReader].extract(byte[],int,int,com.drew.metadata.Metadata,com.drew.metadata.Directory)"
    - "[com.drew.lang.SequentialByteArrayReader].<init>(byte[])"
    - "[com.drew.lang.SequentialByteArrayReader].getBytes(int)"
    - "[com.drew.metadata.mp4.media.Mp4UuidBoxHandler].getUuid(byte[])"
    - "[com.drew.lang.SequentialByteArrayReader].available()"
    - "[java.lang.Integer].intValue()"
    - "[com.drew.metadata.Directory].setString(int,java.lang.String)"
    - "[com.drew.metadata.Directory].setByteArray(int,byte[])"
    - "[com.drew.lang.SequentialReader].getBytes(int)"
    - "[com.drew.lang.SequentialReader].available()"
    functionUses: 3
    ICount: 71
    EdgeCount: 22
    BranchProfiles:
    - Branch String: "com.drew.metadata.mp4.media.Mp4UuidBoxHandler:108"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mp4.media.Mp4UuidBoxHandler:138"
        BranchSideFuncs:
        - "find(byte[])"
      - BranchSide: "com.drew.metadata.mp4.media.Mp4UuidBoxHandler:137"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mp4.media.Mp4UuidBoxHandler:108"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mp4.media.Mp4UuidBoxHandler:138"
        BranchSideFuncs:
        - "find(byte[])"
      - BranchSide: "com.drew.metadata.mp4.media.Mp4UuidBoxHandler:137"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mp4.media.Mp4UuidBoxHandler:111"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mp4.media.Mp4UuidBoxHandler:115"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.mp4.media.Mp4UuidBoxHandler:114"
        BranchSideFuncs:
        - "ordinal()"
    Callsites:
    - Src: "com.drew.metadata.mp4.media.Mp4UuidBoxHandler:109,1"
      Dst: "[com.drew.lang.ByteTrie].find(byte[])"
    - Src: "com.drew.metadata.mp4.media.Mp4UuidBoxHandler:115,1"
      Dst: "[java.lang.Enum].ordinal()"
    - Src: "com.drew.metadata.mp4.media.Mp4UuidBoxHandler:117,1"
      Dst: "[com.drew.metadata.exif.ExifReader].<init>()"
    - Src: "com.drew.metadata.mp4.media.Mp4UuidBoxHandler:117,1"
      Dst: "[com.drew.lang.ByteArrayReader].<init>(byte[],int)"
    - Src: "com.drew.metadata.mp4.media.Mp4UuidBoxHandler:117,1"
      Dst: "[com.drew.metadata.exif.ExifReader].extract(com.drew.lang.RandomAccessReader,com.drew.metadata.Metadata,int,com.drew.metadata.Directory)"
    - Src: "com.drew.metadata.mp4.media.Mp4UuidBoxHandler:120,1"
      Dst: "[com.drew.metadata.iptc.IptcReader].<init>()"
    - Src: "com.drew.metadata.mp4.media.Mp4UuidBoxHandler:120,1"
      Dst: "[com.drew.lang.SequentialByteArrayReader].<init>(byte[],int)"
    - Src: "com.drew.metadata.mp4.media.Mp4UuidBoxHandler:120,1"
      Dst: "[com.drew.metadata.iptc.IptcReader].extract(com.drew.lang.SequentialReader,com.drew.metadata.Metadata,long,com.drew.metadata.Directory)"
    - Src: "com.drew.metadata.mp4.media.Mp4UuidBoxHandler:123,1"
      Dst: "[com.drew.metadata.photoshop.PhotoshopReader].<init>()"
    - Src: "com.drew.metadata.mp4.media.Mp4UuidBoxHandler:123,1"
      Dst: "[com.drew.metadata.photoshop.PhotoshopReader].extract(com.drew.lang.SequentialReader,int,com.drew.metadata.Metadata,com.drew.metadata.Directory)"
    - Src: "com.drew.metadata.mp4.media.Mp4UuidBoxHandler:126,1"
      Dst: "[com.drew.metadata.xmp.XmpReader].<init>()"
    - Src: "com.drew.metadata.mp4.media.Mp4UuidBoxHandler:126,1"
      Dst: "[com.drew.metadata.xmp.XmpReader].extract(byte[],int,int,com.drew.metadata.Metadata,com.drew.metadata.Directory)"
    - Src: "com.drew.metadata.mp4.media.Mp4UuidBoxHandler:129,1"
      Dst: "[com.drew.lang.SequentialByteArrayReader].<init>(byte[])"
    - Src: "com.drew.metadata.mp4.media.Mp4UuidBoxHandler:130,1"
      Dst: "[com.drew.lang.SequentialReader].getBytes(int)"
    - Src: "com.drew.metadata.mp4.media.Mp4UuidBoxHandler:130,1"
      Dst: "[com.drew.metadata.mp4.media.Mp4UuidBoxHandler].getUuid(byte[])"
    - Src: "com.drew.metadata.mp4.media.Mp4UuidBoxHandler:131,1"
      Dst: "[com.drew.lang.SequentialReader].available()"
    - Src: "com.drew.metadata.mp4.media.Mp4UuidBoxHandler:132,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.mp4.media.Mp4UuidBoxHandler:132,1"
      Dst: "[com.drew.metadata.Directory].setString(int,java.lang.String)"
    - Src: "com.drew.metadata.mp4.media.Mp4UuidBoxHandler:133,1"
      Dst: "[com.drew.metadata.Directory].setByteArray(int,byte[])"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 11
    CyclomaticComplexity: 7
  - functionName: "[com.drew.lang.ByteTrie].find(byte[])"
    functionSourceFile: "com.drew.lang.ByteTrie"
    linkageType: ""
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionDepth: 2
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "byte[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.ByteTrie].find(byte[],int,int)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.lang.ByteTrie:60,1"
      Dst: "[com.drew.lang.ByteTrie].find(byte[],int,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: "[com.drew.metadata.mp4.media.Mp4UuidBoxHandler].getUuid(byte[])"
    functionSourceFile: "com.drew.metadata.mp4.media.Mp4UuidBoxHandler"
    linkageType: ""
    functionLinenumber: 141
    functionLinenumberEnd: 146
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "byte[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.nio.ByteBuffer].wrap(byte[])"
    - "[java.util.UUID].<init>(long,long)"
    - "[java.util.UUID].toString()"
    - "[java.nio.ByteBuffer].getLong()"
    functionUses: 1
    ICount: 8
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mp4.media.Mp4UuidBoxHandler:142,1"
      Dst: "[java.nio.ByteBuffer].wrap(byte[])"
    - Src: "com.drew.metadata.mp4.media.Mp4UuidBoxHandler:143,1"
      Dst: "[java.nio.ByteBuffer].getLong()"
    - Src: "com.drew.metadata.mp4.media.Mp4UuidBoxHandler:143,1"
      Dst: "[java.util.UUID].<init>(long,long)"
    - Src: "com.drew.metadata.mp4.media.Mp4UuidBoxHandler:145,1"
      Dst: "[java.util.UUID].toString()"
    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: "[com.drew.metadata.mov.media.QuickTimeTimecodeHandler].createDirectory()"
    functionSourceFile: "com.drew.metadata.mov.media.QuickTimeTimecodeHandler"
    linkageType: ""
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionDepth: 4
    returnType: "com.drew.metadata.mov.media.QuickTimeTimecodeDirectory"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mov.media.QuickTimeTimecodeDirectory].<init>()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.media.QuickTimeTimecodeHandler:49,1"
      Dst: "[com.drew.metadata.mov.media.QuickTimeTimecodeDirectory].<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: "[com.drew.metadata.mov.media.QuickTimeTimecodeDirectory].<init>()"
    functionSourceFile: "com.drew.metadata.mov.media.QuickTimeTimecodeDirectory"
    linkageType: ""
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionDepth: 3
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mov.QuickTimeDirectory].<init>()"
    - "[com.drew.metadata.mov.media.QuickTimeTimecodeDescriptor].<init>(com.drew.metadata.mov.QuickTimeDirectory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 1
    ICount: 6
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.media.QuickTimeTimecodeDirectory:46,1"
      Dst: "[com.drew.metadata.mov.QuickTimeDirectory].<init>()"
    - Src: "com.drew.metadata.mov.media.QuickTimeTimecodeDirectory:47,1"
      Dst: "[com.drew.metadata.mov.media.QuickTimeTimecodeDescriptor].<init>(com.drew.metadata.mov.QuickTimeDirectory)"
    - Src: "com.drew.metadata.mov.media.QuickTimeTimecodeDirectory:47,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.mov.media.QuickTimeTimecodeHandler].getMediaInformation()"
    functionSourceFile: "com.drew.metadata.mov.media.QuickTimeTimecodeHandler"
    linkageType: ""
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 2
    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: "[com.drew.metadata.mov.media.QuickTimeTimecodeHandler].processSampleDescription(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
    functionSourceFile: "com.drew.metadata.mov.media.QuickTimeTimecodeHandler"
    linkageType: ""
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "com.drew.metadata.mov.atoms.Atom"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mov.atoms.TimecodeSampleDescriptionAtom].<init>(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
    - "[com.drew.metadata.mov.atoms.TimecodeSampleDescriptionAtom].addMetadata(com.drew.metadata.mov.media.QuickTimeTimecodeDirectory)"
    functionUses: 1
    ICount: 9
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.media.QuickTimeTimecodeHandler:61,1"
      Dst: "[com.drew.metadata.mov.atoms.TimecodeSampleDescriptionAtom].<init>(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
    - Src: "com.drew.metadata.mov.media.QuickTimeTimecodeHandler:62,1"
      Dst: "[com.drew.metadata.mov.atoms.TimecodeSampleDescriptionAtom].addMetadata(com.drew.metadata.mov.media.QuickTimeTimecodeDirectory)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.mov.atoms.TimecodeSampleDescriptionAtom].<init>(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
    functionSourceFile: "com.drew.metadata.mov.atoms.TimecodeSampleDescriptionAtom"
    linkageType: ""
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "com.drew.metadata.mov.atoms.Atom"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mov.atoms.SampleDescriptionAtom].<init>(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.atoms.TimecodeSampleDescriptionAtom:38,1"
      Dst: "[com.drew.metadata.mov.atoms.SampleDescriptionAtom].<init>(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.mov.atoms.TimecodeSampleDescriptionAtom].addMetadata(com.drew.metadata.mov.media.QuickTimeTimecodeDirectory)"
    functionSourceFile: "com.drew.metadata.mov.atoms.TimecodeSampleDescriptionAtom"
    linkageType: ""
    functionLinenumber: 49
    functionLinenumberEnd: 59
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.mov.media.QuickTimeTimecodeDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].size()"
    - "[java.util.ArrayList].get(int)"
    - "[com.drew.metadata.Directory].setBoolean(int,boolean)"
    functionUses: 1
    ICount: 37
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "com.drew.metadata.mov.atoms.TimecodeSampleDescriptionAtom:50"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.atoms.TimecodeSampleDescriptionAtom:58"
        BranchSideFuncs:
        - "get(int)"
      - BranchSide: "com.drew.metadata.mov.atoms.TimecodeSampleDescriptionAtom:57"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mov.atoms.TimecodeSampleDescriptionAtom:53"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.atoms.TimecodeSampleDescriptionAtom:51"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.mov.atoms.TimecodeSampleDescriptionAtom:50"
        BranchSideFuncs:
        - "get(int)"
    - Branch String: "com.drew.metadata.mov.atoms.TimecodeSampleDescriptionAtom:54"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.atoms.TimecodeSampleDescriptionAtom:53"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.mov.atoms.TimecodeSampleDescriptionAtom:52"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mov.atoms.TimecodeSampleDescriptionAtom:55"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.atoms.TimecodeSampleDescriptionAtom:54"
        BranchSideFuncs:
        - "setBoolean(int,boolean)"
      - BranchSide: "com.drew.metadata.mov.atoms.TimecodeSampleDescriptionAtom:53"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mov.atoms.TimecodeSampleDescriptionAtom:56"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.atoms.TimecodeSampleDescriptionAtom:54"
        BranchSideFuncs:
        - "setBoolean(int,boolean)"
    Callsites:
    - Src: "com.drew.metadata.mov.atoms.TimecodeSampleDescriptionAtom:50,1"
      Dst: "[java.util.ArrayList].size()"
    - Src: "com.drew.metadata.mov.atoms.TimecodeSampleDescriptionAtom:51,1"
      Dst: "[java.util.ArrayList].get(int)"
    - Src: "com.drew.metadata.mov.atoms.TimecodeSampleDescriptionAtom:53,1"
      Dst: "[com.drew.metadata.Directory].setBoolean(int,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: "[com.drew.metadata.mov.media.QuickTimeTimecodeHandler].processMediaInformation(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
    functionSourceFile: "com.drew.metadata.mov.media.QuickTimeTimecodeHandler"
    linkageType: ""
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionDepth: 3
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "com.drew.metadata.mov.atoms.Atom"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mov.atoms.TimecodeInformationMediaAtom].<init>(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
    - "[com.drew.metadata.mov.atoms.TimecodeInformationMediaAtom].addMetadata(com.drew.metadata.mov.media.QuickTimeTimecodeDirectory)"
    functionUses: 1
    ICount: 9
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.media.QuickTimeTimecodeHandler:68,1"
      Dst: "[com.drew.metadata.mov.atoms.TimecodeInformationMediaAtom].<init>(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
    - Src: "com.drew.metadata.mov.media.QuickTimeTimecodeHandler:69,1"
      Dst: "[com.drew.metadata.mov.atoms.TimecodeInformationMediaAtom].addMetadata(com.drew.metadata.mov.media.QuickTimeTimecodeDirectory)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.mov.atoms.TimecodeInformationMediaAtom].<init>(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
    functionSourceFile: "com.drew.metadata.mov.atoms.TimecodeInformationMediaAtom"
    linkageType: ""
    functionLinenumber: 43
    functionLinenumberEnd: 54
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "com.drew.metadata.mov.atoms.Atom"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mov.atoms.FullAtom].<init>(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
    - "[com.drew.lang.SequentialReader].getInt16()"
    - "[com.drew.lang.StreamReader].skip(long)"
    - "[com.drew.lang.SequentialByteArrayReader].skip(long)"
    - "[com.drew.lang.SequentialReader].getUInt16()"
    - "[com.drew.lang.SequentialReader].getString(int)"
    - "[com.drew.lang.SequentialReader].getUInt8()"
    - "[com.drew.lang.SequentialReader].skip(long)"
    functionUses: 1
    ICount: 35
    EdgeCount: 14
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.atoms.TimecodeInformationMediaAtom:44,1"
      Dst: "[com.drew.metadata.mov.atoms.FullAtom].<init>(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
    - Src: "com.drew.metadata.mov.atoms.TimecodeInformationMediaAtom:46,1"
      Dst: "[com.drew.lang.SequentialReader].getInt16()"
    - Src: "com.drew.metadata.mov.atoms.TimecodeInformationMediaAtom:49,1"
      Dst: "[com.drew.lang.SequentialReader].skip(long)"
    - Src: "com.drew.metadata.mov.atoms.TimecodeInformationMediaAtom:50,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt16()"
    - Src: "com.drew.metadata.mov.atoms.TimecodeInformationMediaAtom:52,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt8()"
    - Src: "com.drew.metadata.mov.atoms.TimecodeInformationMediaAtom:52,1"
      Dst: "[com.drew.lang.SequentialReader].getString(int)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.mov.atoms.TimecodeInformationMediaAtom].addMetadata(com.drew.metadata.mov.media.QuickTimeTimecodeDirectory)"
    functionSourceFile: "com.drew.metadata.mov.atoms.TimecodeInformationMediaAtom"
    linkageType: ""
    functionLinenumber: 56
    functionLinenumberEnd: 86
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.mov.media.QuickTimeTimecodeDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].setInt(int,int)"
    - "[com.drew.metadata.Directory].setString(int,java.lang.String)"
    - "[com.drew.metadata.Directory].setIntArray(int,int[])"
    functionUses: 1
    ICount: 28
    EdgeCount: 12
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.atoms.TimecodeInformationMediaAtom:57,1"
      Dst: "[com.drew.metadata.Directory].setInt(int,int)"
    - Src: "com.drew.metadata.mov.atoms.TimecodeInformationMediaAtom:60,1"
      Dst: "[com.drew.metadata.Directory].setString(int,java.lang.String)"
    - Src: "com.drew.metadata.mov.atoms.TimecodeInformationMediaAtom:82,1"
      Dst: "[com.drew.metadata.Directory].setIntArray(int,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: 9
    CyclomaticComplexity: 8
  - functionName: "[com.drew.metadata.mov.media.QuickTimeTimecodeHandler].processTimeToSample(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom,com.drew.metadata.mov.QuickTimeContext)"
    functionSourceFile: "com.drew.metadata.mov.media.QuickTimeTimecodeHandler"
    linkageType: ""
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "com.drew.metadata.mov.atoms.Atom"
    - "com.drew.metadata.mov.QuickTimeContext"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 5
    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: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.mov.metadata.QuickTimeDataHandler].shouldAcceptAtom(com.drew.metadata.mov.atoms.Atom)"
    functionSourceFile: "com.drew.metadata.mov.metadata.QuickTimeDataHandler"
    linkageType: ""
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "com.drew.metadata.mov.atoms.Atom"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].equals(java.lang.Object)"
    functionUses: 1
    ICount: 15
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.drew.metadata.mov.metadata.QuickTimeDataHandler:54"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.metadata.QuickTimeDataHandler:54"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.mov.metadata.QuickTimeDataHandler:53"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mov.metadata.QuickTimeDataHandler:55"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.metadata.QuickTimeDataHandler:54"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
      - BranchSide: "com.drew.metadata.mov.metadata.QuickTimeDataHandler:53"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mov.metadata.QuickTimeDataHandler:56"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.metadata.QuickTimeDataHandler:53"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.mov.metadata.QuickTimeDataHandler:54,1"
      Dst: "[java.lang.String].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: 6
    CyclomaticComplexity: 4
  - functionName: "[com.drew.metadata.mov.metadata.QuickTimeDataHandler].shouldAcceptContainer(com.drew.metadata.mov.atoms.Atom)"
    functionSourceFile: "com.drew.metadata.mov.metadata.QuickTimeDataHandler"
    linkageType: ""
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "com.drew.metadata.mov.atoms.Atom"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].equals(java.lang.Object)"
    - "[java.lang.String].getBytes()"
    - "[com.drew.lang.ByteUtil].getInt32(byte[],int,boolean)"
    - "[java.util.ArrayList].size()"
    functionUses: 1
    ICount: 15
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.drew.metadata.mov.metadata.QuickTimeDataHandler:62"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.metadata.QuickTimeDataHandler:62"
        BranchSideFuncs:
        - "getBytes()"
        - "getInt32(byte[],int,boolean)"
        - "size()"
      - BranchSide: "com.drew.metadata.mov.metadata.QuickTimeDataHandler:61"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "com.drew.metadata.mov.metadata.QuickTimeDataHandler:63"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.metadata.QuickTimeDataHandler:61"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    Callsites:
    - Src: "com.drew.metadata.mov.metadata.QuickTimeDataHandler:62,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "com.drew.metadata.mov.metadata.QuickTimeDataHandler:63,1"
      Dst: "[java.lang.String].getBytes()"
    - Src: "com.drew.metadata.mov.metadata.QuickTimeDataHandler:63,1"
      Dst: "[com.drew.lang.ByteUtil].getInt32(byte[],int,boolean)"
    - Src: "com.drew.metadata.mov.metadata.QuickTimeDataHandler:63,1"
      Dst: "[java.util.ArrayList].size()"
    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: "[com.drew.lang.ByteUtil].getInt32(byte[],int,boolean)"
    functionSourceFile: "com.drew.lang.ByteUtil"
    linkageType: ""
    functionLinenumber: 19
    functionLinenumberEnd: 28
    functionDepth: 0
    returnType: "int"
    argCount: 3
    argTypes:
    - "byte[]"
    - "int"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 56
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.lang.ByteUtil:20"
      Branch Sides:
      - BranchSide: "com.drew.lang.ByteUtil:27"
        BranchSideFuncs: []
      - BranchSide: "com.drew.lang.ByteUtil:26"
        BranchSideFuncs: []
    Callsites: []
    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: "[com.drew.metadata.mov.metadata.QuickTimeDataHandler].processAtom(com.drew.metadata.mov.atoms.Atom,byte[],com.drew.metadata.mov.QuickTimeContext)"
    functionSourceFile: "com.drew.metadata.mov.metadata.QuickTimeDataHandler"
    linkageType: ""
    functionLinenumber: 68
    functionLinenumberEnd: 83
    functionDepth: 3
    returnType: "com.drew.imaging.quicktime.QuickTimeHandler<?>"
    argCount: 3
    argTypes:
    - "com.drew.metadata.mov.atoms.Atom"
    - "byte[]"
    - "com.drew.metadata.mov.QuickTimeContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.SequentialByteArrayReader].<init>(byte[])"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[com.drew.metadata.mov.metadata.QuickTimeDataHandler].processKeys(com.drew.lang.SequentialByteArrayReader)"
    - "[com.drew.metadata.mov.metadata.QuickTimeDataHandler].processData(byte[],com.drew.lang.SequentialByteArrayReader)"
    - "[java.lang.String].getBytes()"
    - "[com.drew.lang.ByteUtil].getInt32(byte[],int,boolean)"
    - "[java.util.ArrayList].size()"
    functionUses: 2
    ICount: 28
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "com.drew.metadata.mov.metadata.QuickTimeDataHandler:69"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.metadata.QuickTimeDataHandler:77"
        BranchSideFuncs:
        - "<init>(byte[])"
      - BranchSide: "com.drew.metadata.mov.metadata.QuickTimeDataHandler:76"
        BranchSideFuncs:
        - "getBytes()"
        - "getInt32(byte[],int,boolean)"
        - "size()"
    - Branch String: "com.drew.metadata.mov.metadata.QuickTimeDataHandler:71"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.metadata.QuickTimeDataHandler:73"
        BranchSideFuncs:
        - "processKeys(com.drew.lang.SequentialByteArrayReader)"
      - BranchSide: "com.drew.metadata.mov.metadata.QuickTimeDataHandler:72"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "com.drew.metadata.mov.metadata.QuickTimeDataHandler:73"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.metadata.QuickTimeDataHandler:76"
        BranchSideFuncs:
        - "processData(byte[],com.drew.lang.SequentialByteArrayReader)"
      - BranchSide: "com.drew.metadata.mov.metadata.QuickTimeDataHandler:75"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mov.metadata.QuickTimeDataHandler:78"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.metadata.QuickTimeDataHandler:82"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.mov.metadata.QuickTimeDataHandler:81"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mov.metadata.QuickTimeDataHandler:78"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.metadata.QuickTimeDataHandler:82"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.mov.metadata.QuickTimeDataHandler:81"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.mov.metadata.QuickTimeDataHandler:70,1"
      Dst: "[com.drew.lang.SequentialByteArrayReader].<init>(byte[])"
    - Src: "com.drew.metadata.mov.metadata.QuickTimeDataHandler:71,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "com.drew.metadata.mov.metadata.QuickTimeDataHandler:72,1"
      Dst: "[com.drew.metadata.mov.metadata.QuickTimeDataHandler].processKeys(com.drew.lang.SequentialByteArrayReader)"
    - Src: "com.drew.metadata.mov.metadata.QuickTimeDataHandler:74,1"
      Dst: "[com.drew.metadata.mov.metadata.QuickTimeDataHandler].processData(byte[],com.drew.lang.SequentialByteArrayReader)"
    - Src: "com.drew.metadata.mov.metadata.QuickTimeDataHandler:77,1"
      Dst: "[java.lang.String].getBytes()"
    - Src: "com.drew.metadata.mov.metadata.QuickTimeDataHandler:77,1"
      Dst: "[com.drew.lang.ByteUtil].getInt32(byte[],int,boolean)"
    - Src: "com.drew.metadata.mov.metadata.QuickTimeDataHandler:78,1"
      Dst: "[java.util.ArrayList].size()"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 10
    CyclomaticComplexity: 6
  - functionName: "[com.drew.metadata.mov.metadata.QuickTimeDataHandler].processKeys(com.drew.lang.SequentialByteArrayReader)"
    functionSourceFile: "com.drew.metadata.mov.metadata.QuickTimeDataHandler"
    linkageType: ""
    functionLinenumber: 88
    functionLinenumberEnd: 102
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.lang.SequentialByteArrayReader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.SequentialByteArrayReader].skip(long)"
    - "[com.drew.lang.SequentialReader].getInt32()"
    - "[java.lang.StringBuilder].<init>()"
    - "[com.drew.metadata.Directory].addError(java.lang.String)"
    - "[java.lang.StringBuilder].append(int)"
    - "[java.lang.StringBuilder].toString()"
    - "[com.drew.lang.SequentialReader].getString(int,java.lang.String)"
    - "[java.util.ArrayList].add(java.lang.Object)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    functionUses: 2
    ICount: 24
    EdgeCount: 10
    BranchProfiles:
    - Branch String: "com.drew.metadata.mov.metadata.QuickTimeDataHandler:91"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.metadata.QuickTimeDataHandler:101"
        BranchSideFuncs:
        - "getInt32()"
      - BranchSide: "com.drew.metadata.mov.metadata.QuickTimeDataHandler:100"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mov.metadata.QuickTimeDataHandler:93"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.metadata.QuickTimeDataHandler:null"
        BranchSideFuncs:
        - "<init>()"
        - "toString()"
        - "addError(java.lang.String)"
        - "append(int)"
    Callsites:
    - Src: "com.drew.metadata.mov.metadata.QuickTimeDataHandler:89,1"
      Dst: "[com.drew.lang.SequentialByteArrayReader].skip(long)"
    - Src: "com.drew.metadata.mov.metadata.QuickTimeDataHandler:90,1"
      Dst: "[com.drew.lang.SequentialReader].getInt32()"
    - Src: "com.drew.metadata.mov.metadata.QuickTimeDataHandler:94,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.mov.metadata.QuickTimeDataHandler:94,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.mov.metadata.QuickTimeDataHandler:94,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    - Src: "com.drew.metadata.mov.metadata.QuickTimeDataHandler:94,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "com.drew.metadata.mov.metadata.QuickTimeDataHandler:94,1"
      Dst: "[com.drew.metadata.Directory].addError(java.lang.String)"
    - Src: "com.drew.metadata.mov.metadata.QuickTimeDataHandler:98,1"
      Dst: "[com.drew.lang.SequentialReader].getString(int,java.lang.String)"
    - Src: "com.drew.metadata.mov.metadata.QuickTimeDataHandler:99,1"
      Dst: "[java.util.ArrayList].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[com.drew.lang.SequentialByteArrayReader].skip(long)"
    functionSourceFile: "com.drew.lang.SequentialByteArrayReader"
    linkageType: ""
    functionLinenumber: 97
    functionLinenumberEnd: 108
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.io.EOFException].<init>(java.lang.String)"
    functionUses: 106
    ICount: 26
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.drew.lang.SequentialByteArrayReader:98"
      Branch Sides:
      - BranchSide: "com.drew.lang.SequentialByteArrayReader:102"
        BranchSideFuncs: []
      - BranchSide: "com.drew.lang.SequentialByteArrayReader:101"
        BranchSideFuncs: []
    - Branch String: "com.drew.lang.SequentialByteArrayReader:102"
      Branch Sides:
      - BranchSide: "com.drew.lang.SequentialByteArrayReader:106"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "com.drew.lang.SequentialByteArrayReader:105"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.lang.SequentialByteArrayReader:99,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.drew.lang.SequentialByteArrayReader:103,1"
      Dst: "[java.io.EOFException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.mov.metadata.QuickTimeDataHandler].processData(byte[],com.drew.lang.SequentialByteArrayReader)"
    functionSourceFile: "com.drew.metadata.mov.metadata.QuickTimeDataHandler"
    linkageType: ""
    functionLinenumber: 105
    functionLinenumberEnd: 143
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "byte[]"
    - "com.drew.lang.SequentialByteArrayReader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].size()"
    - "[com.drew.lang.SequentialReader].getInt32()"
    - "[com.drew.lang.SequentialByteArrayReader].skip(long)"
    - "[java.util.HashMap].get(java.lang.Object)"
    - "[com.drew.lang.SequentialReader].getString(int,java.lang.String)"
    - "[java.lang.Integer].intValue()"
    - "[com.drew.metadata.Directory].setString(int,java.lang.String)"
    - "[com.drew.lang.SequentialByteArrayReader].getBytes(int)"
    - "[com.drew.metadata.Directory].setByteArray(int,byte[])"
    - "[com.drew.lang.SequentialByteArrayReader].getBytes(byte[],int,int)"
    - "[com.drew.lang.SequentialByteArrayReader].<init>(byte[])"
    - "[com.drew.metadata.Directory].setInt(int,int)"
    - "[com.drew.lang.SequentialReader].getFloat32()"
    - "[com.drew.metadata.Directory].setFloat(int,float)"
    - "[com.drew.metadata.Directory].setIntArray(int,int[])"
    - "[java.util.ArrayList].get(int)"
    functionUses: 2
    ICount: 58
    EdgeCount: 21
    BranchProfiles:
    - Branch String: "com.drew.metadata.mov.metadata.QuickTimeDataHandler:106"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.metadata.QuickTimeDataHandler:110"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.mov.metadata.QuickTimeDataHandler:109"
        BranchSideFuncs:
        - "get(java.lang.Object)"
        - "skip(long)"
    - Branch String: "com.drew.metadata.mov.metadata.QuickTimeDataHandler:114"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.metadata.QuickTimeDataHandler:142"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.mov.metadata.QuickTimeDataHandler:141"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mov.metadata.QuickTimeDataHandler:135"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.metadata.QuickTimeDataHandler:137"
        BranchSideFuncs:
        - "intValue()"
        - "setIntArray(int,int[])"
    Callsites:
    - Src: "com.drew.metadata.mov.metadata.QuickTimeDataHandler:106,1"
      Dst: "[java.util.ArrayList].size()"
    - Src: "com.drew.metadata.mov.metadata.QuickTimeDataHandler:110,1"
      Dst: "[com.drew.lang.SequentialReader].getInt32()"
    - Src: "com.drew.metadata.mov.metadata.QuickTimeDataHandler:112,1"
      Dst: "[com.drew.lang.SequentialByteArrayReader].skip(long)"
    - Src: "com.drew.metadata.mov.metadata.QuickTimeDataHandler:113,1"
      Dst: "[java.util.ArrayList].get(int)"
    - Src: "com.drew.metadata.mov.metadata.QuickTimeDataHandler:113,1"
      Dst: "[java.util.HashMap].get(java.lang.Object)"
    - Src: "com.drew.metadata.mov.metadata.QuickTimeDataHandler:118,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.mov.metadata.QuickTimeDataHandler:118,1"
      Dst: "[com.drew.lang.SequentialReader].getString(int,java.lang.String)"
    - Src: "com.drew.metadata.mov.metadata.QuickTimeDataHandler:118,1"
      Dst: "[com.drew.metadata.Directory].setString(int,java.lang.String)"
    - Src: "com.drew.metadata.mov.metadata.QuickTimeDataHandler:123,1"
      Dst: "[com.drew.lang.SequentialByteArrayReader].getBytes(int)"
    - Src: "com.drew.metadata.mov.metadata.QuickTimeDataHandler:123,1"
      Dst: "[com.drew.metadata.Directory].setByteArray(int,byte[])"
    - Src: "com.drew.metadata.mov.metadata.QuickTimeDataHandler:127,1"
      Dst: "[com.drew.lang.SequentialByteArrayReader].getBytes(byte[],int,int)"
    - Src: "com.drew.metadata.mov.metadata.QuickTimeDataHandler:128,1"
      Dst: "[com.drew.lang.SequentialByteArrayReader].<init>(byte[])"
    - Src: "com.drew.metadata.mov.metadata.QuickTimeDataHandler:128,1"
      Dst: "[com.drew.metadata.Directory].setInt(int,int)"
    - Src: "com.drew.metadata.mov.metadata.QuickTimeDataHandler:131,1"
      Dst: "[com.drew.lang.SequentialReader].getFloat32()"
    - Src: "com.drew.metadata.mov.metadata.QuickTimeDataHandler:131,1"
      Dst: "[com.drew.metadata.Directory].setFloat(int,float)"
    - Src: "com.drew.metadata.mov.metadata.QuickTimeDataHandler:138,1"
      Dst: "[com.drew.metadata.Directory].setIntArray(int,int[])"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 13
    CyclomaticComplexity: 8
  - functionName: "[com.drew.lang.SequentialByteArrayReader].getBytes(int)"
    functionSourceFile: "com.drew.lang.SequentialByteArrayReader"
    linkageType: ""
    functionLinenumber: 72
    functionLinenumberEnd: 82
    functionDepth: 0
    returnType: "byte[]"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.EOFException].<init>(java.lang.String)"
    - "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    functionUses: 36
    ICount: 23
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.drew.lang.SequentialByteArrayReader:73"
      Branch Sides:
      - BranchSide: "com.drew.lang.SequentialByteArrayReader:77"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "com.drew.lang.SequentialByteArrayReader:76"
        BranchSideFuncs:
        - "arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    Callsites:
    - Src: "com.drew.lang.SequentialByteArrayReader:74,1"
      Dst: "[java.io.EOFException].<init>(java.lang.String)"
    - Src: "com.drew.lang.SequentialByteArrayReader:78,1"
      Dst: "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.lang.SequentialByteArrayReader].getBytes(byte[],int,int)"
    functionSourceFile: "com.drew.lang.SequentialByteArrayReader"
    linkageType: ""
    functionLinenumber: 86
    functionLinenumberEnd: 94
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "byte[]"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.EOFException].<init>(java.lang.String)"
    - "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    functionUses: 2
    ICount: 24
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.drew.lang.SequentialByteArrayReader:87"
      Branch Sides:
      - BranchSide: "com.drew.lang.SequentialByteArrayReader:91"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "com.drew.lang.SequentialByteArrayReader:90"
        BranchSideFuncs:
        - "arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    Callsites:
    - Src: "com.drew.lang.SequentialByteArrayReader:88,1"
      Dst: "[java.io.EOFException].<init>(java.lang.String)"
    - Src: "com.drew.lang.SequentialByteArrayReader:91,1"
      Dst: "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDirectory].<init>()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDirectory"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].<init>()"
    - "[com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDirectory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDirectory:93,1"
      Dst: "[com.drew.metadata.Directory].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDirectory:94,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDirectory)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDirectory:94,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDirectory].getName()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDirectory"
    linkageType: ""
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDirectory"
    linkageType: ""
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.bmp.BmpHeaderDirectory$RenderingHalftoningAlgorithm].valueOf(java.lang.String)"
    functionSourceFile: "com.drew.metadata.bmp.BmpHeaderDirectory$RenderingHalftoningAlgorithm"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.drew.metadata.bmp.BmpHeaderDirectory$RenderingHalftoningAlgorithm"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].valueOf(java.lang.Class,java.lang.String)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.bmp.BmpHeaderDirectory$RenderingHalftoningAlgorithm:302,1"
      Dst: "[java.lang.Enum].valueOf(java.lang.Class,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: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.bmp.BmpHeaderDirectory$RenderingHalftoningAlgorithm].<init>(java.lang.String,int,int)"
    functionSourceFile: "com.drew.metadata.bmp.BmpHeaderDirectory$RenderingHalftoningAlgorithm"
    linkageType: ""
    functionLinenumber: 317
    functionLinenumberEnd: 321
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].<init>(java.lang.String,int)"
    functionUses: 4
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.bmp.BmpHeaderDirectory$RenderingHalftoningAlgorithm:318,1"
      Dst: "[java.lang.Enum].<init>(java.lang.String,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.bmp.BmpHeaderDirectory$RenderingHalftoningAlgorithm].getValue()"
    functionSourceFile: "com.drew.metadata.bmp.BmpHeaderDirectory$RenderingHalftoningAlgorithm"
    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: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.bmp.BmpHeaderDirectory$RenderingHalftoningAlgorithm].$values()"
    functionSourceFile: "com.drew.metadata.bmp.BmpHeaderDirectory$RenderingHalftoningAlgorithm"
    linkageType: ""
    functionLinenumber: 301
    functionLinenumberEnd: 303
    functionDepth: 0
    returnType: "com.drew.metadata.bmp.BmpHeaderDirectory$RenderingHalftoningAlgorithm[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 10
    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: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDirectory)"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:45,1"
      Dst: "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    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: "[com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor].getDescription(int)"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 51
    functionLinenumberEnd: 77
    functionDepth: 3
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor].getFocusInfoVersionDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor].getAutoFocusDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor].getFocusDistanceDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor].getAfPointDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor].getExternalFlashDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor].getExternalFlashBounceDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor].getExternalFlashZoomDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor].getManualFlashDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor].getMacroLedDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor].getSensorTemperatureDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor].getImageStabilizationDescription()"
    - "[com.drew.metadata.TagDescriptor].getDescription(int)"
    functionUses: 1
    ICount: 27
    EdgeCount: 12
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:54,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor].getFocusInfoVersionDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:56,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor].getAutoFocusDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:58,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor].getFocusDistanceDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:60,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor].getAfPointDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:62,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor].getExternalFlashDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:64,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor].getExternalFlashBounceDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:66,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor].getExternalFlashZoomDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:68,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor].getManualFlashDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:70,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor].getMacroLedDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:72,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor].getSensorTemperatureDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:74,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor].getImageStabilizationDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:76,1"
      Dst: "[com.drew.metadata.TagDescriptor].getDescription(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: 13
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor].getFocusInfoVersionDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getVersionBytesDescription(int,int)"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:83,1"
      Dst: "[com.drew.metadata.TagDescriptor].getVersionBytesDescription(int,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: "[com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor].getAutoFocusDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:89,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor].getFocusDistanceDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 95
    functionLinenumberEnd: 103
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getRational(int)"
    - "[com.drew.lang.Rational].getNumerator()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.StringBuilder].append(double)"
    functionUses: 1
    ICount: 22
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:97"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:99"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:98"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:99"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:100"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:99"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:99"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:102"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:101"
        BranchSideFuncs:
        - "<init>()"
        - "append(java.lang.String)"
        - "toString()"
        - "getNumerator()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:96,1"
      Dst: "[com.drew.metadata.Directory].getRational(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:99,1"
      Dst: "[com.drew.lang.Rational].getNumerator()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:102,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:102,1"
      Dst: "[java.lang.StringBuilder].append(double)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:102,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:102,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: 6
    CyclomaticComplexity: 2
  - functionName: "[com.drew.lang.Rational].getNumerator()"
    functionSourceFile: "com.drew.lang.Rational"
    linkageType: ""
    functionLinenumber: 155
    functionLinenumberEnd: 157
    functionDepth: 0
    returnType: "long"
    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: "[com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor].getAfPointDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 107
    functionLinenumberEnd: 113
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].toString()"
    functionUses: 1
    ICount: 8
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:109"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:112"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:111"
        BranchSideFuncs:
        - "toString()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:108,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:112,1"
      Dst: "[java.lang.Integer].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: 3
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor].getExternalFlashDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 117
    functionLinenumberEnd: 130
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getIntArray(int)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.lang.Short].valueOf(short)"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 31
    EdgeCount: 11
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:119"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:120"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:119"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:119"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:122"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:121"
        BranchSideFuncs:
        - "valueOf(short)"
        - "format(java.lang.String,java.lang.Object[])"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:124"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:126"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:125"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:126"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:129"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:128"
        BranchSideFuncs:
        - "<init>()"
        - "append(java.lang.String)"
        - "toString()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:118,1"
      Dst: "[com.drew.metadata.Directory].getIntArray(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:122,1"
      Dst: "[java.lang.Short].valueOf(short)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:122,1"
      Dst: "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - Src: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:124,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:129,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:129,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:129,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: 8
    CyclomaticComplexity: 2
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor].getExternalFlashBounceDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 134
    functionLinenumberEnd: 136
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:135,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor].getExternalFlashZoomDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 141
    functionLinenumberEnd: 171
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getIntArray(int)"
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.lang.Short].valueOf(short)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.String].equals(java.lang.Object)"
    functionUses: 1
    ICount: 57
    EdgeCount: 21
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:143"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:153"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:147"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:150"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:149"
        BranchSideFuncs:
        - "intValue()"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:154"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:157"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:156"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:158"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:161"
        BranchSideFuncs:
        - "valueOf(short)"
        - "format(java.lang.String,java.lang.Object[])"
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:160"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:161"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:163"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:162"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:163"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:165"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:164"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:165"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:167"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:166"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:167"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:170"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:169"
        BranchSideFuncs:
        - "<init>()"
        - "append(java.lang.String)"
        - "toString()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:142,1"
      Dst: "[com.drew.metadata.Directory].getIntArray(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:146,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:151,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:157,1"
      Dst: "[java.lang.Short].valueOf(short)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:157,1"
      Dst: "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - Src: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:159,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:159,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:159,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:161,1"
      Dst: "[java.lang.String].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: 17
    CyclomaticComplexity: 3
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor].getManualFlashDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 176
    functionLinenumberEnd: 187
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getIntArray(int)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(int)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 24
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:178"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:181"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:180"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:181"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:184"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:183"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:184"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:186"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:185"
        BranchSideFuncs:
        - "<init>()"
        - "append(java.lang.String)"
        - "toString()"
        - "append(int)"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:177,1"
      Dst: "[com.drew.metadata.Directory].getIntArray(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:186,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:186,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:186,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:186,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: 7
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor].getMacroLedDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 191
    functionLinenumberEnd: 193
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:192,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor].getSensorTemperatureDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 202
    functionLinenumberEnd: 204
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getString(int)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:203,1"
      Dst: "[com.drew.metadata.Directory].getString(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: "[com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor].getImageStabilizationDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 208
    functionLinenumberEnd: 216
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getByteArray(int)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 28
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:210"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:213"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:212"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:213"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:215"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:214"
        BranchSideFuncs:
        - "<init>()"
        - "append(java.lang.String)"
        - "toString()"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:215"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:214"
        BranchSideFuncs:
        - "<init>()"
        - "append(java.lang.String)"
        - "toString()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:209,1"
      Dst: "[com.drew.metadata.Directory].getByteArray(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:215,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:215,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusFocusInfoMakernoteDescriptor:215,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: 8
    CyclomaticComplexity: 2
  - functionName: "[com.drew.metadata.adobe.AdobeJpegDirectory].<init>()"
    functionSourceFile: "com.drew.metadata.adobe.AdobeJpegDirectory"
    linkageType: ""
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].<init>()"
    - "[com.drew.metadata.adobe.AdobeJpegDescriptor].<init>(com.drew.metadata.adobe.AdobeJpegDirectory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 1
    ICount: 6
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.adobe.AdobeJpegDirectory:60,1"
      Dst: "[com.drew.metadata.Directory].<init>()"
    - Src: "com.drew.metadata.adobe.AdobeJpegDirectory:61,1"
      Dst: "[com.drew.metadata.adobe.AdobeJpegDescriptor].<init>(com.drew.metadata.adobe.AdobeJpegDirectory)"
    - Src: "com.drew.metadata.adobe.AdobeJpegDirectory:61,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.adobe.AdobeJpegDirectory].getName()"
    functionSourceFile: "com.drew.metadata.adobe.AdobeJpegDirectory"
    linkageType: ""
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.adobe.AdobeJpegDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.adobe.AdobeJpegDirectory"
    linkageType: ""
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.CasioType1MakernoteDirectory].<init>()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CasioType1MakernoteDirectory"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].<init>()"
    - "[com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.CasioType1MakernoteDirectory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CasioType1MakernoteDirectory:88,1"
      Dst: "[com.drew.metadata.Directory].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.CasioType1MakernoteDirectory:89,1"
      Dst: "[com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.CasioType1MakernoteDirectory)"
    - Src: "com.drew.metadata.exif.makernotes.CasioType1MakernoteDirectory:89,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.exif.makernotes.CasioType1MakernoteDirectory].getName()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CasioType1MakernoteDirectory"
    linkageType: ""
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.exif.makernotes.CasioType1MakernoteDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CasioType1MakernoteDirectory"
    linkageType: ""
    functionLinenumber: 102
    functionLinenumberEnd: 104
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.imaging.quicktime.QuickTimeMetadataReader].<init>()"
    functionSourceFile: "com.drew.imaging.quicktime.QuickTimeMetadataReader"
    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: "com.drew.imaging.quicktime.QuickTimeMetadataReader:34,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: "[com.drew.imaging.quicktime.QuickTimeMetadataReader].readMetadata(java.io.File)"
    functionSourceFile: "com.drew.imaging.quicktime.QuickTimeMetadataReader"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "com.drew.metadata.Metadata"
    argCount: 1
    argTypes:
    - "java.io.File"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.FileInputStream].<init>(java.io.File)"
    - "[com.drew.imaging.quicktime.QuickTimeMetadataReader].readMetadata(java.io.InputStream)"
    - "[java.io.InputStream].close()"
    - "[com.drew.metadata.file.FileSystemMetadataReader].<init>()"
    - "[com.drew.metadata.file.FileSystemMetadataReader].read(java.io.File,com.drew.metadata.Metadata)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.quicktime.QuickTimeMetadataReader:39,1"
      Dst: "[java.io.FileInputStream].<init>(java.io.File)"
    - Src: "com.drew.imaging.quicktime.QuickTimeMetadataReader:42,1"
      Dst: "[com.drew.imaging.quicktime.QuickTimeMetadataReader].readMetadata(java.io.InputStream)"
    - Src: "com.drew.imaging.quicktime.QuickTimeMetadataReader:44,1"
      Dst: "[java.io.InputStream].close()"
    - Src: "com.drew.imaging.quicktime.QuickTimeMetadataReader:46,1"
      Dst: "[com.drew.metadata.file.FileSystemMetadataReader].<init>()"
    - Src: "com.drew.imaging.quicktime.QuickTimeMetadataReader:46,1"
      Dst: "[com.drew.metadata.file.FileSystemMetadataReader].read(java.io.File,com.drew.metadata.Metadata)"
    JavaMethodInfo:
      exceptions:
      - "com.drew.imaging.ImageProcessingException"
      - "java.io.IOException"
      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: "[com.drew.imaging.quicktime.QuickTimeMetadataReader].readMetadata(java.io.InputStream)"
    functionSourceFile: "com.drew.imaging.quicktime.QuickTimeMetadataReader"
    linkageType: ""
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionDepth: 2
    returnType: "com.drew.metadata.Metadata"
    argCount: 1
    argTypes:
    - "java.io.InputStream"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Metadata].<init>()"
    - "[com.drew.metadata.mov.QuickTimeAtomHandler].<init>(com.drew.metadata.Metadata)"
    - "[com.drew.imaging.quicktime.QuickTimeReader].extract(java.io.InputStream,com.drew.imaging.quicktime.QuickTimeHandler)"
    functionUses: 1
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.quicktime.QuickTimeMetadataReader:53,1"
      Dst: "[com.drew.metadata.Metadata].<init>()"
    - Src: "com.drew.imaging.quicktime.QuickTimeMetadataReader:54,1"
      Dst: "[com.drew.metadata.mov.QuickTimeAtomHandler].<init>(com.drew.metadata.Metadata)"
    - Src: "com.drew.imaging.quicktime.QuickTimeMetadataReader:54,1"
      Dst: "[com.drew.imaging.quicktime.QuickTimeReader].extract(java.io.InputStream,com.drew.imaging.quicktime.QuickTimeHandler)"
    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: "[com.drew.metadata.mov.QuickTimeHandlerFactory].<init>(com.drew.imaging.quicktime.QuickTimeHandler)"
    functionSourceFile: "com.drew.metadata.mov.QuickTimeHandlerFactory"
    linkageType: ""
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.imaging.quicktime.QuickTimeHandler"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.QuickTimeHandlerFactory:46,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: "[com.drew.tools.ProcessUrlUtility].<init>()"
    functionSourceFile: "com.drew.tools.ProcessUrlUtility"
    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: "com.drew.tools.ProcessUrlUtility:41,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: "[com.drew.tools.ProcessUrlUtility].processUrl(java.net.URL)"
    functionSourceFile: "com.drew.tools.ProcessUrlUtility"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 15
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.net.URL"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.net.URL].openConnection()"
    - "[java.net.URLConnection].getInputStream()"
    - "[com.drew.imaging.ImageMetadataReader].readMetadata(java.io.InputStream)"
    - "[java.lang.Object].getClass()"
    - "[java.lang.Class].getName()"
    - "[java.lang.Throwable].getMessage()"
    - "[java.io.PrintStream].printf(java.lang.String,java.lang.Object[])"
    - "[java.lang.Throwable].printStackTrace(java.io.PrintStream)"
    - "[com.drew.metadata.Metadata].hasErrors()"
    - "[java.io.PrintStream].println(java.lang.Object)"
    - "[com.drew.metadata.Metadata].getDirectories()"
    - "[java.lang.Iterable].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[com.drew.metadata.Directory].hasErrors()"
    - "[com.drew.metadata.Directory].getErrors()"
    - "[com.drew.metadata.Directory].getName()"
    - "[com.drew.metadata.Directory].getTags()"
    - "[java.util.Collection].iterator()"
    - "[com.drew.metadata.Tag].getTagName()"
    - "[com.drew.metadata.Tag].getDescription()"
    - "[java.lang.String].length()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.String].substring(int,int)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 0
    ICount: 88
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.tools.ProcessUrlUtility:78"
      Branch Sides:
      - BranchSide: "com.drew.tools.ProcessUrlUtility:90"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.ProcessUrlUtility:89"
        BranchSideFuncs: []
    - Branch String: "com.drew.tools.ProcessUrlUtility:80"
      Branch Sides:
      - BranchSide: "com.drew.tools.ProcessUrlUtility:90"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.ProcessUrlUtility:89"
        BranchSideFuncs: []
    - Branch String: "com.drew.tools.ProcessUrlUtility:81"
      Branch Sides:
      - BranchSide: "com.drew.tools.ProcessUrlUtility:83"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.ProcessUrlUtility:82"
        BranchSideFuncs: []
    - Branch String: "com.drew.tools.ProcessUrlUtility:83"
      Branch Sides:
      - BranchSide: "com.drew.tools.ProcessUrlUtility:86"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.ProcessUrlUtility:85"
        BranchSideFuncs: []
    - Branch String: "com.drew.tools.ProcessUrlUtility:90"
      Branch Sides:
      - BranchSide: "com.drew.tools.ProcessUrlUtility:107"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.ProcessUrlUtility:106"
        BranchSideFuncs: []
    - Branch String: "com.drew.tools.ProcessUrlUtility:91"
      Branch Sides:
      - BranchSide: "com.drew.tools.ProcessUrlUtility:103"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.ProcessUrlUtility:102"
        BranchSideFuncs: []
    - Branch String: "com.drew.tools.ProcessUrlUtility:97"
      Branch Sides:
      - BranchSide: "com.drew.tools.ProcessUrlUtility:101"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.ProcessUrlUtility:100"
        BranchSideFuncs: []
    - Branch String: "com.drew.tools.ProcessUrlUtility:97"
      Branch Sides:
      - BranchSide: "com.drew.tools.ProcessUrlUtility:101"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.ProcessUrlUtility:100"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.tools.ProcessUrlUtility:58,1"
      Dst: "[java.net.URL].openConnection()"
    - Src: "com.drew.tools.ProcessUrlUtility:61,1"
      Dst: "[java.net.URLConnection].getInputStream()"
    - Src: "com.drew.tools.ProcessUrlUtility:66,1"
      Dst: "[com.drew.imaging.ImageMetadataReader].readMetadata(java.io.InputStream)"
    - Src: "com.drew.tools.ProcessUrlUtility:70,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "com.drew.tools.ProcessUrlUtility:70,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "com.drew.tools.ProcessUrlUtility:70,1"
      Dst: "[java.lang.Throwable].getMessage()"
    - Src: "com.drew.tools.ProcessUrlUtility:70,1"
      Dst: "[java.io.PrintStream].printf(java.lang.String,java.lang.Object[])"
    - Src: "com.drew.tools.ProcessUrlUtility:74,1"
      Dst: "[java.lang.Throwable].printStackTrace(java.io.PrintStream)"
    - Src: "com.drew.tools.ProcessUrlUtility:78,1"
      Dst: "[com.drew.metadata.Metadata].hasErrors()"
    - Src: "com.drew.tools.ProcessUrlUtility:79,1"
      Dst: "[java.io.PrintStream].println(java.lang.Object)"
    - Src: "com.drew.tools.ProcessUrlUtility:80,1"
      Dst: "[com.drew.metadata.Metadata].getDirectories()"
    - Src: "com.drew.tools.ProcessUrlUtility:80,1"
      Dst: "[java.lang.Iterable].iterator()"
    - Src: "com.drew.tools.ProcessUrlUtility:80,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.drew.tools.ProcessUrlUtility:80,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.drew.tools.ProcessUrlUtility:81,1"
      Dst: "[com.drew.metadata.Directory].hasErrors()"
    - Src: "com.drew.tools.ProcessUrlUtility:83,1"
      Dst: "[com.drew.metadata.Directory].getErrors()"
    - Src: "com.drew.tools.ProcessUrlUtility:84,1"
      Dst: "[com.drew.metadata.Directory].getName()"
    - Src: "com.drew.tools.ProcessUrlUtility:91,1"
      Dst: "[com.drew.metadata.Directory].getTags()"
    - Src: "com.drew.tools.ProcessUrlUtility:91,1"
      Dst: "[java.util.Collection].iterator()"
    - Src: "com.drew.tools.ProcessUrlUtility:92,1"
      Dst: "[com.drew.metadata.Tag].getTagName()"
    - Src: "com.drew.tools.ProcessUrlUtility:94,1"
      Dst: "[com.drew.metadata.Tag].getDescription()"
    - Src: "com.drew.tools.ProcessUrlUtility:97,1"
      Dst: "[java.lang.String].length()"
    - Src: "com.drew.tools.ProcessUrlUtility:98,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.tools.ProcessUrlUtility:98,1"
      Dst: "[java.lang.String].substring(int,int)"
    - Src: "com.drew.tools.ProcessUrlUtility:98,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.tools.ProcessUrlUtility:98,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 22
    CyclomaticComplexity: 7
  - functionName: "[com.drew.imaging.ImageMetadataReader].readMetadata(java.io.InputStream)"
    functionSourceFile: "com.drew.imaging.ImageMetadataReader"
    linkageType: ""
    functionLinenumber: 102
    functionLinenumberEnd: 104
    functionDepth: 14
    returnType: "com.drew.metadata.Metadata"
    argCount: 1
    argTypes:
    - "java.io.InputStream"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.imaging.ImageMetadataReader].readMetadata(java.io.InputStream,long)"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.ImageMetadataReader:103,1"
      Dst: "[com.drew.imaging.ImageMetadataReader].readMetadata(java.io.InputStream,long)"
    JavaMethodInfo:
      exceptions:
      - "com.drew.imaging.ImageProcessingException"
      - "java.io.IOException"
      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: "[com.drew.imaging.ImageMetadataReader].readMetadata(java.io.InputStream,long)"
    functionSourceFile: "com.drew.imaging.ImageMetadataReader"
    linkageType: ""
    functionLinenumber: 117
    functionLinenumberEnd: 129
    functionDepth: 13
    returnType: "com.drew.metadata.Metadata"
    argCount: 2
    argTypes:
    - "java.io.InputStream"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.BufferedInputStream].<init>(java.io.InputStream)"
    - "[com.drew.imaging.FileTypeDetector].detectFileType(java.io.InputStream)"
    - "[com.drew.imaging.ImageMetadataReader].readMetadata(java.io.InputStream,long,com.drew.imaging.FileType)"
    - "[com.drew.metadata.file.FileTypeDirectory].<init>(com.drew.imaging.FileType)"
    - "[com.drew.metadata.Metadata].addDirectory(com.drew.metadata.Directory)"
    functionUses: 1
    ICount: 14
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "com.drew.imaging.ImageMetadataReader:118"
      Branch Sides:
      - BranchSide: "com.drew.imaging.ImageMetadataReader:120"
        BranchSideFuncs: []
      - BranchSide: "com.drew.imaging.ImageMetadataReader:119"
        BranchSideFuncs:
        - "<init>(java.io.InputStream)"
    Callsites:
    - Src: "com.drew.imaging.ImageMetadataReader:120,1"
      Dst: "[java.io.BufferedInputStream].<init>(java.io.InputStream)"
    - Src: "com.drew.imaging.ImageMetadataReader:122,1"
      Dst: "[com.drew.imaging.FileTypeDetector].detectFileType(java.io.InputStream)"
    - Src: "com.drew.imaging.ImageMetadataReader:124,1"
      Dst: "[com.drew.imaging.ImageMetadataReader].readMetadata(java.io.InputStream,long,com.drew.imaging.FileType)"
    - Src: "com.drew.imaging.ImageMetadataReader:126,1"
      Dst: "[com.drew.metadata.file.FileTypeDirectory].<init>(com.drew.imaging.FileType)"
    - Src: "com.drew.imaging.ImageMetadataReader:126,1"
      Dst: "[com.drew.metadata.Metadata].addDirectory(com.drew.metadata.Directory)"
    JavaMethodInfo:
      exceptions:
      - "com.drew.imaging.ImageProcessingException"
      - "java.io.IOException"
      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: "[com.drew.imaging.ImageMetadataReader].readMetadata(java.io.InputStream,long,com.drew.imaging.FileType)"
    functionSourceFile: "com.drew.imaging.ImageMetadataReader"
    linkageType: ""
    functionLinenumber: 143
    functionLinenumberEnd: 189
    functionDepth: 12
    returnType: "com.drew.metadata.Metadata"
    argCount: 3
    argTypes:
    - "java.io.InputStream"
    - "long"
    - "com.drew.imaging.FileType"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].ordinal()"
    - "[com.drew.imaging.jpeg.JpegMetadataReader].readMetadata(java.io.InputStream)"
    - "[com.drew.lang.RandomAccessStreamReader].<init>(java.io.InputStream,int,long)"
    - "[com.drew.imaging.tiff.TiffMetadataReader].readMetadata(com.drew.lang.RandomAccessReader)"
    - "[com.drew.imaging.psd.PsdMetadataReader].readMetadata(java.io.InputStream)"
    - "[com.drew.imaging.png.PngMetadataReader].readMetadata(java.io.InputStream)"
    - "[com.drew.imaging.bmp.BmpMetadataReader].readMetadata(java.io.InputStream)"
    - "[com.drew.imaging.gif.GifMetadataReader].readMetadata(java.io.InputStream)"
    - "[com.drew.imaging.ico.IcoMetadataReader].readMetadata(java.io.InputStream)"
    - "[com.drew.imaging.pcx.PcxMetadataReader].readMetadata(java.io.InputStream)"
    - "[com.drew.imaging.webp.WebpMetadataReader].readMetadata(java.io.InputStream)"
    - "[com.drew.imaging.raf.RafMetadataReader].readMetadata(java.io.InputStream)"
    - "[com.drew.imaging.avi.AviMetadataReader].readMetadata(java.io.InputStream)"
    - "[com.drew.imaging.wav.WavMetadataReader].readMetadata(java.io.InputStream)"
    - "[com.drew.imaging.quicktime.QuickTimeMetadataReader].readMetadata(java.io.InputStream)"
    - "[com.drew.imaging.mp4.Mp4MetadataReader].readMetadata(java.io.InputStream)"
    - "[com.drew.imaging.mp3.Mp3MetadataReader].readMetadata(java.io.InputStream)"
    - "[com.drew.imaging.eps.EpsMetadataReader].readMetadata(java.io.InputStream)"
    - "[com.drew.imaging.heif.HeifMetadataReader].readMetadata(java.io.InputStream)"
    - "[com.drew.imaging.ImageProcessingException].<init>(java.lang.String)"
    - "[com.drew.metadata.Metadata].<init>()"
    functionUses: 1
    ICount: 49
    EdgeCount: 21
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.ImageMetadataReader:144,1"
      Dst: "[java.lang.Enum].ordinal()"
    - Src: "com.drew.imaging.ImageMetadataReader:146,1"
      Dst: "[com.drew.imaging.jpeg.JpegMetadataReader].readMetadata(java.io.InputStream)"
    - Src: "com.drew.imaging.ImageMetadataReader:153,1"
      Dst: "[com.drew.lang.RandomAccessStreamReader].<init>(java.io.InputStream,int,long)"
    - Src: "com.drew.imaging.ImageMetadataReader:153,1"
      Dst: "[com.drew.imaging.tiff.TiffMetadataReader].readMetadata(com.drew.lang.RandomAccessReader)"
    - Src: "com.drew.imaging.ImageMetadataReader:155,1"
      Dst: "[com.drew.imaging.psd.PsdMetadataReader].readMetadata(java.io.InputStream)"
    - Src: "com.drew.imaging.ImageMetadataReader:157,1"
      Dst: "[com.drew.imaging.png.PngMetadataReader].readMetadata(java.io.InputStream)"
    - Src: "com.drew.imaging.ImageMetadataReader:159,1"
      Dst: "[com.drew.imaging.bmp.BmpMetadataReader].readMetadata(java.io.InputStream)"
    - Src: "com.drew.imaging.ImageMetadataReader:161,1"
      Dst: "[com.drew.imaging.gif.GifMetadataReader].readMetadata(java.io.InputStream)"
    - Src: "com.drew.imaging.ImageMetadataReader:163,1"
      Dst: "[com.drew.imaging.ico.IcoMetadataReader].readMetadata(java.io.InputStream)"
    - Src: "com.drew.imaging.ImageMetadataReader:165,1"
      Dst: "[com.drew.imaging.pcx.PcxMetadataReader].readMetadata(java.io.InputStream)"
    - Src: "com.drew.imaging.ImageMetadataReader:167,1"
      Dst: "[com.drew.imaging.webp.WebpMetadataReader].readMetadata(java.io.InputStream)"
    - Src: "com.drew.imaging.ImageMetadataReader:169,1"
      Dst: "[com.drew.imaging.raf.RafMetadataReader].readMetadata(java.io.InputStream)"
    - Src: "com.drew.imaging.ImageMetadataReader:171,1"
      Dst: "[com.drew.imaging.avi.AviMetadataReader].readMetadata(java.io.InputStream)"
    - Src: "com.drew.imaging.ImageMetadataReader:173,1"
      Dst: "[com.drew.imaging.wav.WavMetadataReader].readMetadata(java.io.InputStream)"
    - Src: "com.drew.imaging.ImageMetadataReader:175,1"
      Dst: "[com.drew.imaging.quicktime.QuickTimeMetadataReader].readMetadata(java.io.InputStream)"
    - Src: "com.drew.imaging.ImageMetadataReader:177,1"
      Dst: "[com.drew.imaging.mp4.Mp4MetadataReader].readMetadata(java.io.InputStream)"
    - Src: "com.drew.imaging.ImageMetadataReader:179,1"
      Dst: "[com.drew.imaging.mp3.Mp3MetadataReader].readMetadata(java.io.InputStream)"
    - Src: "com.drew.imaging.ImageMetadataReader:181,1"
      Dst: "[com.drew.imaging.eps.EpsMetadataReader].readMetadata(java.io.InputStream)"
    - Src: "com.drew.imaging.ImageMetadataReader:184,1"
      Dst: "[com.drew.imaging.heif.HeifMetadataReader].readMetadata(java.io.InputStream)"
    - Src: "com.drew.imaging.ImageMetadataReader:186,1"
      Dst: "[com.drew.imaging.ImageProcessingException].<init>(java.lang.String)"
    - Src: "com.drew.imaging.ImageMetadataReader:188,1"
      Dst: "[com.drew.metadata.Metadata].<init>()"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      - "com.drew.imaging.ImageProcessingException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 20
    CyclomaticComplexity: 1
  - functionName: "[com.drew.imaging.psd.PsdMetadataReader].readMetadata(java.io.InputStream)"
    functionSourceFile: "com.drew.imaging.psd.PsdMetadataReader"
    linkageType: ""
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionDepth: 9
    returnType: "com.drew.metadata.Metadata"
    argCount: 1
    argTypes:
    - "java.io.InputStream"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Metadata].<init>()"
    - "[com.drew.lang.StreamReader].<init>(java.io.InputStream)"
    - "[com.drew.metadata.photoshop.PsdReader].<init>()"
    - "[com.drew.metadata.photoshop.PsdReader].extract(com.drew.lang.SequentialReader,com.drew.metadata.Metadata)"
    functionUses: 1
    ICount: 9
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.psd.PsdMetadataReader:56,1"
      Dst: "[com.drew.metadata.Metadata].<init>()"
    - Src: "com.drew.imaging.psd.PsdMetadataReader:57,1"
      Dst: "[com.drew.metadata.photoshop.PsdReader].<init>()"
    - Src: "com.drew.imaging.psd.PsdMetadataReader:57,1"
      Dst: "[com.drew.lang.StreamReader].<init>(java.io.InputStream)"
    - Src: "com.drew.imaging.psd.PsdMetadataReader:57,1"
      Dst: "[com.drew.metadata.photoshop.PsdReader].extract(com.drew.lang.SequentialReader,com.drew.metadata.Metadata)"
    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: "[com.drew.imaging.bmp.BmpMetadataReader].readMetadata(java.io.InputStream)"
    functionSourceFile: "com.drew.imaging.bmp.BmpMetadataReader"
    linkageType: ""
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionDepth: 7
    returnType: "com.drew.metadata.Metadata"
    argCount: 1
    argTypes:
    - "java.io.InputStream"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Metadata].<init>()"
    - "[com.drew.lang.StreamReader].<init>(java.io.InputStream)"
    - "[com.drew.metadata.bmp.BmpReader].<init>()"
    - "[com.drew.metadata.bmp.BmpReader].extract(com.drew.lang.SequentialReader,com.drew.metadata.Metadata)"
    functionUses: 1
    ICount: 9
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.bmp.BmpMetadataReader:56,1"
      Dst: "[com.drew.metadata.Metadata].<init>()"
    - Src: "com.drew.imaging.bmp.BmpMetadataReader:57,1"
      Dst: "[com.drew.metadata.bmp.BmpReader].<init>()"
    - Src: "com.drew.imaging.bmp.BmpMetadataReader:57,1"
      Dst: "[com.drew.lang.StreamReader].<init>(java.io.InputStream)"
    - Src: "com.drew.imaging.bmp.BmpMetadataReader:57,1"
      Dst: "[com.drew.metadata.bmp.BmpReader].extract(com.drew.lang.SequentialReader,com.drew.metadata.Metadata)"
    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: "[com.drew.imaging.pcx.PcxMetadataReader].readMetadata(java.io.InputStream)"
    functionSourceFile: "com.drew.imaging.pcx.PcxMetadataReader"
    linkageType: ""
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionDepth: 4
    returnType: "com.drew.metadata.Metadata"
    argCount: 1
    argTypes:
    - "java.io.InputStream"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Metadata].<init>()"
    - "[com.drew.lang.StreamReader].<init>(java.io.InputStream)"
    - "[com.drew.metadata.pcx.PcxReader].<init>()"
    - "[com.drew.metadata.pcx.PcxReader].extract(com.drew.lang.SequentialReader,com.drew.metadata.Metadata)"
    functionUses: 1
    ICount: 9
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.pcx.PcxMetadataReader:55,1"
      Dst: "[com.drew.metadata.Metadata].<init>()"
    - Src: "com.drew.imaging.pcx.PcxMetadataReader:56,1"
      Dst: "[com.drew.metadata.pcx.PcxReader].<init>()"
    - Src: "com.drew.imaging.pcx.PcxMetadataReader:56,1"
      Dst: "[com.drew.lang.StreamReader].<init>(java.io.InputStream)"
    - Src: "com.drew.imaging.pcx.PcxMetadataReader:56,1"
      Dst: "[com.drew.metadata.pcx.PcxReader].extract(com.drew.lang.SequentialReader,com.drew.metadata.Metadata)"
    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: "[com.drew.imaging.webp.WebpMetadataReader].readMetadata(java.io.InputStream)"
    functionSourceFile: "com.drew.imaging.webp.WebpMetadataReader"
    linkageType: ""
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionDepth: 5
    returnType: "com.drew.metadata.Metadata"
    argCount: 1
    argTypes:
    - "java.io.InputStream"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Metadata].<init>()"
    - "[com.drew.metadata.webp.WebpRiffHandler].<init>(com.drew.metadata.Metadata)"
    - "[com.drew.lang.StreamReader].<init>(java.io.InputStream)"
    - "[com.drew.imaging.riff.RiffReader].<init>()"
    - "[com.drew.imaging.riff.RiffReader].processRiff(com.drew.lang.SequentialReader,com.drew.imaging.riff.RiffHandler)"
    functionUses: 1
    ICount: 11
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.webp.WebpMetadataReader:57,1"
      Dst: "[com.drew.metadata.Metadata].<init>()"
    - Src: "com.drew.imaging.webp.WebpMetadataReader:58,1"
      Dst: "[com.drew.imaging.riff.RiffReader].<init>()"
    - Src: "com.drew.imaging.webp.WebpMetadataReader:58,1"
      Dst: "[com.drew.lang.StreamReader].<init>(java.io.InputStream)"
    - Src: "com.drew.imaging.webp.WebpMetadataReader:58,1"
      Dst: "[com.drew.metadata.webp.WebpRiffHandler].<init>(com.drew.metadata.Metadata)"
    - Src: "com.drew.imaging.webp.WebpMetadataReader:58,1"
      Dst: "[com.drew.imaging.riff.RiffReader].processRiff(com.drew.lang.SequentialReader,com.drew.imaging.riff.RiffHandler)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      - "com.drew.imaging.riff.RiffProcessingException"
      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: "[com.drew.imaging.riff.RiffReader].<init>()"
    functionSourceFile: "com.drew.imaging.riff.RiffReader"
    linkageType: ""
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 3
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.riff.RiffReader: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: "[com.drew.metadata.webp.WebpRiffHandler].<init>(com.drew.metadata.Metadata)"
    functionSourceFile: "com.drew.metadata.webp.WebpRiffHandler"
    linkageType: ""
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.Metadata"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.webp.WebpRiffHandler:52,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: "[com.drew.imaging.riff.RiffReader].processRiff(com.drew.lang.SequentialReader,com.drew.imaging.riff.RiffHandler)"
    functionSourceFile: "com.drew.imaging.riff.RiffReader"
    linkageType: ""
    functionLinenumber: 54
    functionLinenumberEnd: 77
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "com.drew.imaging.riff.RiffHandler"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.SequentialReader].setMotorolaByteOrder(boolean)"
    - "[com.drew.lang.SequentialReader].getString(int)"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[com.drew.imaging.riff.RiffProcessingException].<init>(java.lang.String)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    - "[com.drew.lang.SequentialReader].getInt32()"
    - "[com.drew.metadata.wav.WavRiffHandler].shouldAcceptRiffIdentifier(java.lang.String)"
    - "[com.drew.metadata.avi.AviRiffHandler].shouldAcceptRiffIdentifier(java.lang.String)"
    - "[com.drew.metadata.webp.WebpRiffHandler].shouldAcceptRiffIdentifier(java.lang.String)"
    - "[com.drew.imaging.riff.RiffReader].processChunks(com.drew.lang.SequentialReader,int,com.drew.imaging.riff.RiffHandler)"
    - "[com.drew.imaging.riff.RiffHandler].shouldAcceptRiffIdentifier(java.lang.String)"
    functionUses: 3
    ICount: 24
    EdgeCount: 13
    BranchProfiles:
    - Branch String: "com.drew.imaging.riff.RiffReader:61"
      Branch Sides:
      - BranchSide: "com.drew.imaging.riff.RiffReader:65"
        BranchSideFuncs:
        - "<init>()"
        - "append(java.lang.String)"
        - "toString()"
        - "<init>(java.lang.String)"
      - BranchSide: "com.drew.imaging.riff.RiffReader:64"
        BranchSideFuncs:
        - "getInt32()"
        - "shouldAcceptRiffIdentifier(java.lang.String)"
        - "getString(int)"
    - Branch String: "com.drew.imaging.riff.RiffReader:71"
      Branch Sides:
      - BranchSide: "com.drew.imaging.riff.RiffReader:75"
        BranchSideFuncs: []
      - BranchSide: "com.drew.imaging.riff.RiffReader:74"
        BranchSideFuncs:
        - "processChunks(com.drew.lang.SequentialReader,int,com.drew.imaging.riff.RiffHandler)"
    Callsites:
    - Src: "com.drew.imaging.riff.RiffReader:55,1"
      Dst: "[com.drew.lang.SequentialReader].setMotorolaByteOrder(boolean)"
    - Src: "com.drew.imaging.riff.RiffReader:59,1"
      Dst: "[com.drew.lang.SequentialReader].getString(int)"
    - Src: "com.drew.imaging.riff.RiffReader:61,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "com.drew.imaging.riff.RiffReader:62,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.imaging.riff.RiffReader:62,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.imaging.riff.RiffReader:62,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "com.drew.imaging.riff.RiffReader:62,1"
      Dst: "[com.drew.imaging.riff.RiffProcessingException].<init>(java.lang.String)"
    - Src: "com.drew.imaging.riff.RiffReader:65,1"
      Dst: "[com.drew.lang.SequentialReader].getInt32()"
    - Src: "com.drew.imaging.riff.RiffReader:71,1"
      Dst: "[com.drew.imaging.riff.RiffHandler].shouldAcceptRiffIdentifier(java.lang.String)"
    - Src: "com.drew.imaging.riff.RiffReader:75,1"
      Dst: "[com.drew.imaging.riff.RiffReader].processChunks(com.drew.lang.SequentialReader,int,com.drew.imaging.riff.RiffHandler)"
    JavaMethodInfo:
      exceptions:
      - "com.drew.imaging.riff.RiffProcessingException"
      - "java.io.IOException"
      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: "[com.drew.imaging.riff.RiffProcessingException].<init>(java.lang.String)"
    functionSourceFile: "com.drew.imaging.riff.RiffProcessingException"
    linkageType: ""
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.imaging.ImageProcessingException].<init>(java.lang.String)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.riff.RiffProcessingException:38,1"
      Dst: "[com.drew.imaging.ImageProcessingException].<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: "[com.drew.imaging.riff.RiffReader].processChunks(com.drew.lang.SequentialReader,int,com.drew.imaging.riff.RiffHandler)"
    functionSourceFile: "com.drew.imaging.riff.RiffReader"
    linkageType: ""
    functionLinenumber: 80
    functionLinenumberEnd: 124
    functionDepth: 1
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "int"
    - "com.drew.imaging.riff.RiffHandler"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.StreamReader].getPosition()"
    - "[java.lang.String].<init>(byte[])"
    - "[com.drew.lang.SequentialByteArrayReader].getBytes(int)"
    - "[com.drew.lang.StreamReader].getBytes(int)"
    - "[com.drew.lang.SequentialReader].getInt32()"
    - "[java.lang.StringBuilder].<init>()"
    - "[com.drew.metadata.webp.WebpRiffHandler].addError(java.lang.String)"
    - "[com.drew.metadata.wav.WavRiffHandler].addError(java.lang.String)"
    - "[com.drew.metadata.avi.AviRiffHandler].addError(java.lang.String)"
    - "[java.lang.StringBuilder].append(int)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[com.drew.metadata.wav.WavRiffHandler].shouldAcceptList(java.lang.String)"
    - "[com.drew.metadata.avi.AviRiffHandler].shouldAcceptList(java.lang.String)"
    - "[com.drew.imaging.riff.RiffReader].processChunks(com.drew.lang.SequentialReader,int,com.drew.imaging.riff.RiffHandler)"
    - "[com.drew.lang.StreamReader].skip(long)"
    - "[com.drew.lang.SequentialByteArrayReader].skip(long)"
    - "[com.drew.metadata.webp.WebpRiffHandler].processChunk(java.lang.String,byte[])"
    - "[com.drew.metadata.avi.AviRiffHandler].processChunk(java.lang.String,byte[])"
    - "[com.drew.metadata.wav.WavRiffHandler].processChunk(java.lang.String,byte[])"
    - "[com.drew.metadata.avi.AviRiffHandler].shouldAcceptChunk(java.lang.String)"
    - "[com.drew.metadata.webp.WebpRiffHandler].shouldAcceptChunk(java.lang.String)"
    - "[com.drew.metadata.wav.WavRiffHandler].shouldAcceptChunk(java.lang.String)"
    - "[java.io.InvalidClassException:java.lang.Throwable:java.nio.file.FileSystemException].getMessage()"
    - "[com.drew.lang.SequentialReader].getPosition()"
    - "[com.drew.lang.SequentialReader].getBytes(int)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[com.drew.imaging.riff.RiffHandler].addError(java.lang.String)"
    - "[com.drew.imaging.riff.RiffHandler].shouldAcceptList(java.lang.String)"
    - "[com.drew.lang.SequentialReader].skip(long)"
    - "[com.drew.imaging.riff.RiffHandler].processChunk(java.lang.String,byte[])"
    - "[com.drew.imaging.riff.RiffHandler].shouldAcceptChunk(java.lang.String)"
    - "[java.lang.Throwable].getMessage()"
    functionUses: 2
    ICount: 67
    EdgeCount: 51
    BranchProfiles:
    - Branch String: "com.drew.imaging.riff.RiffReader:81"
      Branch Sides:
      - BranchSide: "com.drew.imaging.riff.RiffReader:122"
        BranchSideFuncs:
        - "getInt32()"
      - BranchSide: "com.drew.imaging.riff.RiffReader:121"
        BranchSideFuncs: []
    - Branch String: "com.drew.imaging.riff.RiffReader:84"
      Branch Sides:
      - BranchSide: "com.drew.imaging.riff.RiffReader:88"
        BranchSideFuncs:
        - "toString()"
        - "append(int)"
        - "<init>()"
      - BranchSide: "com.drew.imaging.riff.RiffReader:87"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "com.drew.imaging.riff.RiffReader:88"
      Branch Sides:
      - BranchSide: "com.drew.imaging.riff.RiffReader:89"
        BranchSideFuncs:
        - "<init>(byte[])"
      - BranchSide: "com.drew.imaging.riff.RiffReader:88"
        BranchSideFuncs:
        - "<init>(byte[])"
    - Branch String: "com.drew.imaging.riff.RiffReader:88"
      Branch Sides:
      - BranchSide: "com.drew.imaging.riff.RiffReader:88"
        BranchSideFuncs:
        - "<init>(byte[])"
      - BranchSide: "com.drew.imaging.riff.RiffReader:87"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "com.drew.imaging.riff.RiffReader:90"
      Branch Sides:
      - BranchSide: "com.drew.imaging.riff.RiffReader:93"
        BranchSideFuncs: []
      - BranchSide: "com.drew.imaging.riff.RiffReader:92"
        BranchSideFuncs:
        - "shouldAcceptList(java.lang.String)"
    - Branch String: "com.drew.imaging.riff.RiffReader:93"
      Branch Sides:
      - BranchSide: "com.drew.imaging.riff.RiffReader:96"
        BranchSideFuncs:
        - "processChunks(com.drew.lang.SequentialReader,int,com.drew.imaging.riff.RiffHandler)"
      - BranchSide: "com.drew.imaging.riff.RiffReader:95"
        BranchSideFuncs: []
    - Branch String: "com.drew.imaging.riff.RiffReader:88"
      Branch Sides:
      - BranchSide: "com.drew.imaging.riff.RiffReader:108"
        BranchSideFuncs:
        - "<init>(byte[])"
      - BranchSide: "com.drew.imaging.riff.RiffReader:107"
        BranchSideFuncs:
        - "shouldAcceptChunk(java.lang.String)"
    - Branch String: "com.drew.imaging.riff.RiffReader:101"
      Branch Sides:
      - BranchSide: "com.drew.imaging.riff.RiffReader:104"
        BranchSideFuncs: []
      - BranchSide: "com.drew.imaging.riff.RiffReader:103"
        BranchSideFuncs: []
    - Branch String: "com.drew.imaging.riff.RiffReader:108"
      Branch Sides:
      - BranchSide: "com.drew.imaging.riff.RiffReader:111"
        BranchSideFuncs: []
    - Branch String: "com.drew.imaging.riff.RiffReader:115"
      Branch Sides:
      - BranchSide: "com.drew.imaging.riff.RiffReader:119"
        BranchSideFuncs:
        - "skip(long)"
      - BranchSide: "com.drew.imaging.riff.RiffReader:118"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.imaging.riff.RiffReader:81,1"
      Dst: "[com.drew.lang.SequentialReader].getPosition()"
    - Src: "com.drew.imaging.riff.RiffReader:82,1"
      Dst: "[com.drew.lang.SequentialReader].getBytes(int)"
    - Src: "com.drew.imaging.riff.RiffReader:82,1"
      Dst: "[java.lang.String].<init>(byte[])"
    - Src: "com.drew.imaging.riff.RiffReader:83,1"
      Dst: "[com.drew.lang.SequentialReader].getInt32()"
    - Src: "com.drew.imaging.riff.RiffReader:85,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.imaging.riff.RiffReader:85,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.imaging.riff.RiffReader:85,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    - Src: "com.drew.imaging.riff.RiffReader:85,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "com.drew.imaging.riff.RiffReader:85,1"
      Dst: "[com.drew.imaging.riff.RiffHandler].addError(java.lang.String)"
    - Src: "com.drew.imaging.riff.RiffReader:88,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "com.drew.imaging.riff.RiffReader:93,1"
      Dst: "[com.drew.imaging.riff.RiffHandler].shouldAcceptList(java.lang.String)"
    - Src: "com.drew.imaging.riff.RiffReader:94,1"
      Dst: "[com.drew.imaging.riff.RiffReader].processChunks(com.drew.lang.SequentialReader,int,com.drew.imaging.riff.RiffHandler)"
    - Src: "com.drew.imaging.riff.RiffReader:96,1"
      Dst: "[com.drew.lang.SequentialReader].skip(long)"
    - Src: "com.drew.imaging.riff.RiffReader:104,1"
      Dst: "[com.drew.imaging.riff.RiffHandler].processChunk(java.lang.String,byte[])"
    - Src: "com.drew.imaging.riff.RiffReader:108,1"
      Dst: "[com.drew.imaging.riff.RiffHandler].shouldAcceptChunk(java.lang.String)"
    - Src: "com.drew.imaging.riff.RiffReader:121,1"
      Dst: "[java.lang.Throwable].getMessage()"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 25
    CyclomaticComplexity: 11
  - functionName: "[com.drew.imaging.avi.AviMetadataReader].readMetadata(java.io.InputStream)"
    functionSourceFile: "com.drew.imaging.avi.AviMetadataReader"
    linkageType: ""
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionDepth: 5
    returnType: "com.drew.metadata.Metadata"
    argCount: 1
    argTypes:
    - "java.io.InputStream"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Metadata].<init>()"
    - "[com.drew.metadata.avi.AviRiffHandler].<init>(com.drew.metadata.Metadata)"
    - "[com.drew.lang.StreamReader].<init>(java.io.InputStream)"
    - "[com.drew.imaging.riff.RiffReader].<init>()"
    - "[com.drew.imaging.riff.RiffReader].processRiff(com.drew.lang.SequentialReader,com.drew.imaging.riff.RiffHandler)"
    functionUses: 1
    ICount: 11
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.avi.AviMetadataReader:60,1"
      Dst: "[com.drew.metadata.Metadata].<init>()"
    - Src: "com.drew.imaging.avi.AviMetadataReader:61,1"
      Dst: "[com.drew.imaging.riff.RiffReader].<init>()"
    - Src: "com.drew.imaging.avi.AviMetadataReader:61,1"
      Dst: "[com.drew.lang.StreamReader].<init>(java.io.InputStream)"
    - Src: "com.drew.imaging.avi.AviMetadataReader:61,1"
      Dst: "[com.drew.metadata.avi.AviRiffHandler].<init>(com.drew.metadata.Metadata)"
    - Src: "com.drew.imaging.avi.AviMetadataReader:61,1"
      Dst: "[com.drew.imaging.riff.RiffReader].processRiff(com.drew.lang.SequentialReader,com.drew.imaging.riff.RiffHandler)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      - "com.drew.imaging.riff.RiffProcessingException"
      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: "[com.drew.metadata.avi.AviDirectory].<init>()"
    functionSourceFile: "com.drew.metadata.avi.AviDirectory"
    linkageType: ""
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].<init>()"
    - "[com.drew.metadata.avi.AviDescriptor].<init>(com.drew.metadata.avi.AviDirectory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 1
    ICount: 6
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.avi.AviDirectory:73,1"
      Dst: "[com.drew.metadata.Directory].<init>()"
    - Src: "com.drew.metadata.avi.AviDirectory:74,1"
      Dst: "[com.drew.metadata.avi.AviDescriptor].<init>(com.drew.metadata.avi.AviDirectory)"
    - Src: "com.drew.metadata.avi.AviDirectory:74,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.imaging.wav.WavMetadataReader].readMetadata(java.io.InputStream)"
    functionSourceFile: "com.drew.imaging.wav.WavMetadataReader"
    linkageType: ""
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionDepth: 5
    returnType: "com.drew.metadata.Metadata"
    argCount: 1
    argTypes:
    - "java.io.InputStream"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Metadata].<init>()"
    - "[com.drew.metadata.wav.WavRiffHandler].<init>(com.drew.metadata.Metadata)"
    - "[com.drew.lang.StreamReader].<init>(java.io.InputStream)"
    - "[com.drew.imaging.riff.RiffReader].<init>()"
    - "[com.drew.imaging.riff.RiffReader].processRiff(com.drew.lang.SequentialReader,com.drew.imaging.riff.RiffHandler)"
    functionUses: 1
    ICount: 11
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.wav.WavMetadataReader:60,1"
      Dst: "[com.drew.metadata.Metadata].<init>()"
    - Src: "com.drew.imaging.wav.WavMetadataReader:61,1"
      Dst: "[com.drew.imaging.riff.RiffReader].<init>()"
    - Src: "com.drew.imaging.wav.WavMetadataReader:61,1"
      Dst: "[com.drew.lang.StreamReader].<init>(java.io.InputStream)"
    - Src: "com.drew.imaging.wav.WavMetadataReader:61,1"
      Dst: "[com.drew.metadata.wav.WavRiffHandler].<init>(com.drew.metadata.Metadata)"
    - Src: "com.drew.imaging.wav.WavMetadataReader:61,1"
      Dst: "[com.drew.imaging.riff.RiffReader].processRiff(com.drew.lang.SequentialReader,com.drew.imaging.riff.RiffHandler)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      - "com.drew.imaging.riff.RiffProcessingException"
      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: "[com.drew.imaging.mp4.Mp4MetadataReader].readMetadata(java.io.InputStream)"
    functionSourceFile: "com.drew.imaging.mp4.Mp4MetadataReader"
    linkageType: ""
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionDepth: 1
    returnType: "com.drew.metadata.Metadata"
    argCount: 1
    argTypes:
    - "java.io.InputStream"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Metadata].<init>()"
    - "[com.drew.metadata.mp4.Mp4BoxHandler].<init>(com.drew.metadata.Metadata)"
    - "[com.drew.imaging.mp4.Mp4Reader].extract(java.io.InputStream,com.drew.imaging.mp4.Mp4Handler)"
    functionUses: 1
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.mp4.Mp4MetadataReader:55,1"
      Dst: "[com.drew.metadata.Metadata].<init>()"
    - Src: "com.drew.imaging.mp4.Mp4MetadataReader:56,1"
      Dst: "[com.drew.metadata.mp4.Mp4BoxHandler].<init>(com.drew.metadata.Metadata)"
    - Src: "com.drew.imaging.mp4.Mp4MetadataReader:56,1"
      Dst: "[com.drew.imaging.mp4.Mp4Reader].extract(java.io.InputStream,com.drew.imaging.mp4.Mp4Handler)"
    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: "[com.drew.metadata.mp4.Mp4BoxHandler].<init>(com.drew.metadata.Metadata)"
    functionSourceFile: "com.drew.metadata.mp4.Mp4BoxHandler"
    linkageType: ""
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.Metadata"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.imaging.mp4.Mp4Handler].<init>(com.drew.metadata.Metadata)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mp4.Mp4BoxHandler:49,1"
      Dst: "[com.drew.imaging.mp4.Mp4Handler].<init>(com.drew.metadata.Metadata)"
    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: "[com.drew.imaging.eps.EpsMetadataReader].readMetadata(java.io.InputStream)"
    functionSourceFile: "com.drew.imaging.eps.EpsMetadataReader"
    linkageType: ""
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionDepth: 11
    returnType: "com.drew.metadata.Metadata"
    argCount: 1
    argTypes:
    - "java.io.InputStream"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Metadata].<init>()"
    - "[com.drew.metadata.eps.EpsReader].<init>()"
    - "[com.drew.metadata.eps.EpsReader].extract(java.io.InputStream,com.drew.metadata.Metadata)"
    functionUses: 1
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.eps.EpsMetadataReader:39,1"
      Dst: "[com.drew.metadata.Metadata].<init>()"
    - Src: "com.drew.imaging.eps.EpsMetadataReader:40,1"
      Dst: "[com.drew.metadata.eps.EpsReader].<init>()"
    - Src: "com.drew.imaging.eps.EpsMetadataReader:40,1"
      Dst: "[com.drew.metadata.eps.EpsReader].extract(java.io.InputStream,com.drew.metadata.Metadata)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.eps.EpsReader].<init>()"
    functionSourceFile: "com.drew.metadata.eps.EpsReader"
    linkageType: ""
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.eps.EpsReader:42,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: "[com.drew.metadata.eps.EpsReader].extract(java.io.InputStream,com.drew.metadata.Metadata)"
    functionSourceFile: "com.drew.metadata.eps.EpsReader"
    linkageType: ""
    functionLinenumber: 55
    functionLinenumberEnd: 104
    functionDepth: 10
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.io.InputStream"
    - "com.drew.metadata.Metadata"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.RandomAccessStreamReader].<init>(java.io.InputStream)"
    - "[com.drew.metadata.eps.EpsDirectory].<init>()"
    - "[com.drew.metadata.Metadata].addDirectory(com.drew.metadata.Directory)"
    - "[com.drew.lang.RandomAccessReader].getInt32(int)"
    - "[com.drew.lang.RandomAccessReader].setMotorolaByteOrder(boolean)"
    - "[com.drew.metadata.Directory].setInt(int,int)"
    - "[com.drew.lang.ByteArrayReader].<init>(byte[])"
    - "[com.drew.lang.RandomAccessStreamReader].getBytes(int,int)"
    - "[com.drew.metadata.photoshop.PhotoshopTiffHandler].<init>(com.drew.metadata.Metadata,com.drew.metadata.Directory)"
    - "[com.drew.imaging.tiff.TiffReader].<init>()"
    - "[com.drew.imaging.tiff.TiffReader].processTiff(com.drew.lang.RandomAccessReader,com.drew.imaging.tiff.TiffHandler,int)"
    - "[java.lang.StringBuilder].<init>()"
    - "[com.drew.metadata.Directory].addError(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.Throwable].getMessage()"
    - "[java.io.BufferedInputStream:java.io.ByteArrayInputStream:java.io.FilterInputStream:java.lang.StringBuilder:java.util.zip.InflaterInputStream].toString()"
    - "[com.drew.lang.SequentialByteArrayReader].<init>(byte[])"
    - "[com.drew.metadata.eps.EpsReader].extract(com.drew.metadata.eps.EpsDirectory,com.drew.metadata.Metadata,com.drew.lang.SequentialReader)"
    - "[java.io.InputStream].reset()"
    - "[com.drew.lang.StreamReader].<init>(java.io.InputStream)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 53
    EdgeCount: 32
    BranchProfiles:
    - Branch String: "com.drew.metadata.eps.EpsReader:77"
      Branch Sides:
      - BranchSide: "com.drew.metadata.eps.EpsReader:87"
        BranchSideFuncs:
        - "<init>(com.drew.metadata.Metadata,com.drew.metadata.Directory)"
        - "append(java.lang.String)"
        - "toString()"
        - "getMessage()"
        - "processTiff(com.drew.lang.RandomAccessReader,com.drew.imaging.tiff.TiffHandler,int)"
        - "<init>()"
      - BranchSide: "com.drew.metadata.eps.EpsReader:86"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.eps.EpsReader:87"
      Branch Sides:
      - BranchSide: "com.drew.metadata.eps.EpsReader:93"
        BranchSideFuncs:
        - "setInt(int,int)"
      - BranchSide: "com.drew.metadata.eps.EpsReader:92"
        BranchSideFuncs:
        - "getBytes(int,int)"
        - "<init>(byte[])"
    Callsites:
    - Src: "com.drew.metadata.eps.EpsReader:56,1"
      Dst: "[com.drew.lang.RandomAccessStreamReader].<init>(java.io.InputStream)"
    - Src: "com.drew.metadata.eps.EpsReader:57,1"
      Dst: "[com.drew.metadata.eps.EpsDirectory].<init>()"
    - Src: "com.drew.metadata.eps.EpsReader:58,1"
      Dst: "[com.drew.metadata.Metadata].addDirectory(com.drew.metadata.Directory)"
    - Src: "com.drew.metadata.eps.EpsReader:65,1"
      Dst: "[com.drew.lang.RandomAccessReader].getInt32(int)"
    - Src: "com.drew.metadata.eps.EpsReader:67,1"
      Dst: "[com.drew.lang.RandomAccessReader].setMotorolaByteOrder(boolean)"
    - Src: "com.drew.metadata.eps.EpsReader:78,1"
      Dst: "[com.drew.metadata.Directory].setInt(int,int)"
    - Src: "com.drew.metadata.eps.EpsReader:82,1"
      Dst: "[com.drew.lang.RandomAccessStreamReader].getBytes(int,int)"
    - Src: "com.drew.metadata.eps.EpsReader:82,1"
      Dst: "[com.drew.lang.ByteArrayReader].<init>(byte[])"
    - Src: "com.drew.metadata.eps.EpsReader:83,1"
      Dst: "[com.drew.imaging.tiff.TiffReader].<init>()"
    - Src: "com.drew.metadata.eps.EpsReader:83,1"
      Dst: "[com.drew.metadata.photoshop.PhotoshopTiffHandler].<init>(com.drew.metadata.Metadata,com.drew.metadata.Directory)"
    - Src: "com.drew.metadata.eps.EpsReader:83,1"
      Dst: "[com.drew.imaging.tiff.TiffReader].processTiff(com.drew.lang.RandomAccessReader,com.drew.imaging.tiff.TiffHandler,int)"
    - Src: "com.drew.metadata.eps.EpsReader:85,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.eps.EpsReader:85,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.eps.EpsReader:85,1"
      Dst: "[java.lang.Throwable].getMessage()"
    - Src: "com.drew.metadata.eps.EpsReader:85,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "com.drew.metadata.eps.EpsReader:85,1"
      Dst: "[com.drew.metadata.Directory].addError(java.lang.String)"
    - Src: "com.drew.metadata.eps.EpsReader:93,1"
      Dst: "[com.drew.lang.SequentialByteArrayReader].<init>(byte[])"
    - Src: "com.drew.metadata.eps.EpsReader:93,1"
      Dst: "[com.drew.metadata.eps.EpsReader].extract(com.drew.metadata.eps.EpsDirectory,com.drew.metadata.Metadata,com.drew.lang.SequentialReader)"
    - Src: "com.drew.metadata.eps.EpsReader:96,1"
      Dst: "[java.io.InputStream].reset()"
    - Src: "com.drew.metadata.eps.EpsReader:97,1"
      Dst: "[com.drew.lang.StreamReader].<init>(java.io.InputStream)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.eps.EpsDirectory].<init>()"
    functionSourceFile: "com.drew.metadata.eps.EpsDirectory"
    linkageType: ""
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].<init>()"
    - "[com.drew.metadata.eps.EpsDescriptor].<init>(com.drew.metadata.eps.EpsDirectory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 1
    ICount: 6
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.eps.EpsDirectory:147,1"
      Dst: "[com.drew.metadata.Directory].<init>()"
    - Src: "com.drew.metadata.eps.EpsDirectory:148,1"
      Dst: "[com.drew.metadata.eps.EpsDescriptor].<init>(com.drew.metadata.eps.EpsDirectory)"
    - Src: "com.drew.metadata.eps.EpsDirectory:148,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.eps.EpsDescriptor].<init>(com.drew.metadata.eps.EpsDirectory)"
    functionSourceFile: "com.drew.metadata.eps.EpsDescriptor"
    linkageType: ""
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.eps.EpsDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.eps.EpsDescriptor:17,1"
      Dst: "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    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: "[com.drew.lang.RandomAccessStreamReader].getBytes(int,int)"
    functionSourceFile: "com.drew.lang.RandomAccessStreamReader"
    linkageType: ""
    functionLinenumber: 190
    functionLinenumberEnd: 214
    functionDepth: 3
    returnType: "byte[]"
    argCount: 2
    argTypes:
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.RandomAccessStreamReader].validateIndex(int,int)"
    - "[java.lang.Math].min(int,int)"
    - "[java.util.ArrayList].get(int)"
    - "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    functionUses: 25
    ICount: 25
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.drew.lang.RandomAccessStreamReader:199"
      Branch Sides:
      - BranchSide: "com.drew.lang.RandomAccessStreamReader:213"
        BranchSideFuncs:
        - "arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
        - "min(int,int)"
        - "get(int)"
      - BranchSide: "com.drew.lang.RandomAccessStreamReader:212"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.lang.RandomAccessStreamReader:191,1"
      Dst: "[com.drew.lang.RandomAccessStreamReader].validateIndex(int,int)"
    - Src: "com.drew.lang.RandomAccessStreamReader:202,1"
      Dst: "[java.lang.Math].min(int,int)"
    - Src: "com.drew.lang.RandomAccessStreamReader:204,1"
      Dst: "[java.util.ArrayList].get(int)"
    - Src: "com.drew.lang.RandomAccessStreamReader:206,1"
      Dst: "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.lang.RandomAccessStreamReader].validateIndex(int,int)"
    functionSourceFile: "com.drew.lang.RandomAccessStreamReader"
    linkageType: ""
    functionLinenumber: 98
    functionLinenumberEnd: 113
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.BufferBoundsException].<init>(java.lang.String)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.lang.Integer].valueOf(int)"
    - "[com.drew.lang.RandomAccessStreamReader].isValidIndex(int,int)"
    - "[java.lang.AssertionError].<init>()"
    - "[com.drew.lang.BufferBoundsException].<init>(int,int,long)"
    functionUses: 11
    ICount: 45
    EdgeCount: 11
    BranchProfiles:
    - Branch String: "com.drew.lang.RandomAccessStreamReader:99"
      Branch Sides:
      - BranchSide: "com.drew.lang.RandomAccessStreamReader:101"
        BranchSideFuncs: []
      - BranchSide: "com.drew.lang.RandomAccessStreamReader:100"
        BranchSideFuncs: []
    - Branch String: "com.drew.lang.RandomAccessStreamReader:101"
      Branch Sides:
      - BranchSide: "com.drew.lang.RandomAccessStreamReader:103"
        BranchSideFuncs: []
      - BranchSide: "com.drew.lang.RandomAccessStreamReader:102"
        BranchSideFuncs: []
    - Branch String: "com.drew.lang.RandomAccessStreamReader:103"
      Branch Sides:
      - BranchSide: "com.drew.lang.RandomAccessStreamReader:107"
        BranchSideFuncs:
        - "format(java.lang.String,java.lang.Object[])"
        - "valueOf(int)"
        - "<init>(java.lang.String)"
      - BranchSide: "com.drew.lang.RandomAccessStreamReader:106"
        BranchSideFuncs:
        - "isValidIndex(int,int)"
    - Branch String: "com.drew.lang.RandomAccessStreamReader:107"
      Branch Sides:
      - BranchSide: "com.drew.lang.RandomAccessStreamReader:112"
        BranchSideFuncs:
        - "<init>()"
      - BranchSide: "com.drew.lang.RandomAccessStreamReader:111"
        BranchSideFuncs: []
    - Branch String: "com.drew.lang.RandomAccessStreamReader:108"
      Branch Sides:
      - BranchSide: "com.drew.lang.RandomAccessStreamReader:109"
        BranchSideFuncs:
        - "<init>(int,int,long)"
    - Branch String: "com.drew.lang.RandomAccessStreamReader:108"
      Branch Sides:
      - BranchSide: "com.drew.lang.RandomAccessStreamReader:109"
        BranchSideFuncs:
        - "<init>(int,int,long)"
    Callsites:
    - Src: "com.drew.lang.RandomAccessStreamReader:100,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.drew.lang.RandomAccessStreamReader:100,1"
      Dst: "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - Src: "com.drew.lang.RandomAccessStreamReader:100,1"
      Dst: "[com.drew.lang.BufferBoundsException].<init>(java.lang.String)"
    - Src: "com.drew.lang.RandomAccessStreamReader:107,1"
      Dst: "[com.drew.lang.RandomAccessStreamReader].isValidIndex(int,int)"
    - Src: "com.drew.lang.RandomAccessStreamReader:108,1"
      Dst: "[java.lang.AssertionError].<init>()"
    - Src: "com.drew.lang.RandomAccessStreamReader:110,1"
      Dst: "[com.drew.lang.BufferBoundsException].<init>(int,int,long)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 12
    CyclomaticComplexity: 2
  - functionName: "[com.drew.lang.BufferBoundsException].<init>(java.lang.String)"
    functionSourceFile: "com.drew.lang.BufferBoundsException"
    linkageType: ""
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.IOException].<init>(java.lang.String)"
    functionUses: 5
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.lang.BufferBoundsException:42,1"
      Dst: "[java.io.IOException].<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: "[com.drew.lang.RandomAccessStreamReader].isValidIndex(int,int)"
    functionSourceFile: "com.drew.lang.RandomAccessStreamReader"
    linkageType: ""
    functionLinenumber: 116
    functionLinenumberEnd: 167
    functionDepth: 0
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].size()"
    - "[java.lang.AssertionError].<init>()"
    - "[java.io.FileInputStream].read(byte[],int,int)"
    - "[java.io.DataInputStream].read(byte[],int,int)"
    - "[java.io.ByteArrayInputStream].read(byte[],int,int)"
    - "[java.util.zip.ZipInputStream].read(byte[],int,int)"
    - "[java.io.ObjectInputStream].read(byte[],int,int)"
    - "[java.io.InputStream].read(byte[],int,int)"
    - "[java.lang.ProcessImpl$DeferredCloseInputStream].read(byte[],int,int)"
    - "[java.util.jar.JarInputStream].read(byte[],int,int)"
    - "[java.io.InputStream$1].read(byte[],int,int)"
    - "[java.io.FilterInputStream].read(byte[],int,int)"
    - "[java.io.ObjectInputStream$PeekInputStream].read(byte[],int,int)"
    - "[java.util.zip.InflaterInputStream].read(byte[],int,int)"
    - "[java.io.BufferedInputStream].read(byte[],int,int)"
    - "[java.util.jar.Manifest$FastInputStream].read(byte[],int,int)"
    - "[java.io.ObjectInputStream$BlockDataInputStream].read(byte[],int,int)"
    - "[java.util.ArrayList].add(java.lang.Object)"
    functionUses: 2
    ICount: 87
    EdgeCount: 21
    BranchProfiles:
    - Branch String: "com.drew.lang.RandomAccessStreamReader:117"
      Branch Sides:
      - BranchSide: "com.drew.lang.RandomAccessStreamReader:118"
        BranchSideFuncs: []
      - BranchSide: "com.drew.lang.RandomAccessStreamReader:117"
        BranchSideFuncs: []
    - Branch String: "com.drew.lang.RandomAccessStreamReader:117"
      Branch Sides:
      - BranchSide: "com.drew.lang.RandomAccessStreamReader:121"
        BranchSideFuncs: []
      - BranchSide: "com.drew.lang.RandomAccessStreamReader:120"
        BranchSideFuncs: []
    - Branch String: "com.drew.lang.RandomAccessStreamReader:123"
      Branch Sides:
      - BranchSide: "com.drew.lang.RandomAccessStreamReader:127"
        BranchSideFuncs: []
      - BranchSide: "com.drew.lang.RandomAccessStreamReader:126"
        BranchSideFuncs: []
    - Branch String: "com.drew.lang.RandomAccessStreamReader:129"
      Branch Sides:
      - BranchSide: "com.drew.lang.RandomAccessStreamReader:133"
        BranchSideFuncs: []
      - BranchSide: "com.drew.lang.RandomAccessStreamReader:132"
        BranchSideFuncs: []
    - Branch String: "com.drew.lang.RandomAccessStreamReader:130"
      Branch Sides:
      - BranchSide: "com.drew.lang.RandomAccessStreamReader:129"
        BranchSideFuncs: []
    - Branch String: "com.drew.lang.RandomAccessStreamReader:136"
      Branch Sides:
      - BranchSide: "com.drew.lang.RandomAccessStreamReader:166"
        BranchSideFuncs: []
      - BranchSide: "com.drew.lang.RandomAccessStreamReader:165"
        BranchSideFuncs: []
    - Branch String: "com.drew.lang.RandomAccessStreamReader:137"
      Branch Sides:
      - BranchSide: "com.drew.lang.RandomAccessStreamReader:138"
        BranchSideFuncs: []
    - Branch String: "com.drew.lang.RandomAccessStreamReader:137"
      Branch Sides:
      - BranchSide: "com.drew.lang.RandomAccessStreamReader:138"
        BranchSideFuncs: []
    - Branch String: "com.drew.lang.RandomAccessStreamReader:141"
      Branch Sides:
      - BranchSide: "com.drew.lang.RandomAccessStreamReader:163"
        BranchSideFuncs:
        - "read(byte[],int,int)"
      - BranchSide: "com.drew.lang.RandomAccessStreamReader:162"
        BranchSideFuncs:
        - "add(java.lang.Object)"
    - Branch String: "com.drew.lang.RandomAccessStreamReader:141"
      Branch Sides:
      - BranchSide: "com.drew.lang.RandomAccessStreamReader:163"
        BranchSideFuncs:
        - "read(byte[],int,int)"
      - BranchSide: "com.drew.lang.RandomAccessStreamReader:162"
        BranchSideFuncs:
        - "add(java.lang.Object)"
    - Branch String: "com.drew.lang.RandomAccessStreamReader:143"
      Branch Sides:
      - BranchSide: "com.drew.lang.RandomAccessStreamReader:158"
        BranchSideFuncs: []
    - Branch String: "com.drew.lang.RandomAccessStreamReader:147"
      Branch Sides:
      - BranchSide: "com.drew.lang.RandomAccessStreamReader:149"
        BranchSideFuncs: []
      - BranchSide: "com.drew.lang.RandomAccessStreamReader:148"
        BranchSideFuncs: []
    - Branch String: "com.drew.lang.RandomAccessStreamReader:149"
      Branch Sides:
      - BranchSide: "com.drew.lang.RandomAccessStreamReader:154"
        BranchSideFuncs:
        - "<init>()"
      - BranchSide: "com.drew.lang.RandomAccessStreamReader:153"
        BranchSideFuncs: []
    - Branch String: "com.drew.lang.RandomAccessStreamReader:150"
      Branch Sides:
      - BranchSide: "com.drew.lang.RandomAccessStreamReader:153"
        BranchSideFuncs: []
    - Branch String: "com.drew.lang.RandomAccessStreamReader:154"
      Branch Sides:
      - BranchSide: "com.drew.lang.RandomAccessStreamReader:158"
        BranchSideFuncs: []
      - BranchSide: "com.drew.lang.RandomAccessStreamReader:157"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.lang.RandomAccessStreamReader:136,1"
      Dst: "[java.util.ArrayList].size()"
    - Src: "com.drew.lang.RandomAccessStreamReader:137,1"
      Dst: "[java.lang.AssertionError].<init>()"
    - Src: "com.drew.lang.RandomAccessStreamReader:142,1"
      Dst: "[java.io.InputStream].read(byte[],int,int)"
    - Src: "com.drew.lang.RandomAccessStreamReader:155,1"
      Dst: "[java.util.ArrayList].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 31
    CyclomaticComplexity: 10
  - functionName: "[com.drew.metadata.photoshop.PhotoshopTiffHandler].<init>(com.drew.metadata.Metadata,com.drew.metadata.Directory)"
    functionSourceFile: "com.drew.metadata.photoshop.PhotoshopTiffHandler"
    linkageType: ""
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.metadata.Metadata"
    - "com.drew.metadata.Directory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.ExifTiffHandler].<init>(com.drew.metadata.Metadata,com.drew.metadata.Directory,int)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.photoshop.PhotoshopTiffHandler:36,1"
      Dst: "[com.drew.metadata.exif.ExifTiffHandler].<init>(com.drew.metadata.Metadata,com.drew.metadata.Directory,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: "[com.drew.metadata.eps.EpsReader].extract(com.drew.metadata.eps.EpsDirectory,com.drew.metadata.Metadata,com.drew.lang.SequentialReader)"
    functionSourceFile: "com.drew.metadata.eps.EpsReader"
    linkageType: ""
    functionLinenumber: 114
    functionLinenumberEnd: 157
    functionDepth: 9
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.drew.metadata.eps.EpsDirectory"
    - "com.drew.metadata.Metadata"
    - "com.drew.lang.SequentialReader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].setLength(int)"
    - "[com.drew.lang.StreamReader].getByte()"
    - "[com.drew.lang.SequentialByteArrayReader].getByte()"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].charAt(int)"
    - "[java.lang.StringBuilder].length()"
    - "[java.lang.StringBuilder].indexOf(java.lang.String)"
    - "[java.lang.StringBuilder].substring(int,int)"
    - "[java.lang.String].trim()"
    - "[java.lang.StringBuilder].substring(int)"
    - "[com.drew.metadata.eps.EpsReader].addToDirectory(com.drew.metadata.eps.EpsDirectory,java.lang.String,java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[com.drew.metadata.eps.EpsReader].extractPhotoshopData(com.drew.metadata.Metadata,com.drew.lang.SequentialReader)"
    - "[com.drew.metadata.eps.EpsReader].extractIccData(com.drew.metadata.Metadata,com.drew.lang.SequentialReader)"
    - "[com.drew.metadata.eps.EpsReader].extractXmpData(com.drew.metadata.Metadata,com.drew.lang.SequentialReader)"
    - "[com.drew.lang.SequentialReader].getByte()"
    functionUses: 2
    ICount: 48
    EdgeCount: 21
    BranchProfiles:
    - Branch String: "com.drew.metadata.eps.EpsReader:125"
      Branch Sides:
      - BranchSide: "com.drew.metadata.eps.EpsReader:131"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.eps.EpsReader:130"
        BranchSideFuncs:
        - "length()"
        - "charAt(int)"
    - Branch String: "com.drew.metadata.eps.EpsReader:125"
      Branch Sides:
      - BranchSide: "com.drew.metadata.eps.EpsReader:127"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.eps.EpsReader:126"
        BranchSideFuncs:
        - "append(char)"
    - Branch String: "com.drew.metadata.eps.EpsReader:131"
      Branch Sides:
      - BranchSide: "com.drew.metadata.eps.EpsReader:138"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.eps.EpsReader:137"
        BranchSideFuncs:
        - "indexOf(java.lang.String)"
    - Branch String: "com.drew.metadata.eps.EpsReader:131"
      Branch Sides:
      - BranchSide: "com.drew.metadata.eps.EpsReader:138"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.eps.EpsReader:137"
        BranchSideFuncs:
        - "indexOf(java.lang.String)"
    - Branch String: "com.drew.metadata.eps.EpsReader:139"
      Branch Sides:
      - BranchSide: "com.drew.metadata.eps.EpsReader:144"
        BranchSideFuncs:
        - "substring(int)"
        - "addToDirectory(com.drew.metadata.eps.EpsDirectory,java.lang.String,java.lang.String)"
        - "substring(int,int)"
      - BranchSide: "com.drew.metadata.eps.EpsReader:143"
        BranchSideFuncs:
        - "toString()"
        - "trim()"
    - Branch String: "com.drew.metadata.eps.EpsReader:148"
      Branch Sides:
      - BranchSide: "com.drew.metadata.eps.EpsReader:150"
        BranchSideFuncs:
        - "extractPhotoshopData(com.drew.metadata.Metadata,com.drew.lang.SequentialReader)"
      - BranchSide: "com.drew.metadata.eps.EpsReader:149"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.eps.EpsReader:150"
      Branch Sides:
      - BranchSide: "com.drew.metadata.eps.EpsReader:152"
        BranchSideFuncs:
        - "extractIccData(com.drew.metadata.Metadata,com.drew.lang.SequentialReader)"
      - BranchSide: "com.drew.metadata.eps.EpsReader:151"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "com.drew.metadata.eps.EpsReader:152"
      Branch Sides:
      - BranchSide: "com.drew.metadata.eps.EpsReader:155"
        BranchSideFuncs:
        - "extractXmpData(com.drew.metadata.Metadata,com.drew.lang.SequentialReader)"
      - BranchSide: "com.drew.metadata.eps.EpsReader:154"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.eps.EpsReader:115,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.eps.EpsReader:118,1"
      Dst: "[java.lang.StringBuilder].setLength(int)"
    - Src: "com.drew.metadata.eps.EpsReader:124,1"
      Dst: "[com.drew.lang.SequentialReader].getByte()"
    - Src: "com.drew.metadata.eps.EpsReader:127,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "com.drew.metadata.eps.EpsReader:131,1"
      Dst: "[java.lang.StringBuilder].length()"
    - Src: "com.drew.metadata.eps.EpsReader:131,1"
      Dst: "[java.lang.StringBuilder].charAt(int)"
    - Src: "com.drew.metadata.eps.EpsReader:138,1"
      Dst: "[java.lang.StringBuilder].indexOf(java.lang.String)"
    - Src: "com.drew.metadata.eps.EpsReader:140,1"
      Dst: "[java.lang.StringBuilder].substring(int,int)"
    - Src: "com.drew.metadata.eps.EpsReader:140,1"
      Dst: "[java.lang.String].trim()"
    - Src: "com.drew.metadata.eps.EpsReader:141,1"
      Dst: "[java.lang.StringBuilder].substring(int)"
    - Src: "com.drew.metadata.eps.EpsReader:142,1"
      Dst: "[com.drew.metadata.eps.EpsReader].addToDirectory(com.drew.metadata.eps.EpsDirectory,java.lang.String,java.lang.String)"
    - Src: "com.drew.metadata.eps.EpsReader:144,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "com.drew.metadata.eps.EpsReader:148,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "com.drew.metadata.eps.EpsReader:149,1"
      Dst: "[com.drew.metadata.eps.EpsReader].extractPhotoshopData(com.drew.metadata.Metadata,com.drew.lang.SequentialReader)"
    - Src: "com.drew.metadata.eps.EpsReader:151,1"
      Dst: "[com.drew.metadata.eps.EpsReader].extractIccData(com.drew.metadata.Metadata,com.drew.lang.SequentialReader)"
    - Src: "com.drew.metadata.eps.EpsReader:153,1"
      Dst: "[com.drew.metadata.eps.EpsReader].extractXmpData(com.drew.metadata.Metadata,com.drew.lang.SequentialReader)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 20
    CyclomaticComplexity: 9
  - functionName: "[com.drew.metadata.eps.EpsReader].addToDirectory(com.drew.metadata.eps.EpsDirectory,java.lang.String,java.lang.String)"
    functionSourceFile: "com.drew.metadata.eps.EpsReader"
    linkageType: ""
    functionLinenumber: 166
    functionLinenumberEnd: 191
    functionDepth: 1
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.drew.metadata.eps.EpsDirectory"
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.HashMap].get(java.lang.Object)"
    - "[java.util.LinkedHashMap].get(java.lang.Object)"
    - "[java.lang.Integer].intValue()"
    - "[com.drew.metadata.eps.EpsReader].extractImageData(com.drew.metadata.eps.EpsDirectory,java.lang.String)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[com.drew.metadata.Directory].getString(int)"
    - "[com.drew.metadata.Directory].setString(int,java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.util.HashMap].containsKey(java.lang.Object)"
    - "[com.drew.metadata.Directory].containsTag(int)"
    functionUses: 1
    ICount: 39
    EdgeCount: 18
    BranchProfiles:
    - Branch String: "com.drew.metadata.eps.EpsReader:169"
      Branch Sides:
      - BranchSide: "com.drew.metadata.eps.EpsReader:172"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.eps.EpsReader:171"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.eps.EpsReader:180"
      Branch Sides:
      - BranchSide: "com.drew.metadata.eps.EpsReader:185"
        BranchSideFuncs:
        - "setString(int,java.lang.String)"
      - BranchSide: "com.drew.metadata.eps.EpsReader:184"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.eps.EpsReader:180"
      Branch Sides:
      - BranchSide: "com.drew.metadata.eps.EpsReader:185"
        BranchSideFuncs:
        - "setString(int,java.lang.String)"
      - BranchSide: "com.drew.metadata.eps.EpsReader:184"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.eps.EpsReader:167,1"
      Dst: "[java.util.HashMap].get(java.lang.Object)"
    - Src: "com.drew.metadata.eps.EpsReader:172,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.eps.EpsReader:174,1"
      Dst: "[com.drew.metadata.eps.EpsReader].extractImageData(com.drew.metadata.eps.EpsDirectory,java.lang.String)"
    - Src: "com.drew.metadata.eps.EpsReader:177,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.eps.EpsReader:177,1"
      Dst: "[com.drew.metadata.Directory].getString(int)"
    - Src: "com.drew.metadata.eps.EpsReader:177,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.eps.EpsReader:177,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "com.drew.metadata.eps.EpsReader:177,1"
      Dst: "[com.drew.metadata.Directory].setString(int,java.lang.String)"
    - Src: "com.drew.metadata.eps.EpsReader:180,1"
      Dst: "[java.util.HashMap].containsKey(java.lang.Object)"
    - Src: "com.drew.metadata.eps.EpsReader:180,1"
      Dst: "[com.drew.metadata.Directory].containsTag(int)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 10
    CyclomaticComplexity: 5
  - functionName: "[com.drew.metadata.eps.EpsReader].extractImageData(com.drew.metadata.eps.EpsDirectory,java.lang.String)"
    functionSourceFile: "com.drew.metadata.eps.EpsReader"
    linkageType: ""
    functionLinenumber: 198
    functionLinenumberEnd: 228
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.metadata.eps.EpsDirectory"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].setString(int,java.lang.String)"
    - "[java.lang.String].trim()"
    - "[java.lang.String].split(java.lang.String)"
    - "[java.lang.Integer].parseInt(java.lang.String)"
    - "[com.drew.metadata.Directory].containsTag(int)"
    - "[com.drew.metadata.Directory].setInt(int,int)"
    functionUses: 1
    ICount: 45
    EdgeCount: 14
    BranchProfiles:
    - Branch String: "com.drew.metadata.eps.EpsReader:208"
      Branch Sides:
      - BranchSide: "com.drew.metadata.eps.EpsReader:210"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.eps.EpsReader:209"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.eps.EpsReader:210"
      Branch Sides:
      - BranchSide: "com.drew.metadata.eps.EpsReader:212"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.eps.EpsReader:211"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.eps.EpsReader:212"
      Branch Sides:
      - BranchSide: "com.drew.metadata.eps.EpsReader:215"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.eps.EpsReader:214"
        BranchSideFuncs:
        - "containsTag(int)"
    - Branch String: "com.drew.metadata.eps.EpsReader:215"
      Branch Sides:
      - BranchSide: "com.drew.metadata.eps.EpsReader:227"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.eps.EpsReader:226"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.eps.EpsReader:217"
      Branch Sides:
      - BranchSide: "com.drew.metadata.eps.EpsReader:219"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.eps.EpsReader:218"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.eps.EpsReader:219"
      Branch Sides:
      - BranchSide: "com.drew.metadata.eps.EpsReader:220"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.eps.EpsReader:219"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.eps.EpsReader:219"
      Branch Sides:
      - BranchSide: "com.drew.metadata.eps.EpsReader:221"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.eps.EpsReader:220"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.eps.EpsReader:221"
      Branch Sides:
      - BranchSide: "com.drew.metadata.eps.EpsReader:223"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.eps.EpsReader:224"
      Branch Sides:
      - BranchSide: "com.drew.metadata.eps.EpsReader:227"
        BranchSideFuncs:
        - "setInt(int,int)"
      - BranchSide: "com.drew.metadata.eps.EpsReader:226"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.eps.EpsReader:199,1"
      Dst: "[java.lang.String].trim()"
    - Src: "com.drew.metadata.eps.EpsReader:199,1"
      Dst: "[com.drew.metadata.Directory].setString(int,java.lang.String)"
    - Src: "com.drew.metadata.eps.EpsReader:201,1"
      Dst: "[java.lang.String].split(java.lang.String)"
    - Src: "com.drew.metadata.eps.EpsReader:203,1"
      Dst: "[java.lang.Integer].parseInt(java.lang.String)"
    - Src: "com.drew.metadata.eps.EpsReader:208,1"
      Dst: "[com.drew.metadata.Directory].containsTag(int)"
    - Src: "com.drew.metadata.eps.EpsReader:209,1"
      Dst: "[com.drew.metadata.Directory].setInt(int,int)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 17
    CyclomaticComplexity: 10
  - functionName: "[com.drew.metadata.eps.EpsReader].extractPhotoshopData(com.drew.metadata.Metadata,com.drew.lang.SequentialReader)"
    functionSourceFile: "com.drew.metadata.eps.EpsReader"
    linkageType: ""
    functionLinenumber: 233
    functionLinenumberEnd: 239
    functionDepth: 8
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.metadata.Metadata"
    - "com.drew.lang.SequentialReader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.eps.EpsReader].decodeHexCommentBlock(com.drew.lang.SequentialReader)"
    - "[com.drew.lang.SequentialByteArrayReader].<init>(byte[])"
    - "[com.drew.metadata.photoshop.PhotoshopReader].<init>()"
    - "[com.drew.metadata.photoshop.PhotoshopReader].extract(com.drew.lang.SequentialReader,int,com.drew.metadata.Metadata)"
    functionUses: 1
    ICount: 11
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.drew.metadata.eps.EpsReader:236"
      Branch Sides:
      - BranchSide: "com.drew.metadata.eps.EpsReader:238"
        BranchSideFuncs:
        - "<init>()"
        - "extract(com.drew.lang.SequentialReader,int,com.drew.metadata.Metadata)"
        - "<init>(byte[])"
      - BranchSide: "com.drew.metadata.eps.EpsReader:237"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.eps.EpsReader:234,1"
      Dst: "[com.drew.metadata.eps.EpsReader].decodeHexCommentBlock(com.drew.lang.SequentialReader)"
    - Src: "com.drew.metadata.eps.EpsReader:237,1"
      Dst: "[com.drew.metadata.photoshop.PhotoshopReader].<init>()"
    - Src: "com.drew.metadata.eps.EpsReader:237,1"
      Dst: "[com.drew.lang.SequentialByteArrayReader].<init>(byte[])"
    - Src: "com.drew.metadata.eps.EpsReader:237,1"
      Dst: "[com.drew.metadata.photoshop.PhotoshopReader].extract(com.drew.lang.SequentialReader,int,com.drew.metadata.Metadata)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.drew.metadata.eps.EpsReader].decodeHexCommentBlock(com.drew.lang.SequentialReader)"
    functionSourceFile: "com.drew.metadata.eps.EpsReader"
    linkageType: ""
    functionLinenumber: 305
    functionLinenumberEnd: 379
    functionDepth: 1
    returnType: "byte[]"
    argCount: 1
    argTypes:
    - "com.drew.lang.SequentialReader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.ByteArrayOutputStream].<init>()"
    - "[com.drew.lang.StreamReader].getByte()"
    - "[com.drew.lang.SequentialByteArrayReader].getByte()"
    - "[com.drew.metadata.eps.EpsReader].tryHexToInt(byte)"
    - "[java.io.ByteArrayOutputStream].write(int)"
    - "[java.io.ByteArrayOutputStream].toByteArray()"
    - "[com.drew.lang.SequentialReader].getByte()"
    functionUses: 2
    ICount: 50
    EdgeCount: 9
    BranchProfiles:
    - Branch String: "com.drew.metadata.eps.EpsReader:321"
      Branch Sides:
      - BranchSide: "com.drew.metadata.eps.EpsReader:375"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.eps.EpsReader:374"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.eps.EpsReader:353"
      Branch Sides:
      - BranchSide: "com.drew.metadata.eps.EpsReader:null"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.eps.EpsReader:356"
      Branch Sides:
      - BranchSide: "com.drew.metadata.eps.EpsReader:357"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.eps.EpsReader:356"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.eps.EpsReader:356"
      Branch Sides:
      - BranchSide: "com.drew.metadata.eps.EpsReader:359"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.eps.EpsReader:358"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.eps.EpsReader:365"
      Branch Sides:
      - BranchSide: "com.drew.metadata.eps.EpsReader:367"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.eps.EpsReader:366"
        BranchSideFuncs:
        - "write(int)"
    - Branch String: "com.drew.metadata.eps.EpsReader:375"
      Branch Sides:
      - BranchSide: "com.drew.metadata.eps.EpsReader:378"
        BranchSideFuncs:
        - "getByte()"
      - BranchSide: "com.drew.metadata.eps.EpsReader:377"
        BranchSideFuncs:
        - "toByteArray()"
    Callsites:
    - Src: "com.drew.metadata.eps.EpsReader:306,1"
      Dst: "[java.io.ByteArrayOutputStream].<init>()"
    - Src: "com.drew.metadata.eps.EpsReader:322,1"
      Dst: "[com.drew.lang.SequentialReader].getByte()"
    - Src: "com.drew.metadata.eps.EpsReader:352,1"
      Dst: "[com.drew.metadata.eps.EpsReader].tryHexToInt(byte)"
    - Src: "com.drew.metadata.eps.EpsReader:367,1"
      Dst: "[java.io.ByteArrayOutputStream].write(int)"
    - Src: "com.drew.metadata.eps.EpsReader:378,1"
      Dst: "[java.io.ByteArrayOutputStream].toByteArray()"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 23
    CyclomaticComplexity: 11
  - functionName: "[com.drew.metadata.eps.EpsReader].tryHexToInt(byte)"
    functionSourceFile: "com.drew.metadata.eps.EpsReader"
    linkageType: ""
    functionLinenumber: 386
    functionLinenumberEnd: 394
    functionDepth: 0
    returnType: "int"
    argCount: 1
    argTypes:
    - "byte"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 26
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.metadata.eps.EpsReader:387"
      Branch Sides:
      - BranchSide: "com.drew.metadata.eps.EpsReader:null"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.eps.EpsReader:387"
      Branch Sides:
      - BranchSide: "com.drew.metadata.eps.EpsReader:null"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.eps.EpsReader:389"
      Branch Sides:
      - BranchSide: "com.drew.metadata.eps.EpsReader:null"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.eps.EpsReader:389"
      Branch Sides:
      - BranchSide: "com.drew.metadata.eps.EpsReader:null"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.eps.EpsReader:391"
      Branch Sides:
      - BranchSide: "com.drew.metadata.eps.EpsReader:null"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.eps.EpsReader:391"
      Branch Sides:
      - BranchSide: "com.drew.metadata.eps.EpsReader:null"
        BranchSideFuncs: []
    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: 10
    CyclomaticComplexity: 4
  - functionName: "[com.drew.metadata.eps.EpsReader].extractIccData(com.drew.metadata.Metadata,com.drew.lang.SequentialReader)"
    functionSourceFile: "com.drew.metadata.eps.EpsReader"
    linkageType: ""
    functionLinenumber: 244
    functionLinenumberEnd: 250
    functionDepth: 5
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.metadata.Metadata"
    - "com.drew.lang.SequentialReader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.eps.EpsReader].decodeHexCommentBlock(com.drew.lang.SequentialReader)"
    - "[com.drew.lang.ByteArrayReader].<init>(byte[])"
    - "[com.drew.metadata.icc.IccReader].<init>()"
    - "[com.drew.metadata.icc.IccReader].extract(com.drew.lang.RandomAccessReader,com.drew.metadata.Metadata)"
    functionUses: 1
    ICount: 10
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.drew.metadata.eps.EpsReader:247"
      Branch Sides:
      - BranchSide: "com.drew.metadata.eps.EpsReader:249"
        BranchSideFuncs:
        - "<init>()"
        - "extract(com.drew.lang.RandomAccessReader,com.drew.metadata.Metadata)"
        - "<init>(byte[])"
      - BranchSide: "com.drew.metadata.eps.EpsReader:248"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.eps.EpsReader:245,1"
      Dst: "[com.drew.metadata.eps.EpsReader].decodeHexCommentBlock(com.drew.lang.SequentialReader)"
    - Src: "com.drew.metadata.eps.EpsReader:248,1"
      Dst: "[com.drew.metadata.icc.IccReader].<init>()"
    - Src: "com.drew.metadata.eps.EpsReader:248,1"
      Dst: "[com.drew.lang.ByteArrayReader].<init>(byte[])"
    - Src: "com.drew.metadata.eps.EpsReader:248,1"
      Dst: "[com.drew.metadata.icc.IccReader].extract(com.drew.lang.RandomAccessReader,com.drew.metadata.Metadata)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.drew.metadata.eps.EpsReader].extractXmpData(com.drew.metadata.Metadata,com.drew.lang.SequentialReader)"
    functionSourceFile: "com.drew.metadata.eps.EpsReader"
    linkageType: ""
    functionLinenumber: 255
    functionLinenumberEnd: 260
    functionDepth: 5
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.metadata.Metadata"
    - "com.drew.lang.SequentialReader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].getBytes()"
    - "[com.drew.metadata.eps.EpsReader].readUntil(com.drew.lang.SequentialReader,byte[])"
    - "[java.lang.String].<init>(byte[],java.nio.charset.Charset)"
    - "[com.drew.metadata.xmp.XmpReader].<init>()"
    - "[com.drew.metadata.xmp.XmpReader].extract(java.lang.String,com.drew.metadata.Metadata)"
    functionUses: 1
    ICount: 12
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.eps.EpsReader:256,1"
      Dst: "[java.lang.String].getBytes()"
    - Src: "com.drew.metadata.eps.EpsReader:256,1"
      Dst: "[com.drew.metadata.eps.EpsReader].readUntil(com.drew.lang.SequentialReader,byte[])"
    - Src: "com.drew.metadata.eps.EpsReader:257,1"
      Dst: "[java.lang.String].<init>(byte[],java.nio.charset.Charset)"
    - Src: "com.drew.metadata.eps.EpsReader:258,1"
      Dst: "[com.drew.metadata.xmp.XmpReader].<init>()"
    - Src: "com.drew.metadata.eps.EpsReader:258,1"
      Dst: "[com.drew.metadata.xmp.XmpReader].extract(java.lang.String,com.drew.metadata.Metadata)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.eps.EpsReader].readUntil(com.drew.lang.SequentialReader,byte[])"
    functionSourceFile: "com.drew.metadata.eps.EpsReader"
    linkageType: ""
    functionLinenumber: 266
    functionLinenumberEnd: 282
    functionDepth: 0
    returnType: "byte[]"
    argCount: 2
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "byte[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.ByteArrayOutputStream].<init>()"
    - "[com.drew.lang.StreamReader].getByte()"
    - "[com.drew.lang.SequentialByteArrayReader].getByte()"
    - "[java.io.ByteArrayOutputStream].write(int)"
    - "[java.io.ByteArrayOutputStream].toByteArray()"
    - "[com.drew.lang.SequentialReader].getByte()"
    functionUses: 1
    ICount: 20
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "com.drew.metadata.eps.EpsReader:272"
      Branch Sides:
      - BranchSide: "com.drew.metadata.eps.EpsReader:281"
        BranchSideFuncs:
        - "getByte()"
      - BranchSide: "com.drew.metadata.eps.EpsReader:280"
        BranchSideFuncs:
        - "toByteArray()"
    - Branch String: "com.drew.metadata.eps.EpsReader:274"
      Branch Sides:
      - BranchSide: "com.drew.metadata.eps.EpsReader:277"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.eps.EpsReader:276"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.eps.EpsReader:267,1"
      Dst: "[java.io.ByteArrayOutputStream].<init>()"
    - Src: "com.drew.metadata.eps.EpsReader:273,1"
      Dst: "[com.drew.lang.SequentialReader].getByte()"
    - Src: "com.drew.metadata.eps.EpsReader:278,1"
      Dst: "[java.io.ByteArrayOutputStream].write(int)"
    - Src: "com.drew.metadata.eps.EpsReader:281,1"
      Dst: "[java.io.ByteArrayOutputStream].toByteArray()"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[com.drew.metadata.file.FileTypeDirectory].<init>(com.drew.imaging.FileType)"
    functionSourceFile: "com.drew.metadata.file.FileTypeDirectory"
    linkageType: ""
    functionLinenumber: 50
    functionLinenumberEnd: 63
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.imaging.FileType"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].<init>()"
    - "[com.drew.metadata.file.FileTypeDescriptor].<init>(com.drew.metadata.file.FileTypeDirectory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    - "[com.drew.imaging.FileType].getName()"
    - "[com.drew.metadata.Directory].setString(int,java.lang.String)"
    - "[com.drew.imaging.FileType].getLongName()"
    - "[com.drew.imaging.FileType].getMimeType()"
    - "[com.drew.imaging.FileType].getCommonExtension()"
    functionUses: 1
    ICount: 19
    EdgeCount: 13
    BranchProfiles:
    - Branch String: "com.drew.metadata.file.FileTypeDirectory:57"
      Branch Sides:
      - BranchSide: "com.drew.metadata.file.FileTypeDirectory:60"
        BranchSideFuncs:
        - "getMimeType()"
      - BranchSide: "com.drew.metadata.file.FileTypeDirectory:59"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.file.FileTypeDirectory:60"
      Branch Sides:
      - BranchSide: "com.drew.metadata.file.FileTypeDirectory:62"
        BranchSideFuncs:
        - "setString(int,java.lang.String)"
        - "getCommonExtension()"
      - BranchSide: "com.drew.metadata.file.FileTypeDirectory:61"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.file.FileTypeDirectory:51,1"
      Dst: "[com.drew.metadata.Directory].<init>()"
    - Src: "com.drew.metadata.file.FileTypeDirectory:52,1"
      Dst: "[com.drew.metadata.file.FileTypeDescriptor].<init>(com.drew.metadata.file.FileTypeDirectory)"
    - Src: "com.drew.metadata.file.FileTypeDirectory:52,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    - Src: "com.drew.metadata.file.FileTypeDirectory:54,1"
      Dst: "[com.drew.imaging.FileType].getName()"
    - Src: "com.drew.metadata.file.FileTypeDirectory:54,1"
      Dst: "[com.drew.metadata.Directory].setString(int,java.lang.String)"
    - Src: "com.drew.metadata.file.FileTypeDirectory:55,1"
      Dst: "[com.drew.imaging.FileType].getLongName()"
    - Src: "com.drew.metadata.file.FileTypeDirectory:57,1"
      Dst: "[com.drew.imaging.FileType].getMimeType()"
    - Src: "com.drew.metadata.file.FileTypeDirectory:60,1"
      Dst: "[com.drew.imaging.FileType].getCommonExtension()"
    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: "[com.drew.metadata.Metadata].hasErrors()"
    functionSourceFile: "com.drew.metadata.Metadata"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Metadata].getDirectories()"
    - "[java.lang.Iterable].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[com.drew.metadata.Directory].hasErrors()"
    functionUses: 0
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.metadata.Metadata:134"
      Branch Sides:
      - BranchSide: "com.drew.metadata.Metadata:138"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.Metadata:137"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.Metadata:135"
      Branch Sides:
      - BranchSide: "com.drew.metadata.Metadata:137"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.Metadata:136"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.Metadata:134,1"
      Dst: "[com.drew.metadata.Metadata].getDirectories()"
    - Src: "com.drew.metadata.Metadata:134,1"
      Dst: "[java.lang.Iterable].iterator()"
    - Src: "com.drew.metadata.Metadata:134,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.drew.metadata.Metadata:134,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.drew.metadata.Metadata:135,1"
      Dst: "[com.drew.metadata.Directory].hasErrors()"
    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: 2
  - functionName: "[com.drew.metadata.jpeg.HuffmanTablesDescriptor].<init>(com.drew.metadata.jpeg.HuffmanTablesDirectory)"
    functionSourceFile: "com.drew.metadata.jpeg.HuffmanTablesDescriptor"
    linkageType: ""
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.jpeg.HuffmanTablesDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.jpeg.HuffmanTablesDescriptor:44,1"
      Dst: "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    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: "[com.drew.metadata.jpeg.HuffmanTablesDescriptor].getDescription(int)"
    functionSourceFile: "com.drew.metadata.jpeg.HuffmanTablesDescriptor"
    linkageType: ""
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.jpeg.HuffmanTablesDescriptor].getNumberOfTablesDescription()"
    - "[com.drew.metadata.TagDescriptor].getDescription(int)"
    functionUses: 1
    ICount: 7
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.jpeg.HuffmanTablesDescriptor:53,1"
      Dst: "[com.drew.metadata.jpeg.HuffmanTablesDescriptor].getNumberOfTablesDescription()"
    - Src: "com.drew.metadata.jpeg.HuffmanTablesDescriptor:55,1"
      Dst: "[com.drew.metadata.TagDescriptor].getDescription(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: 3
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.jpeg.HuffmanTablesDescriptor].getNumberOfTablesDescription()"
    functionSourceFile: "com.drew.metadata.jpeg.HuffmanTablesDescriptor"
    linkageType: ""
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    functionUses: 1
    ICount: 17
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "com.drew.metadata.jpeg.HuffmanTablesDescriptor:63"
      Branch Sides:
      - BranchSide: "com.drew.metadata.jpeg.HuffmanTablesDescriptor:65"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.jpeg.HuffmanTablesDescriptor:64"
        BranchSideFuncs:
        - "<init>()"
        - "intValue()"
        - "append(java.lang.String)"
        - "toString()"
    - Branch String: "com.drew.metadata.jpeg.HuffmanTablesDescriptor:65"
      Branch Sides:
      - BranchSide: "com.drew.metadata.jpeg.HuffmanTablesDescriptor:64"
        BranchSideFuncs:
        - "<init>()"
        - "intValue()"
        - "append(java.lang.String)"
        - "toString()"
    Callsites:
    - Src: "com.drew.metadata.jpeg.HuffmanTablesDescriptor:62,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.jpeg.HuffmanTablesDescriptor:65,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.jpeg.HuffmanTablesDescriptor:65,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.drew.metadata.jpeg.HuffmanTablesDescriptor:65,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.jpeg.HuffmanTablesDescriptor:65,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.jpeg.HuffmanTablesDescriptor:65,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: 6
    CyclomaticComplexity: 2
  - functionName: "[com.drew.metadata.ico.IcoDescriptor].getDescription(int)"
    functionSourceFile: "com.drew.metadata.ico.IcoDescriptor"
    linkageType: ""
    functionLinenumber: 43
    functionLinenumberEnd: 55
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.ico.IcoDescriptor].getImageTypeDescription()"
    - "[com.drew.metadata.ico.IcoDescriptor].getImageWidthDescription()"
    - "[com.drew.metadata.ico.IcoDescriptor].getImageHeightDescription()"
    - "[com.drew.metadata.ico.IcoDescriptor].getColourPaletteSizeDescription()"
    - "[com.drew.metadata.TagDescriptor].getDescription(int)"
    functionUses: 1
    ICount: 13
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.ico.IcoDescriptor:46,1"
      Dst: "[com.drew.metadata.ico.IcoDescriptor].getImageTypeDescription()"
    - Src: "com.drew.metadata.ico.IcoDescriptor:48,1"
      Dst: "[com.drew.metadata.ico.IcoDescriptor].getImageWidthDescription()"
    - Src: "com.drew.metadata.ico.IcoDescriptor:50,1"
      Dst: "[com.drew.metadata.ico.IcoDescriptor].getImageHeightDescription()"
    - Src: "com.drew.metadata.ico.IcoDescriptor:52,1"
      Dst: "[com.drew.metadata.ico.IcoDescriptor].getColourPaletteSizeDescription()"
    - Src: "com.drew.metadata.ico.IcoDescriptor:54,1"
      Dst: "[com.drew.metadata.TagDescriptor].getDescription(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: 6
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.ico.IcoDescriptor].getImageTypeDescription()"
    functionSourceFile: "com.drew.metadata.ico.IcoDescriptor"
    linkageType: ""
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,java.lang.String[])"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.ico.IcoDescriptor:61,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,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: "[com.drew.metadata.ico.IcoDescriptor].getImageWidthDescription()"
    functionSourceFile: "com.drew.metadata.ico.IcoDescriptor"
    linkageType: ""
    functionLinenumber: 66
    functionLinenumberEnd: 71
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.StringBuilder].append(int)"
    functionUses: 1
    ICount: 17
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "com.drew.metadata.ico.IcoDescriptor:68"
      Branch Sides:
      - BranchSide: "com.drew.metadata.ico.IcoDescriptor:70"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.ico.IcoDescriptor:69"
        BranchSideFuncs:
        - "<init>()"
        - "intValue()"
        - "append(java.lang.String)"
        - "toString()"
    - Branch String: "com.drew.metadata.ico.IcoDescriptor:70"
      Branch Sides:
      - BranchSide: "com.drew.metadata.ico.IcoDescriptor:69"
        BranchSideFuncs:
        - "<init>()"
        - "intValue()"
        - "append(java.lang.String)"
        - "toString()"
    Callsites:
    - Src: "com.drew.metadata.ico.IcoDescriptor:67,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.ico.IcoDescriptor:70,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.ico.IcoDescriptor:70,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.ico.IcoDescriptor:70,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    - Src: "com.drew.metadata.ico.IcoDescriptor:70,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.ico.IcoDescriptor:70,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: 6
    CyclomaticComplexity: 2
  - functionName: "[com.drew.metadata.ico.IcoDescriptor].getImageHeightDescription()"
    functionSourceFile: "com.drew.metadata.ico.IcoDescriptor"
    linkageType: ""
    functionLinenumber: 75
    functionLinenumberEnd: 80
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.StringBuilder].append(int)"
    functionUses: 1
    ICount: 17
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "com.drew.metadata.ico.IcoDescriptor:77"
      Branch Sides:
      - BranchSide: "com.drew.metadata.ico.IcoDescriptor:79"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.ico.IcoDescriptor:78"
        BranchSideFuncs:
        - "<init>()"
        - "intValue()"
        - "append(java.lang.String)"
        - "toString()"
    - Branch String: "com.drew.metadata.ico.IcoDescriptor:79"
      Branch Sides:
      - BranchSide: "com.drew.metadata.ico.IcoDescriptor:78"
        BranchSideFuncs:
        - "<init>()"
        - "intValue()"
        - "append(java.lang.String)"
        - "toString()"
    Callsites:
    - Src: "com.drew.metadata.ico.IcoDescriptor:76,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.ico.IcoDescriptor:79,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.ico.IcoDescriptor:79,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.ico.IcoDescriptor:79,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    - Src: "com.drew.metadata.ico.IcoDescriptor:79,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.ico.IcoDescriptor:79,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: 6
    CyclomaticComplexity: 2
  - functionName: "[com.drew.metadata.ico.IcoDescriptor].getColourPaletteSizeDescription()"
    functionSourceFile: "com.drew.metadata.ico.IcoDescriptor"
    linkageType: ""
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    functionUses: 1
    ICount: 22
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "com.drew.metadata.ico.IcoDescriptor:86"
      Branch Sides:
      - BranchSide: "com.drew.metadata.ico.IcoDescriptor:88"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.ico.IcoDescriptor:87"
        BranchSideFuncs:
        - "<init>()"
        - "intValue()"
        - "append(java.lang.String)"
        - "toString()"
    - Branch String: "com.drew.metadata.ico.IcoDescriptor:88"
      Branch Sides:
      - BranchSide: "com.drew.metadata.ico.IcoDescriptor:87"
        BranchSideFuncs:
        - "<init>()"
        - "intValue()"
        - "append(java.lang.String)"
        - "toString()"
    - Branch String: "com.drew.metadata.ico.IcoDescriptor:88"
      Branch Sides:
      - BranchSide: "com.drew.metadata.ico.IcoDescriptor:87"
        BranchSideFuncs:
        - "<init>()"
        - "intValue()"
        - "append(java.lang.String)"
        - "toString()"
    Callsites:
    - Src: "com.drew.metadata.ico.IcoDescriptor:85,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.ico.IcoDescriptor:88,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.ico.IcoDescriptor:88,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.ico.IcoDescriptor:88,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.drew.metadata.ico.IcoDescriptor:88,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.ico.IcoDescriptor:88,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: 9
    CyclomaticComplexity: 3
  - functionName: "[com.drew.metadata.avi.AviDirectory].getName()"
    functionSourceFile: "com.drew.metadata.avi.AviDirectory"
    linkageType: ""
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.avi.AviDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.avi.AviDirectory"
    linkageType: ""
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.mov.media.QuickTimeMusicDirectory].<init>()"
    functionSourceFile: "com.drew.metadata.mov.media.QuickTimeMusicDirectory"
    linkageType: ""
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionDepth: 3
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mov.QuickTimeDirectory].<init>()"
    - "[com.drew.metadata.mov.media.QuickTimeMusicDescriptor].<init>(com.drew.metadata.mov.QuickTimeDirectory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 1
    ICount: 6
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.media.QuickTimeMusicDirectory:34,1"
      Dst: "[com.drew.metadata.mov.QuickTimeDirectory].<init>()"
    - Src: "com.drew.metadata.mov.media.QuickTimeMusicDirectory:35,1"
      Dst: "[com.drew.metadata.mov.media.QuickTimeMusicDescriptor].<init>(com.drew.metadata.mov.QuickTimeDirectory)"
    - Src: "com.drew.metadata.mov.media.QuickTimeMusicDirectory:35,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.mov.media.QuickTimeMusicDirectory].getName()"
    functionSourceFile: "com.drew.metadata.mov.media.QuickTimeMusicDirectory"
    linkageType: ""
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.mov.media.QuickTimeMusicDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.mov.media.QuickTimeMusicDirectory"
    linkageType: ""
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.jfxx.JfxxReader].<init>()"
    functionSourceFile: "com.drew.metadata.jfxx.JfxxReader"
    linkageType: ""
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.jfxx.JfxxReader:44,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: "[com.drew.metadata.jfxx.JfxxReader].getSegmentTypes()"
    functionSourceFile: "com.drew.metadata.jfxx.JfxxReader"
    linkageType: ""
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionDepth: 0
    returnType: "java.lang.Iterable"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Collections].singletonList(java.lang.Object)"
    functionUses: 2
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.jfxx.JfxxReader:51,1"
      Dst: "[java.util.Collections].singletonList(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: "[com.drew.metadata.jfxx.JfxxReader].readJpegSegments(java.lang.Iterable<byte[]>,com.drew.metadata.Metadata,com.drew.imaging.jpeg.JpegSegmentType)"
    functionSourceFile: "com.drew.metadata.jfxx.JfxxReader"
    linkageType: ""
    functionLinenumber: 55
    functionLinenumberEnd: 62
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.Iterable<byte[]>"
    - "com.drew.metadata.Metadata"
    - "com.drew.imaging.jpeg.JpegSegmentType"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.adobe.internal.xmp.impl.XMPNode$1].hasNext()"
    - "[jdk.internal.module.ModuleBootstrap$2].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIterator].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIteratorChildren].hasNext()"
    - "[java.nio.file.FileTreeIterator].hasNext()"
    - "[java.util.concurrent.ConcurrentHashMap$EntrySetView].iterator()"
    - "[jdk.internal.module.ModuleBootstrap$2].next()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIterator].next()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl].next()"
    - "[com.adobe.internal.xmp.impl.XMPNode$1].next()"
    - "[java.io.BufferedReader$1:java.nio.file.FileTreeIterator:java.nio.file.Files$2].next()"
    - "[java.lang.String].<init>(byte[],int,int)"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[java.lang.String].length()"
    - "[com.drew.lang.ByteArrayReader].<init>(byte[])"
    - "[com.drew.metadata.jfxx.JfxxReader].extract(com.drew.lang.RandomAccessReader,com.drew.metadata.Metadata)"
    - "[java.lang.Iterable].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    functionUses: 1
    ICount: 25
    EdgeCount: 18
    BranchProfiles:
    - Branch String: "com.drew.metadata.jfxx.JfxxReader:56"
      Branch Sides:
      - BranchSide: "com.drew.metadata.jfxx.JfxxReader:61"
        BranchSideFuncs:
        - "hasNext()"
        - "iterator()"
        - "<init>(byte[],int,int)"
        - "next()"
        - "equals(java.lang.Object)"
        - "length()"
      - BranchSide: "com.drew.metadata.jfxx.JfxxReader:60"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.jfxx.JfxxReader:58"
      Branch Sides:
      - BranchSide: "com.drew.metadata.jfxx.JfxxReader:60"
        BranchSideFuncs:
        - "extract(com.drew.lang.RandomAccessReader,com.drew.metadata.Metadata)"
        - "<init>(byte[])"
      - BranchSide: "com.drew.metadata.jfxx.JfxxReader:59"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.jfxx.JfxxReader:58"
      Branch Sides:
      - BranchSide: "com.drew.metadata.jfxx.JfxxReader:60"
        BranchSideFuncs:
        - "extract(com.drew.lang.RandomAccessReader,com.drew.metadata.Metadata)"
        - "<init>(byte[])"
      - BranchSide: "com.drew.metadata.jfxx.JfxxReader:59"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.jfxx.JfxxReader:56,1"
      Dst: "[java.lang.Iterable].iterator()"
    - Src: "com.drew.metadata.jfxx.JfxxReader:56,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.drew.metadata.jfxx.JfxxReader:56,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.drew.metadata.jfxx.JfxxReader:58,1"
      Dst: "[java.lang.String].length()"
    - Src: "com.drew.metadata.jfxx.JfxxReader:58,1"
      Dst: "[java.lang.String].<init>(byte[],int,int)"
    - Src: "com.drew.metadata.jfxx.JfxxReader:58,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "com.drew.metadata.jfxx.JfxxReader:59,1"
      Dst: "[com.drew.lang.ByteArrayReader].<init>(byte[])"
    - Src: "com.drew.metadata.jfxx.JfxxReader:59,1"
      Dst: "[com.drew.metadata.jfxx.JfxxReader].extract(com.drew.lang.RandomAccessReader,com.drew.metadata.Metadata)"
    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: "[com.drew.metadata.jfxx.JfxxReader].extract(com.drew.lang.RandomAccessReader,com.drew.metadata.Metadata)"
    functionSourceFile: "com.drew.metadata.jfxx.JfxxReader"
    linkageType: ""
    functionLinenumber: 68
    functionLinenumberEnd: 80
    functionDepth: 3
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.lang.RandomAccessReader"
    - "com.drew.metadata.Metadata"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.jfxx.JfxxDirectory].<init>()"
    - "[com.drew.metadata.Metadata].addDirectory(com.drew.metadata.Directory)"
    - "[com.drew.lang.RandomAccessReader].getUInt8(int)"
    - "[com.drew.metadata.Directory].setInt(int,int)"
    - "[com.drew.metadata.Directory].addError(java.lang.String)"
    - "[java.io.InvalidClassException:java.lang.Throwable:java.nio.file.FileSystemException].getMessage()"
    - "[java.lang.Throwable].getMessage()"
    functionUses: 1
    ICount: 15
    EdgeCount: 6
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.jfxx.JfxxReader:69,1"
      Dst: "[com.drew.metadata.jfxx.JfxxDirectory].<init>()"
    - Src: "com.drew.metadata.jfxx.JfxxReader:70,1"
      Dst: "[com.drew.metadata.Metadata].addDirectory(com.drew.metadata.Directory)"
    - Src: "com.drew.metadata.jfxx.JfxxReader:75,1"
      Dst: "[com.drew.lang.RandomAccessReader].getUInt8(int)"
    - Src: "com.drew.metadata.jfxx.JfxxReader:75,1"
      Dst: "[com.drew.metadata.Directory].setInt(int,int)"
    - Src: "com.drew.metadata.jfxx.JfxxReader:77,1"
      Dst: "[java.lang.Throwable].getMessage()"
    - Src: "com.drew.metadata.jfxx.JfxxReader:77,1"
      Dst: "[com.drew.metadata.Directory].addError(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: 3
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.jfxx.JfxxDescriptor].<init>(com.drew.metadata.jfxx.JfxxDirectory)"
    functionSourceFile: "com.drew.metadata.jfxx.JfxxDescriptor"
    linkageType: ""
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.jfxx.JfxxDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.jfxx.JfxxDescriptor:44,1"
      Dst: "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    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: "[com.drew.metadata.exif.makernotes.LeicaType5MakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.LeicaType5MakernoteDirectory)"
    functionSourceFile: "com.drew.metadata.exif.makernotes.LeicaType5MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.exif.makernotes.LeicaType5MakernoteDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.LeicaType5MakernoteDescriptor:42,1"
      Dst: "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    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: "[com.drew.metadata.exif.makernotes.LeicaType5MakernoteDescriptor].getDescription(int)"
    functionSourceFile: "com.drew.metadata.exif.makernotes.LeicaType5MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.makernotes.LeicaType5MakernoteDescriptor].getExposureModeDescription()"
    - "[com.drew.metadata.TagDescriptor].getDescription(int)"
    functionUses: 1
    ICount: 7
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.LeicaType5MakernoteDescriptor:51,1"
      Dst: "[com.drew.metadata.exif.makernotes.LeicaType5MakernoteDescriptor].getExposureModeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.LeicaType5MakernoteDescriptor:53,1"
      Dst: "[com.drew.metadata.TagDescriptor].getDescription(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: 3
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.LeicaType5MakernoteDescriptor].getExposureModeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.LeicaType5MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 59
    functionLinenumberEnd: 78
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getByteArray(int)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.lang.Byte].valueOf(byte)"
    - "[java.lang.String].equals(java.lang.Object)"
    functionUses: 1
    ICount: 41
    EdgeCount: 12
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.LeicaType5MakernoteDescriptor:61"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.LeicaType5MakernoteDescriptor:62"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.LeicaType5MakernoteDescriptor:61"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.LeicaType5MakernoteDescriptor:61"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.LeicaType5MakernoteDescriptor:64"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.LeicaType5MakernoteDescriptor:63"
        BranchSideFuncs:
        - "valueOf(byte)"
    - Branch String: "com.drew.metadata.exif.makernotes.LeicaType5MakernoteDescriptor:66"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.LeicaType5MakernoteDescriptor:68"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.LeicaType5MakernoteDescriptor:67"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.LeicaType5MakernoteDescriptor:68"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.LeicaType5MakernoteDescriptor:70"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.LeicaType5MakernoteDescriptor:69"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.LeicaType5MakernoteDescriptor:70"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.LeicaType5MakernoteDescriptor:72"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.LeicaType5MakernoteDescriptor:71"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.LeicaType5MakernoteDescriptor:72"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.LeicaType5MakernoteDescriptor:74"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.LeicaType5MakernoteDescriptor:73"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "com.drew.metadata.exif.makernotes.LeicaType5MakernoteDescriptor:74"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.LeicaType5MakernoteDescriptor:77"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.LeicaType5MakernoteDescriptor:76"
        BranchSideFuncs:
        - "format(java.lang.String,java.lang.Object[])"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.LeicaType5MakernoteDescriptor:60,1"
      Dst: "[com.drew.metadata.Directory].getByteArray(int)"
    - Src: "com.drew.metadata.exif.makernotes.LeicaType5MakernoteDescriptor:64,1"
      Dst: "[java.lang.Byte].valueOf(byte)"
    - Src: "com.drew.metadata.exif.makernotes.LeicaType5MakernoteDescriptor:64,1"
      Dst: "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - Src: "com.drew.metadata.exif.makernotes.LeicaType5MakernoteDescriptor:66,1"
      Dst: "[java.lang.String].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: 14
    CyclomaticComplexity: 2
  - functionName: "[com.drew.metadata.mov.media.QuickTimeMusicHandler].createDirectory()"
    functionSourceFile: "com.drew.metadata.mov.media.QuickTimeMusicHandler"
    linkageType: ""
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionDepth: 4
    returnType: "com.drew.metadata.mov.media.QuickTimeMusicDirectory"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mov.media.QuickTimeMusicDirectory].<init>()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.media.QuickTimeMusicHandler:47,1"
      Dst: "[com.drew.metadata.mov.media.QuickTimeMusicDirectory].<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: "[com.drew.metadata.mov.media.QuickTimeMusicHandler].getMediaInformation()"
    functionSourceFile: "com.drew.metadata.mov.media.QuickTimeMusicHandler"
    linkageType: ""
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 2
    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: "[com.drew.metadata.mov.media.QuickTimeMusicHandler].processSampleDescription(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
    functionSourceFile: "com.drew.metadata.mov.media.QuickTimeMusicHandler"
    linkageType: ""
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "com.drew.metadata.mov.atoms.Atom"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mov.atoms.MusicSampleDescriptionAtom].<init>(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
    - "[com.drew.metadata.mov.atoms.MusicSampleDescriptionAtom].addMetadata(com.drew.metadata.mov.media.QuickTimeMusicDirectory)"
    functionUses: 1
    ICount: 9
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.media.QuickTimeMusicHandler:59,1"
      Dst: "[com.drew.metadata.mov.atoms.MusicSampleDescriptionAtom].<init>(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
    - Src: "com.drew.metadata.mov.media.QuickTimeMusicHandler:60,1"
      Dst: "[com.drew.metadata.mov.atoms.MusicSampleDescriptionAtom].addMetadata(com.drew.metadata.mov.media.QuickTimeMusicDirectory)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.mov.media.QuickTimeMusicHandler].processMediaInformation(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
    functionSourceFile: "com.drew.metadata.mov.media.QuickTimeMusicHandler"
    linkageType: ""
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "com.drew.metadata.mov.atoms.Atom"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    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: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.mov.media.QuickTimeMusicHandler].processTimeToSample(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom,com.drew.metadata.mov.QuickTimeContext)"
    functionSourceFile: "com.drew.metadata.mov.media.QuickTimeMusicHandler"
    linkageType: ""
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "com.drew.metadata.mov.atoms.Atom"
    - "com.drew.metadata.mov.QuickTimeContext"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 5
    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: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.imaging.riff.RiffTypeChecker].<init>()"
    functionSourceFile: "com.drew.imaging.riff.RiffTypeChecker"
    linkageType: ""
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.riff.RiffTypeChecker:26,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: "[com.drew.imaging.riff.RiffTypeChecker].getByteCount()"
    functionSourceFile: "com.drew.imaging.riff.RiffTypeChecker"
    linkageType: ""
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.imaging.riff.RiffTypeChecker].checkType(byte[])"
    functionSourceFile: "com.drew.imaging.riff.RiffTypeChecker"
    linkageType: ""
    functionLinenumber: 36
    functionLinenumberEnd: 50
    functionDepth: 0
    returnType: "com.drew.imaging.FileType"
    argCount: 1
    argTypes:
    - "byte[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].<init>(byte[],int,int)"
    - "[java.lang.String].equals(java.lang.Object)"
    functionUses: 1
    ICount: 24
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "com.drew.imaging.riff.RiffTypeChecker:38"
      Branch Sides:
      - BranchSide: "com.drew.imaging.riff.RiffTypeChecker:41"
        BranchSideFuncs: []
      - BranchSide: "com.drew.imaging.riff.RiffTypeChecker:40"
        BranchSideFuncs:
        - "<init>(byte[],int,int)"
    - Branch String: "com.drew.imaging.riff.RiffTypeChecker:42"
      Branch Sides:
      - BranchSide: "com.drew.imaging.riff.RiffTypeChecker:44"
        BranchSideFuncs: []
      - BranchSide: "com.drew.imaging.riff.RiffTypeChecker:43"
        BranchSideFuncs: []
    - Branch String: "com.drew.imaging.riff.RiffTypeChecker:44"
      Branch Sides:
      - BranchSide: "com.drew.imaging.riff.RiffTypeChecker:46"
        BranchSideFuncs: []
      - BranchSide: "com.drew.imaging.riff.RiffTypeChecker:45"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "com.drew.imaging.riff.RiffTypeChecker:46"
      Branch Sides:
      - BranchSide: "com.drew.imaging.riff.RiffTypeChecker:49"
        BranchSideFuncs: []
      - BranchSide: "com.drew.imaging.riff.RiffTypeChecker:48"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.imaging.riff.RiffTypeChecker:37,1"
      Dst: "[java.lang.String].<init>(byte[],int,int)"
    - Src: "com.drew.imaging.riff.RiffTypeChecker:38,1"
      Dst: "[java.lang.String].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: 1
  - functionName: "[com.drew.metadata.TagDescriptor].getDecimalRational(int,int)"
    functionSourceFile: "com.drew.metadata.TagDescriptor"
    linkageType: ""
    functionLinenumber: 175
    functionLinenumberEnd: 180
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 2
    argTypes:
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getRational(int)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(int)"
    - "[com.drew.lang.Rational].doubleValue()"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.Double].valueOf(double)"
    functionUses: 1
    ICount: 19
    EdgeCount: 9
    BranchProfiles:
    - Branch String: "com.drew.metadata.TagDescriptor:177"
      Branch Sides:
      - BranchSide: "com.drew.metadata.TagDescriptor:179"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.TagDescriptor:178"
        BranchSideFuncs:
        - "<init>()"
        - "doubleValue()"
        - "append(java.lang.String)"
        - "toString()"
        - "format(java.lang.String,java.lang.Object[])"
        - "valueOf(double)"
        - "append(int)"
    Callsites:
    - Src: "com.drew.metadata.TagDescriptor:176,1"
      Dst: "[com.drew.metadata.Directory].getRational(int)"
    - Src: "com.drew.metadata.TagDescriptor:179,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.TagDescriptor:179,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.TagDescriptor:179,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    - Src: "com.drew.metadata.TagDescriptor:179,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "com.drew.metadata.TagDescriptor:179,1"
      Dst: "[com.drew.lang.Rational].doubleValue()"
    - Src: "com.drew.metadata.TagDescriptor:179,1"
      Dst: "[java.lang.Double].valueOf(double)"
    - Src: "com.drew.metadata.TagDescriptor:179,1"
      Dst: "[java.lang.String].format(java.lang.String,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: 1
  - functionName: "[com.drew.metadata.TagDescriptor].getFormattedFloat(int,java.lang.String)"
    functionSourceFile: "com.drew.metadata.TagDescriptor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 2
    argTypes:
    - "int"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getFloatObject(int)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    functionUses: 0
    ICount: 11
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.metadata.TagDescriptor:195"
      Branch Sides:
      - BranchSide: "com.drew.metadata.TagDescriptor:197"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.TagDescriptor:196"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.TagDescriptor:194,1"
      Dst: "[com.drew.metadata.Directory].getFloatObject(int)"
    - Src: "com.drew.metadata.TagDescriptor:197,1"
      Dst: "[java.lang.String].format(java.lang.String,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: 1
  - functionName: "[com.drew.metadata.TagDescriptor].getFormattedString(int,java.lang.String)"
    functionSourceFile: "com.drew.metadata.TagDescriptor"
    linkageType: ""
    functionLinenumber: 202
    functionLinenumberEnd: 207
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 2
    argTypes:
    - "int"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getString(int)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    functionUses: 1
    ICount: 11
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.drew.metadata.TagDescriptor:204"
      Branch Sides:
      - BranchSide: "com.drew.metadata.TagDescriptor:206"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.TagDescriptor:205"
        BranchSideFuncs:
        - "format(java.lang.String,java.lang.Object[])"
    Callsites:
    - Src: "com.drew.metadata.TagDescriptor:203,1"
      Dst: "[com.drew.metadata.Directory].getString(int)"
    - Src: "com.drew.metadata.TagDescriptor:206,1"
      Dst: "[java.lang.String].format(java.lang.String,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: 1
  - functionName: "[com.drew.metadata.TagDescriptor].getEpochTimeDescription(int)"
    functionSourceFile: "com.drew.metadata.TagDescriptor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getLongObject(int)"
    - "[java.lang.Long].longValue()"
    - "[java.util.Date].<init>(long)"
    - "[java.util.Date].toString()"
    functionUses: 0
    ICount: 11
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.metadata.TagDescriptor:214"
      Branch Sides:
      - BranchSide: "com.drew.metadata.TagDescriptor:216"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.TagDescriptor:215"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.TagDescriptor:213,1"
      Dst: "[com.drew.metadata.Directory].getLongObject(int)"
    - Src: "com.drew.metadata.TagDescriptor:216,1"
      Dst: "[java.lang.Long].longValue()"
    - Src: "com.drew.metadata.TagDescriptor:216,1"
      Dst: "[java.util.Date].<init>(long)"
    - Src: "com.drew.metadata.TagDescriptor:216,1"
      Dst: "[java.util.Date].toString()"
    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: "[com.drew.metadata.TagDescriptor].getBitFlagDescription(int,java.lang.Object[])"
    functionSourceFile: "com.drew.metadata.TagDescriptor"
    linkageType: ""
    functionLinenumber: 224
    functionLinenumberEnd: 250
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 2
    argTypes:
    - "int"
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.util.ArrayList].<init>()"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.AssertionError].<init>()"
    - "[java.util.ArrayList].add(java.lang.Object)"
    - "[java.lang.Integer].valueOf(int)"
    - "[com.drew.lang.StringUtil].join(java.lang.Iterable,java.lang.String)"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 2
    ICount: 53
    EdgeCount: 9
    BranchProfiles:
    - Branch String: "com.drew.metadata.TagDescriptor:227"
      Branch Sides:
      - BranchSide: "com.drew.metadata.TagDescriptor:230"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.TagDescriptor:229"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.TagDescriptor:233"
      Branch Sides:
      - BranchSide: "com.drew.metadata.TagDescriptor:249"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.TagDescriptor:248"
        BranchSideFuncs:
        - "join(java.lang.Iterable,java.lang.String)"
    - Branch String: "com.drew.metadata.TagDescriptor:235"
      Branch Sides:
      - BranchSide: "com.drew.metadata.TagDescriptor:245"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.TagDescriptor:244"
        BranchSideFuncs:
        - "intValue()"
        - "valueOf(int)"
    - Branch String: "com.drew.metadata.TagDescriptor:236"
      Branch Sides:
      - BranchSide: "com.drew.metadata.TagDescriptor:-1"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.TagDescriptor:-2"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.TagDescriptor:237"
      Branch Sides:
      - BranchSide: "com.drew.metadata.TagDescriptor:236"
        BranchSideFuncs:
        - "<init>()"
      - BranchSide: "com.drew.metadata.TagDescriptor:235"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.TagDescriptor:239"
      Branch Sides:
      - BranchSide: "com.drew.metadata.TagDescriptor:240"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.TagDescriptor:239"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.TagDescriptor:239"
      Branch Sides:
      - BranchSide: "com.drew.metadata.TagDescriptor:240"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.TagDescriptor:239"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.TagDescriptor:240"
      Branch Sides:
      - BranchSide: "com.drew.metadata.TagDescriptor:240"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.TagDescriptor:239"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.TagDescriptor:237"
      Branch Sides:
      - BranchSide: "com.drew.metadata.TagDescriptor:245"
        BranchSideFuncs:
        - "<init>()"
      - BranchSide: "com.drew.metadata.TagDescriptor:244"
        BranchSideFuncs:
        - "intValue()"
        - "valueOf(int)"
    - Branch String: "com.drew.metadata.TagDescriptor:237"
      Branch Sides:
      - BranchSide: "com.drew.metadata.TagDescriptor:245"
        BranchSideFuncs:
        - "<init>()"
      - BranchSide: "com.drew.metadata.TagDescriptor:244"
        BranchSideFuncs:
        - "intValue()"
        - "valueOf(int)"
    Callsites:
    - Src: "com.drew.metadata.TagDescriptor:225,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.TagDescriptor:230,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "com.drew.metadata.TagDescriptor:236,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.TagDescriptor:239,1"
      Dst: "[java.lang.AssertionError].<init>()"
    - Src: "com.drew.metadata.TagDescriptor:240,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    - Src: "com.drew.metadata.TagDescriptor:245,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.drew.metadata.TagDescriptor:249,1"
      Dst: "[com.drew.lang.StringUtil].join(java.lang.Iterable,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: 21
    CyclomaticComplexity: 9
  - functionName: "[com.drew.metadata.TagDescriptor].getRationalOrDoubleString(int)"
    functionSourceFile: "com.drew.metadata.TagDescriptor"
    linkageType: ""
    functionLinenumber: 289
    functionLinenumberEnd: 301
    functionDepth: 3
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getRational(int)"
    - "[com.drew.lang.Rational].toSimpleString(boolean)"
    - "[com.drew.metadata.Directory].getDoubleObject(int)"
    - "[java.text.DecimalFormat].<init>(java.lang.String)"
    - "[java.text.Format].format(java.lang.Object)"
    functionUses: 1
    ICount: 15
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "com.drew.metadata.TagDescriptor:291"
      Branch Sides:
      - BranchSide: "com.drew.metadata.TagDescriptor:294"
        BranchSideFuncs:
        - "toSimpleString(boolean)"
      - BranchSide: "com.drew.metadata.TagDescriptor:293"
        BranchSideFuncs:
        - "getDoubleObject(int)"
    - Branch String: "com.drew.metadata.TagDescriptor:295"
      Branch Sides:
      - BranchSide: "com.drew.metadata.TagDescriptor:300"
        BranchSideFuncs:
        - "format(java.lang.Object)"
        - "<init>(java.lang.String)"
      - BranchSide: "com.drew.metadata.TagDescriptor:299"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.TagDescriptor:290,1"
      Dst: "[com.drew.metadata.Directory].getRational(int)"
    - Src: "com.drew.metadata.TagDescriptor:292,1"
      Dst: "[com.drew.lang.Rational].toSimpleString(boolean)"
    - Src: "com.drew.metadata.TagDescriptor:294,1"
      Dst: "[com.drew.metadata.Directory].getDoubleObject(int)"
    - Src: "com.drew.metadata.TagDescriptor:296,1"
      Dst: "[java.text.DecimalFormat].<init>(java.lang.String)"
    - Src: "com.drew.metadata.TagDescriptor:297,1"
      Dst: "[java.text.Format].format(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: 1
  - functionName: "[com.drew.metadata.TagDescriptor].getLensSpecificationDescription(int)"
    functionSourceFile: "com.drew.metadata.TagDescriptor"
    linkageType: ""
    functionLinenumber: 321
    functionLinenumberEnd: 347
    functionDepth: 3
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getRationalArray(int)"
    - "[com.drew.lang.Rational].isZero()"
    - "[java.lang.StringBuilder].<init>()"
    - "[com.drew.lang.Rational].equals(com.drew.lang.Rational)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[com.drew.lang.Rational].toSimpleString(boolean)"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.text.DecimalFormat].<init>(java.lang.String)"
    - "[java.text.DecimalFormat].setRoundingMode(java.math.RoundingMode)"
    - "[com.drew.lang.Rational].doubleValue()"
    - "[com.drew.metadata.TagDescriptor].getFStopDescription(double)"
    - "[java.text.NumberFormat].format(double)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 2
    ICount: 62
    EdgeCount: 31
    BranchProfiles:
    - Branch String: "com.drew.metadata.TagDescriptor:324"
      Branch Sides:
      - BranchSide: "com.drew.metadata.TagDescriptor:325"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.TagDescriptor:324"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.TagDescriptor:324"
      Branch Sides:
      - BranchSide: "com.drew.metadata.TagDescriptor:325"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.TagDescriptor:324"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.TagDescriptor:324"
      Branch Sides:
      - BranchSide: "com.drew.metadata.TagDescriptor:327"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.TagDescriptor:326"
        BranchSideFuncs:
        - "<init>()"
    - Branch String: "com.drew.metadata.TagDescriptor:324"
      Branch Sides:
      - BranchSide: "com.drew.metadata.TagDescriptor:327"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.TagDescriptor:326"
        BranchSideFuncs:
        - "<init>()"
    - Branch String: "com.drew.metadata.TagDescriptor:329"
      Branch Sides:
      - BranchSide: "com.drew.metadata.TagDescriptor:332"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.TagDescriptor:331"
        BranchSideFuncs:
        - "toSimpleString(boolean)"
    - Branch String: "com.drew.metadata.TagDescriptor:334"
      Branch Sides:
      - BranchSide: "com.drew.metadata.TagDescriptor:346"
        BranchSideFuncs:
        - "equals(com.drew.lang.Rational)"
        - "setRoundingMode(java.math.RoundingMode)"
        - "<init>(java.lang.String)"
      - BranchSide: "com.drew.metadata.TagDescriptor:345"
        BranchSideFuncs:
        - "toString()"
    - Branch String: "com.drew.metadata.TagDescriptor:340"
      Branch Sides:
      - BranchSide: "com.drew.metadata.TagDescriptor:343"
        BranchSideFuncs:
        - "getFStopDescription(double)"
      - BranchSide: "com.drew.metadata.TagDescriptor:342"
        BranchSideFuncs:
        - "format(double)"
        - "append(java.lang.String)"
        - "append(char)"
        - "doubleValue()"
    Callsites:
    - Src: "com.drew.metadata.TagDescriptor:322,1"
      Dst: "[com.drew.metadata.Directory].getRationalArray(int)"
    - Src: "com.drew.metadata.TagDescriptor:324,1"
      Dst: "[com.drew.lang.Rational].isZero()"
    - Src: "com.drew.metadata.TagDescriptor:327,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.TagDescriptor:329,1"
      Dst: "[com.drew.lang.Rational].equals(com.drew.lang.Rational)"
    - Src: "com.drew.metadata.TagDescriptor:330,1"
      Dst: "[com.drew.lang.Rational].toSimpleString(boolean)"
    - Src: "com.drew.metadata.TagDescriptor:330,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.TagDescriptor:332,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "com.drew.metadata.TagDescriptor:337,1"
      Dst: "[java.text.DecimalFormat].<init>(java.lang.String)"
    - Src: "com.drew.metadata.TagDescriptor:338,1"
      Dst: "[java.text.DecimalFormat].setRoundingMode(java.math.RoundingMode)"
    - Src: "com.drew.metadata.TagDescriptor:341,1"
      Dst: "[com.drew.lang.Rational].doubleValue()"
    - Src: "com.drew.metadata.TagDescriptor:341,1"
      Dst: "[com.drew.metadata.TagDescriptor].getFStopDescription(double)"
    - Src: "com.drew.metadata.TagDescriptor:343,1"
      Dst: "[java.text.NumberFormat].format(double)"
    - Src: "com.drew.metadata.TagDescriptor:346,1"
      Dst: "[java.lang.StringBuilder].toString()"
    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: 7
  - functionName: "[com.drew.lang.Rational].isZero()"
    functionSourceFile: "com.drew.lang.Rational"
    linkageType: ""
    functionLinenumber: 190
    functionLinenumberEnd: 192
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 4
    ICount: 11
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.lang.Rational:191"
      Branch Sides:
      - BranchSide: "com.drew.lang.Rational:190"
        BranchSideFuncs: []
    - Branch String: "com.drew.lang.Rational:191"
      Branch Sides:
      - BranchSide: "com.drew.lang.Rational:190"
        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: 5
    CyclomaticComplexity: 3
  - functionName: "[com.drew.lang.Rational].equals(com.drew.lang.Rational)"
    functionSourceFile: "com.drew.lang.Rational"
    linkageType: ""
    functionLinenumber: 258
    functionLinenumberEnd: 260
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "com.drew.lang.Rational"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.Rational].doubleValue()"
    functionUses: 2
    ICount: 10
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.drew.lang.Rational:259"
      Branch Sides:
      - BranchSide: "com.drew.lang.Rational:258"
        BranchSideFuncs:
        - "doubleValue()"
    Callsites:
    - Src: "com.drew.lang.Rational:259,1"
      Dst: "[com.drew.lang.Rational].doubleValue()"
    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: "[com.drew.metadata.TagDescriptor].getOrientationDescription(int)"
    functionSourceFile: "com.drew.metadata.TagDescriptor"
    linkageType: ""
    functionLinenumber: 351
    functionLinenumberEnd: 353
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,java.lang.String[])"
    functionUses: 2
    ICount: 13
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.TagDescriptor:352,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,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: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.TagDescriptor].getEncodedTextDescription(int)"
    functionSourceFile: "com.drew.metadata.TagDescriptor"
    linkageType: ""
    functionLinenumber: 388
    functionLinenumberEnd: 423
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getByteArray(int)"
    - "[java.util.HashMap].<init>()"
    - "[java.lang.System].getProperty(java.lang.String)"
    - "[java.util.HashMap].put(java.lang.Object,java.lang.Object)"
    - "[java.lang.String].<init>(byte[],int,int)"
    - "[java.util.HashMap].entrySet()"
    - "[java.util.LinkedHashMap].entrySet()"
    - "[com.adobe.internal.xmp.impl.XMPNode$1].hasNext()"
    - "[jdk.internal.module.ModuleBootstrap$2].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIterator].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIteratorChildren].hasNext()"
    - "[java.nio.file.FileTreeIterator].hasNext()"
    - "[java.nio.file.Files$2].hasNext()"
    - "[java.io.BufferedReader$1].hasNext()"
    - "[java.util.concurrent.ConcurrentHashMap$EntrySetView].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$KeySetView].iterator()"
    - "[java.util.HashSet].iterator()"
    - "[java.util.TreeMap$EntrySet].iterator()"
    - "[java.util.TreeMap$KeySet].iterator()"
    - "[java.util.TreeSet].iterator()"
    - "[java.io.BufferedReader$1].next()"
    - "[jdk.internal.module.ModuleBootstrap$2].next()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIterator].next()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl].next()"
    - "[com.adobe.internal.xmp.impl.XMPNode$1].next()"
    - "[java.nio.file.Files$2].next()"
    - "[java.nio.file.FileTreeIterator].next()"
    - "[java.util.concurrent.ConcurrentHashMap$Node].getKey()"
    - "[java.util.WeakHashMap$Entry].getKey()"
    - "[java.util.HashMap$Node].getKey()"
    - "[java.util.Hashtable$Entry].getKey()"
    - "[java.util.TreeMap$Entry].getKey()"
    - "[java.util.concurrent.ConcurrentHashMap$Node].getValue()"
    - "[java.util.Hashtable$Entry].getValue()"
    - "[java.util.HashMap$Node].getValue()"
    - "[java.util.WeakHashMap$Entry].getValue()"
    - "[java.util.TreeMap$Entry].getValue()"
    - "[java.lang.String].startsWith(java.lang.String)"
    - "[java.lang.String].length()"
    - "[java.lang.String].<init>(byte[],int,int,java.lang.String)"
    - "[java.lang.String].trim()"
    - "[java.lang.String].<init>(byte[],java.lang.String)"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    - "[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: 3
    ICount: 59
    EdgeCount: 49
    BranchProfiles:
    - Branch String: "com.drew.metadata.TagDescriptor:390"
      Branch Sides:
      - BranchSide: "com.drew.metadata.TagDescriptor:392"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.TagDescriptor:391"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.TagDescriptor:392"
      Branch Sides:
      - BranchSide: "com.drew.metadata.TagDescriptor:395"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.TagDescriptor:394"
        BranchSideFuncs:
        - "put(java.lang.Object,java.lang.Object)"
        - "<init>()"
    - Branch String: "com.drew.metadata.TagDescriptor:401"
      Branch Sides:
      - BranchSide: "com.drew.metadata.TagDescriptor:420"
        BranchSideFuncs:
        - "hasNext()"
        - "<init>(byte[],int,int)"
        - "next()"
        - "iterator()"
        - "entrySet()"
      - BranchSide: "com.drew.metadata.TagDescriptor:419"
        BranchSideFuncs:
        - "<init>(byte[],java.lang.String)"
        - "trim()"
        - "getProperty(java.lang.String)"
    - Branch String: "com.drew.metadata.TagDescriptor:405"
      Branch Sides:
      - BranchSide: "com.drew.metadata.TagDescriptor:420"
        BranchSideFuncs:
        - "hasNext()"
        - "getValue()"
        - "next()"
        - "iterator()"
        - "entrySet()"
        - "startsWith(java.lang.String)"
        - "getKey()"
      - BranchSide: "com.drew.metadata.TagDescriptor:419"
        BranchSideFuncs:
        - "<init>(byte[],java.lang.String)"
        - "trim()"
        - "getProperty(java.lang.String)"
    - Branch String: "com.drew.metadata.TagDescriptor:408"
      Branch Sides:
      - BranchSide: "com.drew.metadata.TagDescriptor:417"
        BranchSideFuncs:
        - "hasNext()"
        - "<init>(byte[],int,int)"
        - "getValue()"
        - "<init>(byte[],java.lang.String)"
        - "next()"
        - "trim()"
        - "length()"
        - "put(java.lang.Object,java.lang.Object)"
        - "getProperty(java.lang.String)"
        - "<init>()"
        - "iterator()"
        - "<init>(byte[],int,int,java.lang.String)"
        - "entrySet()"
        - "startsWith(java.lang.String)"
        - "getKey()"
      - BranchSide: "com.drew.metadata.TagDescriptor:416"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.TagDescriptor:410"
      Branch Sides:
      - BranchSide: "com.drew.metadata.TagDescriptor:415"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.TagDescriptor:414"
        BranchSideFuncs:
        - "<init>(byte[],int,int,java.lang.String)"
    - Branch String: "com.drew.metadata.TagDescriptor:412"
      Branch Sides:
      - BranchSide: "com.drew.metadata.TagDescriptor:410"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.TagDescriptor:409"
        BranchSideFuncs:
        - "length()"
    - Branch String: "com.drew.metadata.TagDescriptor:412"
      Branch Sides:
      - BranchSide: "com.drew.metadata.TagDescriptor:410"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.TagDescriptor:409"
        BranchSideFuncs:
        - "length()"
    Callsites:
    - Src: "com.drew.metadata.TagDescriptor:389,1"
      Dst: "[com.drew.metadata.Directory].getByteArray(int)"
    - Src: "com.drew.metadata.TagDescriptor:395,1"
      Dst: "[java.util.HashMap].<init>()"
    - Src: "com.drew.metadata.TagDescriptor:396,1"
      Dst: "[java.lang.System].getProperty(java.lang.String)"
    - Src: "com.drew.metadata.TagDescriptor:396,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    - Src: "com.drew.metadata.TagDescriptor:402,1"
      Dst: "[java.lang.String].<init>(byte[],int,int)"
    - Src: "com.drew.metadata.TagDescriptor:405,1"
      Dst: "[java.util.Map].entrySet()"
    - Src: "com.drew.metadata.TagDescriptor:405,1"
      Dst: "[java.util.Set].iterator()"
    - Src: "com.drew.metadata.TagDescriptor:405,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.drew.metadata.TagDescriptor:405,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.drew.metadata.TagDescriptor:406,1"
      Dst: "[java.util.Map$Entry].getKey()"
    - Src: "com.drew.metadata.TagDescriptor:407,1"
      Dst: "[java.util.Map$Entry].getValue()"
    - Src: "com.drew.metadata.TagDescriptor:408,1"
      Dst: "[java.lang.String].startsWith(java.lang.String)"
    - Src: "com.drew.metadata.TagDescriptor:410,1"
      Dst: "[java.lang.String].length()"
    - Src: "com.drew.metadata.TagDescriptor:413,1"
      Dst: "[java.lang.String].<init>(byte[],int,int,java.lang.String)"
    - Src: "com.drew.metadata.TagDescriptor:413,1"
      Dst: "[java.lang.String].trim()"
    - Src: "com.drew.metadata.TagDescriptor:420,1"
      Dst: "[java.lang.String].<init>(byte[],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: 18
    CyclomaticComplexity: 4
  - functionName: "[com.drew.metadata.bmp.BmpHeaderDirectory$RenderingIntent].valueOf(java.lang.String)"
    functionSourceFile: "com.drew.metadata.bmp.BmpHeaderDirectory$RenderingIntent"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.drew.metadata.bmp.BmpHeaderDirectory$RenderingIntent"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].valueOf(java.lang.Class,java.lang.String)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.bmp.BmpHeaderDirectory$RenderingIntent:434,1"
      Dst: "[java.lang.Enum].valueOf(java.lang.Class,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: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.bmp.BmpHeaderDirectory$RenderingIntent].<init>(java.lang.String,int,int)"
    functionSourceFile: "com.drew.metadata.bmp.BmpHeaderDirectory$RenderingIntent"
    linkageType: ""
    functionLinenumber: 449
    functionLinenumberEnd: 453
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].<init>(java.lang.String,int)"
    functionUses: 4
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.bmp.BmpHeaderDirectory$RenderingIntent:450,1"
      Dst: "[java.lang.Enum].<init>(java.lang.String,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.bmp.BmpHeaderDirectory$RenderingIntent].getValue()"
    functionSourceFile: "com.drew.metadata.bmp.BmpHeaderDirectory$RenderingIntent"
    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: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.bmp.BmpHeaderDirectory$RenderingIntent].$values()"
    functionSourceFile: "com.drew.metadata.bmp.BmpHeaderDirectory$RenderingIntent"
    linkageType: ""
    functionLinenumber: 433
    functionLinenumberEnd: 435
    functionDepth: 0
    returnType: "com.drew.metadata.bmp.BmpHeaderDirectory$RenderingIntent[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 10
    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: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDirectory].<init>()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDirectory"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].<init>()"
    - "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.SonyType1MakernoteDirectory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDirectory:219,1"
      Dst: "[com.drew.metadata.Directory].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDirectory:220,1"
      Dst: "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.SonyType1MakernoteDirectory)"
    - Src: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDirectory:220,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDirectory].getName()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDirectory"
    linkageType: ""
    functionLinenumber: 226
    functionLinenumberEnd: 228
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.exif.makernotes.SonyType1MakernoteDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SonyType1MakernoteDirectory"
    linkageType: ""
    functionLinenumber: 233
    functionLinenumberEnd: 235
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.mov.media.QuickTimeVideoDescriptor].getDescription(int)"
    functionSourceFile: "com.drew.metadata.mov.media.QuickTimeVideoDescriptor"
    linkageType: ""
    functionLinenumber: 40
    functionLinenumberEnd: 53
    functionDepth: 3
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mov.media.QuickTimeVideoDescriptor].getPixelDescription(int)"
    - "[com.drew.metadata.mov.media.QuickTimeVideoDescriptor].getDepthDescription(int)"
    - "[com.drew.metadata.mov.media.QuickTimeVideoDescriptor].getColorTableDescription(int)"
    - "[com.drew.metadata.mov.media.QuickTimeVideoDescriptor].getGraphicsModeDescription()"
    - "[com.drew.metadata.mov.QuickTimeDescriptor].getDescription(int)"
    functionUses: 1
    ICount: 13
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.media.QuickTimeVideoDescriptor:44,1"
      Dst: "[com.drew.metadata.mov.media.QuickTimeVideoDescriptor].getPixelDescription(int)"
    - Src: "com.drew.metadata.mov.media.QuickTimeVideoDescriptor:46,1"
      Dst: "[com.drew.metadata.mov.media.QuickTimeVideoDescriptor].getDepthDescription(int)"
    - Src: "com.drew.metadata.mov.media.QuickTimeVideoDescriptor:48,1"
      Dst: "[com.drew.metadata.mov.media.QuickTimeVideoDescriptor].getColorTableDescription(int)"
    - Src: "com.drew.metadata.mov.media.QuickTimeVideoDescriptor:50,1"
      Dst: "[com.drew.metadata.mov.media.QuickTimeVideoDescriptor].getGraphicsModeDescription()"
    - Src: "com.drew.metadata.mov.media.QuickTimeVideoDescriptor:52,1"
      Dst: "[com.drew.metadata.mov.QuickTimeDescriptor].getDescription(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: 6
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.mov.media.QuickTimeVideoDescriptor].getPixelDescription(int)"
    functionSourceFile: "com.drew.metadata.mov.media.QuickTimeVideoDescriptor"
    linkageType: ""
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getString(int)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 14
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.drew.metadata.mov.media.QuickTimeVideoDescriptor:59"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.media.QuickTimeVideoDescriptor:57"
        BranchSideFuncs:
        - "<init>()"
        - "append(java.lang.String)"
        - "toString()"
        - "getString(int)"
    Callsites:
    - Src: "com.drew.metadata.mov.media.QuickTimeVideoDescriptor:58,1"
      Dst: "[com.drew.metadata.Directory].getString(int)"
    - Src: "com.drew.metadata.mov.media.QuickTimeVideoDescriptor:59,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.mov.media.QuickTimeVideoDescriptor:59,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.mov.media.QuickTimeVideoDescriptor:59,1"
      Dst: "[java.lang.StringBuilder].toString()"
    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: "[com.drew.metadata.mov.media.QuickTimeVideoDescriptor].getDepthDescription(int)"
    functionSourceFile: "com.drew.metadata.mov.media.QuickTimeVideoDescriptor"
    linkageType: ""
    functionLinenumber: 63
    functionLinenumberEnd: 83
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].append(int)"
    functionUses: 1
    ICount: 30
    EdgeCount: 12
    BranchProfiles:
    - Branch String: "com.drew.metadata.mov.media.QuickTimeVideoDescriptor:65"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.media.QuickTimeVideoDescriptor:68"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.mov.media.QuickTimeVideoDescriptor:67"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.mov.media.QuickTimeVideoDescriptor:64,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.mov.media.QuickTimeVideoDescriptor:68,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.mov.media.QuickTimeVideoDescriptor:76,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.mov.media.QuickTimeVideoDescriptor:76,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.drew.metadata.mov.media.QuickTimeVideoDescriptor:76,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.mov.media.QuickTimeVideoDescriptor:76,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "com.drew.metadata.mov.media.QuickTimeVideoDescriptor:80,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    JavaMethodInfo:
      exceptions: []
      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: "[com.drew.metadata.mov.media.QuickTimeVideoDescriptor].getColorTableDescription(int)"
    functionSourceFile: "com.drew.metadata.mov.media.QuickTimeVideoDescriptor"
    linkageType: ""
    functionLinenumber: 87
    functionLinenumberEnd: 104
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    functionUses: 1
    ICount: 25
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "com.drew.metadata.mov.media.QuickTimeVideoDescriptor:89"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.media.QuickTimeVideoDescriptor:92"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.mov.media.QuickTimeVideoDescriptor:91"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mov.media.QuickTimeVideoDescriptor:95"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.media.QuickTimeVideoDescriptor:98"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.mov.media.QuickTimeVideoDescriptor:97"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mov.media.QuickTimeVideoDescriptor:95"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.media.QuickTimeVideoDescriptor:98"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.mov.media.QuickTimeVideoDescriptor:97"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.mov.media.QuickTimeVideoDescriptor:88,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.mov.media.QuickTimeVideoDescriptor:92,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.mov.media.QuickTimeVideoDescriptor:103,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.mov.media.QuickTimeVideoDescriptor:103,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.mov.media.QuickTimeVideoDescriptor:103,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.drew.metadata.mov.media.QuickTimeVideoDescriptor:103,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 9
    CyclomaticComplexity: 2
  - functionName: "[com.drew.metadata.mov.media.QuickTimeVideoDescriptor].getGraphicsModeDescription()"
    functionSourceFile: "com.drew.metadata.mov.media.QuickTimeVideoDescriptor"
    linkageType: ""
    functionLinenumber: 108
    functionLinenumberEnd: 134
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 24
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "com.drew.metadata.mov.media.QuickTimeVideoDescriptor:110"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.media.QuickTimeVideoDescriptor:113"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.mov.media.QuickTimeVideoDescriptor:112"
        BranchSideFuncs:
        - "intValue()"
    Callsites:
    - Src: "com.drew.metadata.mov.media.QuickTimeVideoDescriptor:109,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.mov.media.QuickTimeVideoDescriptor:113,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.mov.media.QuickTimeVideoDescriptor:133,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.mov.media.QuickTimeVideoDescriptor:133,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.mov.media.QuickTimeVideoDescriptor:133,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.drew.metadata.mov.media.QuickTimeVideoDescriptor:133,1"
      Dst: "[java.lang.StringBuilder].toString()"
    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: 1
  - functionName: "[com.drew.imaging.quicktime.QuickTimeTypeChecker].<init>()"
    functionSourceFile: "com.drew.imaging.quicktime.QuickTimeTypeChecker"
    linkageType: ""
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.quicktime.QuickTimeTypeChecker:28,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: "[com.drew.imaging.quicktime.QuickTimeTypeChecker].getByteCount()"
    functionSourceFile: "com.drew.imaging.quicktime.QuickTimeTypeChecker"
    linkageType: ""
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.imaging.quicktime.QuickTimeTypeChecker].checkType(byte[])"
    functionSourceFile: "com.drew.imaging.quicktime.QuickTimeTypeChecker"
    linkageType: ""
    functionLinenumber: 101
    functionLinenumberEnd: 118
    functionDepth: 0
    returnType: "com.drew.imaging.FileType"
    argCount: 1
    argTypes:
    - "byte[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].<init>(byte[],int,int)"
    - "[java.util.HashMap:java.util.LinkedHashMap].get(java.lang.Object)"
    - "[java.util.HashMap].get(java.lang.Object)"
    functionUses: 1
    ICount: 25
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.drew.imaging.quicktime.QuickTimeTypeChecker:102"
      Branch Sides:
      - BranchSide: "com.drew.imaging.quicktime.QuickTimeTypeChecker:116"
        BranchSideFuncs: []
    - Branch String: "com.drew.imaging.quicktime.QuickTimeTypeChecker:102"
      Branch Sides:
      - BranchSide: "com.drew.imaging.quicktime.QuickTimeTypeChecker:116"
        BranchSideFuncs: []
    - Branch String: "com.drew.imaging.quicktime.QuickTimeTypeChecker:102"
      Branch Sides:
      - BranchSide: "com.drew.imaging.quicktime.QuickTimeTypeChecker:116"
        BranchSideFuncs: []
    - Branch String: "com.drew.imaging.quicktime.QuickTimeTypeChecker:102"
      Branch Sides:
      - BranchSide: "com.drew.imaging.quicktime.QuickTimeTypeChecker:116"
        BranchSideFuncs: []
    - Branch String: "com.drew.imaging.quicktime.QuickTimeTypeChecker:111"
      Branch Sides:
      - BranchSide: "com.drew.imaging.quicktime.QuickTimeTypeChecker:114"
        BranchSideFuncs: []
      - BranchSide: "com.drew.imaging.quicktime.QuickTimeTypeChecker:113"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.imaging.quicktime.QuickTimeTypeChecker:107,1"
      Dst: "[java.lang.String].<init>(byte[],int,int)"
    - Src: "com.drew.imaging.quicktime.QuickTimeTypeChecker:109,1"
      Dst: "[java.util.HashMap].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: 8
    CyclomaticComplexity: 4
  - functionName: "[com.drew.metadata.jfxx.JfxxDescriptor].getDescription(int)"
    functionSourceFile: "com.drew.metadata.jfxx.JfxxDescriptor"
    linkageType: ""
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.jfxx.JfxxDescriptor].getExtensionCodeDescription()"
    - "[com.drew.metadata.TagDescriptor].getDescription(int)"
    functionUses: 1
    ICount: 7
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.jfxx.JfxxDescriptor:53,1"
      Dst: "[com.drew.metadata.jfxx.JfxxDescriptor].getExtensionCodeDescription()"
    - Src: "com.drew.metadata.jfxx.JfxxDescriptor:55,1"
      Dst: "[com.drew.metadata.TagDescriptor].getDescription(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: 3
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.jfxx.JfxxDescriptor].getExtensionCodeDescription()"
    functionSourceFile: "com.drew.metadata.jfxx.JfxxDescriptor"
    linkageType: ""
    functionLinenumber: 61
    functionLinenumberEnd: 70
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    functionUses: 1
    ICount: 17
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "com.drew.metadata.jfxx.JfxxDescriptor:63"
      Branch Sides:
      - BranchSide: "com.drew.metadata.jfxx.JfxxDescriptor:65"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.jfxx.JfxxDescriptor:64"
        BranchSideFuncs:
        - "intValue()"
    Callsites:
    - Src: "com.drew.metadata.jfxx.JfxxDescriptor:62,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.jfxx.JfxxDescriptor:65,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.jfxx.JfxxDescriptor:69,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.jfxx.JfxxDescriptor:69,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.jfxx.JfxxDescriptor:69,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.drew.metadata.jfxx.JfxxDescriptor:69,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: 7
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.mp4.media.Mp4UuidBoxDirectory].getName()"
    functionSourceFile: "com.drew.metadata.mp4.media.Mp4UuidBoxDirectory"
    linkageType: ""
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.mp4.media.Mp4UuidBoxDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.mp4.media.Mp4UuidBoxDirectory"
    linkageType: ""
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDirectory].<init>()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDirectory"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].<init>()"
    - "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.NikonType2MakernoteDirectory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDirectory:909,1"
      Dst: "[com.drew.metadata.Directory].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDirectory:910,1"
      Dst: "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.NikonType2MakernoteDirectory)"
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDirectory:910,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDirectory].getName()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDirectory"
    linkageType: ""
    functionLinenumber: 916
    functionLinenumberEnd: 918
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDirectory"
    linkageType: ""
    functionLinenumber: 923
    functionLinenumberEnd: 925
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDirectory].getDecryptedIntArray(int)"
    functionSourceFile: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDirectory"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int[]"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getIntArray(int)"
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    functionUses: 0
    ICount: 40
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDirectory:970"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDirectory:971"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDirectory:970"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDirectory:970"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDirectory:971"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDirectory:970"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDirectory:970"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDirectory:973"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDirectory:972"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDirectory:974"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDirectory:976"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDirectory:981"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDirectory:987"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDirectory:966,1"
      Dst: "[com.drew.metadata.Directory].getIntArray(int)"
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDirectory:967,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDirectory:975,1"
      Dst: "[java.lang.Integer].intValue()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 11
    CyclomaticComplexity: 5
  - functionName: "[com.drew.metadata.photoshop.PsdHeaderDescriptor].getDescription(int)"
    functionSourceFile: "com.drew.metadata.photoshop.PsdHeaderDescriptor"
    linkageType: ""
    functionLinenumber: 43
    functionLinenumberEnd: 57
    functionDepth: 3
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.photoshop.PsdHeaderDescriptor].getChannelCountDescription()"
    - "[com.drew.metadata.photoshop.PsdHeaderDescriptor].getBitsPerChannelDescription()"
    - "[com.drew.metadata.photoshop.PsdHeaderDescriptor].getColorModeDescription()"
    - "[com.drew.metadata.photoshop.PsdHeaderDescriptor].getImageHeightDescription()"
    - "[com.drew.metadata.photoshop.PsdHeaderDescriptor].getImageWidthDescription()"
    - "[com.drew.metadata.TagDescriptor].getDescription(int)"
    functionUses: 1
    ICount: 15
    EdgeCount: 6
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.photoshop.PsdHeaderDescriptor:46,1"
      Dst: "[com.drew.metadata.photoshop.PsdHeaderDescriptor].getChannelCountDescription()"
    - Src: "com.drew.metadata.photoshop.PsdHeaderDescriptor:48,1"
      Dst: "[com.drew.metadata.photoshop.PsdHeaderDescriptor].getBitsPerChannelDescription()"
    - Src: "com.drew.metadata.photoshop.PsdHeaderDescriptor:50,1"
      Dst: "[com.drew.metadata.photoshop.PsdHeaderDescriptor].getColorModeDescription()"
    - Src: "com.drew.metadata.photoshop.PsdHeaderDescriptor:52,1"
      Dst: "[com.drew.metadata.photoshop.PsdHeaderDescriptor].getImageHeightDescription()"
    - Src: "com.drew.metadata.photoshop.PsdHeaderDescriptor:54,1"
      Dst: "[com.drew.metadata.photoshop.PsdHeaderDescriptor].getImageWidthDescription()"
    - Src: "com.drew.metadata.photoshop.PsdHeaderDescriptor:56,1"
      Dst: "[com.drew.metadata.TagDescriptor].getDescription(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: 7
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.photoshop.PsdHeaderDescriptor].getChannelCountDescription()"
    functionSourceFile: "com.drew.metadata.photoshop.PsdHeaderDescriptor"
    linkageType: ""
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    functionUses: 1
    ICount: 18
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "com.drew.metadata.photoshop.PsdHeaderDescriptor:65"
      Branch Sides:
      - BranchSide: "com.drew.metadata.photoshop.PsdHeaderDescriptor:67"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.photoshop.PsdHeaderDescriptor:66"
        BranchSideFuncs:
        - "<init>()"
        - "intValue()"
        - "append(java.lang.String)"
        - "toString()"
    - Branch String: "com.drew.metadata.photoshop.PsdHeaderDescriptor:67"
      Branch Sides:
      - BranchSide: "com.drew.metadata.photoshop.PsdHeaderDescriptor:66"
        BranchSideFuncs:
        - "<init>()"
        - "intValue()"
        - "append(java.lang.String)"
        - "toString()"
    Callsites:
    - Src: "com.drew.metadata.photoshop.PsdHeaderDescriptor:64,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.photoshop.PsdHeaderDescriptor:67,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.photoshop.PsdHeaderDescriptor:67,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.drew.metadata.photoshop.PsdHeaderDescriptor:67,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.photoshop.PsdHeaderDescriptor:67,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.photoshop.PsdHeaderDescriptor:67,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: 6
    CyclomaticComplexity: 2
  - functionName: "[com.drew.metadata.photoshop.PsdHeaderDescriptor].getBitsPerChannelDescription()"
    functionSourceFile: "com.drew.metadata.photoshop.PsdHeaderDescriptor"
    linkageType: ""
    functionLinenumber: 73
    functionLinenumberEnd: 78
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    functionUses: 1
    ICount: 19
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "com.drew.metadata.photoshop.PsdHeaderDescriptor:75"
      Branch Sides:
      - BranchSide: "com.drew.metadata.photoshop.PsdHeaderDescriptor:77"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.photoshop.PsdHeaderDescriptor:76"
        BranchSideFuncs:
        - "<init>()"
        - "intValue()"
        - "append(java.lang.String)"
        - "toString()"
    - Branch String: "com.drew.metadata.photoshop.PsdHeaderDescriptor:77"
      Branch Sides:
      - BranchSide: "com.drew.metadata.photoshop.PsdHeaderDescriptor:76"
        BranchSideFuncs:
        - "<init>()"
        - "intValue()"
        - "append(java.lang.String)"
        - "toString()"
    Callsites:
    - Src: "com.drew.metadata.photoshop.PsdHeaderDescriptor:74,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.photoshop.PsdHeaderDescriptor:77,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.photoshop.PsdHeaderDescriptor:77,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.drew.metadata.photoshop.PsdHeaderDescriptor:77,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.photoshop.PsdHeaderDescriptor:77,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.photoshop.PsdHeaderDescriptor:77,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: 6
    CyclomaticComplexity: 2
  - functionName: "[com.drew.metadata.photoshop.PsdHeaderDescriptor].getColorModeDescription()"
    functionSourceFile: "com.drew.metadata.photoshop.PsdHeaderDescriptor"
    linkageType: ""
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 14
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.photoshop.PsdHeaderDescriptor:83,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.photoshop.PsdHeaderDescriptor].getImageHeightDescription()"
    functionSourceFile: "com.drew.metadata.photoshop.PsdHeaderDescriptor"
    linkageType: ""
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    functionUses: 1
    ICount: 18
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "com.drew.metadata.photoshop.PsdHeaderDescriptor:100"
      Branch Sides:
      - BranchSide: "com.drew.metadata.photoshop.PsdHeaderDescriptor:102"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.photoshop.PsdHeaderDescriptor:101"
        BranchSideFuncs:
        - "<init>()"
        - "intValue()"
        - "append(java.lang.String)"
        - "toString()"
    - Branch String: "com.drew.metadata.photoshop.PsdHeaderDescriptor:102"
      Branch Sides:
      - BranchSide: "com.drew.metadata.photoshop.PsdHeaderDescriptor:101"
        BranchSideFuncs:
        - "<init>()"
        - "intValue()"
        - "append(java.lang.String)"
        - "toString()"
    Callsites:
    - Src: "com.drew.metadata.photoshop.PsdHeaderDescriptor:99,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.photoshop.PsdHeaderDescriptor:102,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.photoshop.PsdHeaderDescriptor:102,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.drew.metadata.photoshop.PsdHeaderDescriptor:102,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.photoshop.PsdHeaderDescriptor:102,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.photoshop.PsdHeaderDescriptor:102,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: 6
    CyclomaticComplexity: 2
  - functionName: "[com.drew.metadata.photoshop.PsdHeaderDescriptor].getImageWidthDescription()"
    functionSourceFile: "com.drew.metadata.photoshop.PsdHeaderDescriptor"
    linkageType: ""
    functionLinenumber: 108
    functionLinenumberEnd: 115
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    functionUses: 1
    ICount: 20
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "com.drew.metadata.photoshop.PsdHeaderDescriptor:110"
      Branch Sides:
      - BranchSide: "com.drew.metadata.photoshop.PsdHeaderDescriptor:112"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.photoshop.PsdHeaderDescriptor:111"
        BranchSideFuncs:
        - "<init>()"
        - "intValue()"
        - "append(java.lang.String)"
        - "toString()"
    - Branch String: "com.drew.metadata.photoshop.PsdHeaderDescriptor:112"
      Branch Sides:
      - BranchSide: "com.drew.metadata.photoshop.PsdHeaderDescriptor:112"
        BranchSideFuncs:
        - "<init>()"
        - "intValue()"
        - "append(java.lang.String)"
        - "toString()"
      - BranchSide: "com.drew.metadata.photoshop.PsdHeaderDescriptor:111"
        BranchSideFuncs:
        - "<init>()"
        - "intValue()"
        - "append(java.lang.String)"
        - "toString()"
    Callsites:
    - Src: "com.drew.metadata.photoshop.PsdHeaderDescriptor:109,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.photoshop.PsdHeaderDescriptor:112,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.photoshop.PsdHeaderDescriptor:112,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.drew.metadata.photoshop.PsdHeaderDescriptor:112,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.photoshop.PsdHeaderDescriptor:112,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.photoshop.PsdHeaderDescriptor: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: 7
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.mov.media.QuickTimeSoundDirectory].<init>()"
    functionSourceFile: "com.drew.metadata.mov.media.QuickTimeSoundDirectory"
    linkageType: ""
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionDepth: 3
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mov.QuickTimeDirectory].<init>()"
    - "[com.drew.metadata.mov.media.QuickTimeSoundDescriptor].<init>(com.drew.metadata.mov.QuickTimeDirectory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 1
    ICount: 6
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.media.QuickTimeSoundDirectory:42,1"
      Dst: "[com.drew.metadata.mov.QuickTimeDirectory].<init>()"
    - Src: "com.drew.metadata.mov.media.QuickTimeSoundDirectory:43,1"
      Dst: "[com.drew.metadata.mov.media.QuickTimeSoundDescriptor].<init>(com.drew.metadata.mov.QuickTimeDirectory)"
    - Src: "com.drew.metadata.mov.media.QuickTimeSoundDirectory:43,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.mov.media.QuickTimeSoundDirectory].getName()"
    functionSourceFile: "com.drew.metadata.mov.media.QuickTimeSoundDirectory"
    linkageType: ""
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.mov.media.QuickTimeSoundDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.mov.media.QuickTimeSoundDirectory"
    linkageType: ""
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.heif.HeifDirectory].getName()"
    functionSourceFile: "com.drew.metadata.heif.HeifDirectory"
    linkageType: ""
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.heif.HeifDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.heif.HeifDirectory"
    linkageType: ""
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.PanasonicRawDistortionDirectory].<init>()"
    functionSourceFile: "com.drew.metadata.exif.PanasonicRawDistortionDirectory"
    linkageType: ""
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].<init>()"
    - "[com.drew.metadata.exif.PanasonicRawDistortionDescriptor].<init>(com.drew.metadata.exif.PanasonicRawDistortionDirectory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 1
    ICount: 6
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.PanasonicRawDistortionDirectory:69,1"
      Dst: "[com.drew.metadata.Directory].<init>()"
    - Src: "com.drew.metadata.exif.PanasonicRawDistortionDirectory:70,1"
      Dst: "[com.drew.metadata.exif.PanasonicRawDistortionDescriptor].<init>(com.drew.metadata.exif.PanasonicRawDistortionDirectory)"
    - Src: "com.drew.metadata.exif.PanasonicRawDistortionDirectory:70,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.exif.PanasonicRawDistortionDirectory].getName()"
    functionSourceFile: "com.drew.metadata.exif.PanasonicRawDistortionDirectory"
    linkageType: ""
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.exif.PanasonicRawDistortionDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.exif.PanasonicRawDistortionDirectory"
    linkageType: ""
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.webp.WebpDescriptor].<init>(com.drew.metadata.webp.WebpDirectory)"
    functionSourceFile: "com.drew.metadata.webp.WebpDescriptor"
    linkageType: ""
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.webp.WebpDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.webp.WebpDescriptor:35,1"
      Dst: "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    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: "[com.drew.metadata.webp.WebpDescriptor].getDescription(int)"
    functionSourceFile: "com.drew.metadata.webp.WebpDescriptor"
    linkageType: ""
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getDescription(int)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.webp.WebpDescriptor:44,1"
      Dst: "[com.drew.metadata.TagDescriptor].getDescription(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: 2
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.mov.atoms.TimecodeSampleDescriptionAtom$TimecodeSampleDescription].<init>(com.drew.lang.SequentialReader)"
    functionSourceFile: "com.drew.metadata.mov.atoms.TimecodeSampleDescriptionAtom$TimecodeSampleDescription"
    linkageType: ""
    functionLinenumber: 68
    functionLinenumberEnd: 79
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.lang.SequentialReader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mov.atoms.SampleDescription].<init>(com.drew.lang.SequentialReader)"
    - "[com.drew.lang.StreamReader].skip(long)"
    - "[com.drew.lang.SequentialByteArrayReader].skip(long)"
    - "[com.drew.lang.SequentialReader].getInt32()"
    - "[com.drew.lang.SequentialReader].getInt8()"
    - "[com.drew.lang.SequentialReader].skip(long)"
    functionUses: 1
    ICount: 15
    EdgeCount: 9
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.atoms.TimecodeSampleDescriptionAtom$TimecodeSampleDescription:69,1"
      Dst: "[com.drew.metadata.mov.atoms.SampleDescription].<init>(com.drew.lang.SequentialReader)"
    - Src: "com.drew.metadata.mov.atoms.TimecodeSampleDescriptionAtom$TimecodeSampleDescription:71,1"
      Dst: "[com.drew.lang.SequentialReader].skip(long)"
    - Src: "com.drew.metadata.mov.atoms.TimecodeSampleDescriptionAtom$TimecodeSampleDescription:72,1"
      Dst: "[com.drew.lang.SequentialReader].getInt32()"
    - Src: "com.drew.metadata.mov.atoms.TimecodeSampleDescriptionAtom$TimecodeSampleDescription:75,1"
      Dst: "[com.drew.lang.SequentialReader].getInt8()"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.exif.ExifTiffHandler].setTiffMarker(int)"
    functionSourceFile: "com.drew.metadata.exif.ExifTiffHandler"
    linkageType: ""
    functionLinenumber: 74
    functionLinenumberEnd: 88
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.tiff.DirectoryTiffHandler].pushDirectory(java.lang.Class)"
    - "[com.drew.imaging.tiff.TiffProcessingException].<init>(java.lang.String)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.lang.Integer].valueOf(int)"
    functionUses: 1
    ICount: 15
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.ExifTiffHandler:79,1"
      Dst: "[com.drew.metadata.tiff.DirectoryTiffHandler].pushDirectory(java.lang.Class)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:85,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:85,1"
      Dst: "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:85,1"
      Dst: "[com.drew.imaging.tiff.TiffProcessingException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions:
      - "com.drew.imaging.tiff.TiffProcessingException"
      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: "[com.drew.metadata.exif.ExifTiffHandler].tryEnterSubIfd(int)"
    functionSourceFile: "com.drew.metadata.exif.ExifTiffHandler"
    linkageType: ""
    functionLinenumber: 90
    functionLinenumberEnd: 143
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.tiff.DirectoryTiffHandler].pushDirectory(java.lang.Class)"
    functionUses: 1
    ICount: 47
    EdgeCount: 12
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:91"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:96"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:95"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:96"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:null"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:96"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:106"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:105"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:97"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:null"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:102"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:142"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:141"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:106"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:111"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:110"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:107"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:142"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:141"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:111"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:141"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.exif.ExifTiffHandler:92,1"
      Dst: "[com.drew.metadata.tiff.DirectoryTiffHandler].pushDirectory(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: 22
    CyclomaticComplexity: 5
  - functionName: "[com.drew.metadata.exif.ExifTiffHandler].hasFollowerIfd()"
    functionSourceFile: "com.drew.metadata.exif.ExifTiffHandler"
    linkageType: ""
    functionLinenumber: 148
    functionLinenumberEnd: 166
    functionDepth: 2
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].containsTag(int)"
    - "[com.drew.metadata.tiff.DirectoryTiffHandler].pushDirectory(java.lang.Class)"
    - "[com.drew.metadata.exif.ExifThumbnailDirectory].<init>(int)"
    - "[com.drew.metadata.tiff.DirectoryTiffHandler].pushDirectory(com.drew.metadata.Directory)"
    functionUses: 1
    ICount: 22
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:149"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:151"
        BranchSideFuncs:
        - "containsTag(int)"
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:149"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:159"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:152"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:155"
        BranchSideFuncs:
        - "pushDirectory(java.lang.Class)"
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:154"
        BranchSideFuncs:
        - "<init>(int)"
        - "pushDirectory(com.drew.metadata.Directory)"
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:160"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:165"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:164"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.exif.ExifTiffHandler:152,1"
      Dst: "[com.drew.metadata.Directory].containsTag(int)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:153,1"
      Dst: "[com.drew.metadata.tiff.DirectoryTiffHandler].pushDirectory(java.lang.Class)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:155,1"
      Dst: "[com.drew.metadata.exif.ExifThumbnailDirectory].<init>(int)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:155,1"
      Dst: "[com.drew.metadata.tiff.DirectoryTiffHandler].pushDirectory(com.drew.metadata.Directory)"
    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: "[com.drew.metadata.exif.ExifThumbnailDescriptor].<init>(com.drew.metadata.exif.ExifThumbnailDirectory)"
    functionSourceFile: "com.drew.metadata.exif.ExifThumbnailDescriptor"
    linkageType: ""
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.exif.ExifThumbnailDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.ExifDescriptorBase].<init>(com.drew.metadata.Directory)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.ExifThumbnailDescriptor:39,1"
      Dst: "[com.drew.metadata.exif.ExifDescriptorBase].<init>(com.drew.metadata.Directory)"
    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: "[com.drew.metadata.exif.ExifTiffHandler].tryCustomProcessFormat(int,int,long)"
    functionSourceFile: "com.drew.metadata.exif.ExifTiffHandler"
    linkageType: ""
    functionLinenumber: 170
    functionLinenumberEnd: 179
    functionDepth: 0
    returnType: "java.lang.Long"
    argCount: 3
    argTypes:
    - "int"
    - "int"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Long].valueOf(long)"
    functionUses: 1
    ICount: 12
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:171"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:175"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:174"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:175"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:178"
        BranchSideFuncs:
        - "valueOf(long)"
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:177"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.exif.ExifTiffHandler:172,1"
      Dst: "[java.lang.Long].valueOf(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: 5
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.ExifTiffHandler].customProcessTag(int,java.util.Set,int,com.drew.lang.RandomAccessReader,int,int)"
    functionSourceFile: "com.drew.metadata.exif.ExifTiffHandler"
    linkageType: ""
    functionLinenumber: 187
    functionLinenumberEnd: 369
    functionDepth: 7
    returnType: "boolean"
    argCount: 6
    argTypes:
    - "int"
    - "java.util.Set"
    - "int"
    - "com.drew.lang.RandomAccessReader"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.AssertionError].<init>()"
    - "[com.drew.metadata.Directory].containsTag(int)"
    - "[com.drew.metadata.exif.ExifTiffHandler].processMakernote(int,java.util.Set,int,com.drew.lang.RandomAccessReader)"
    - "[com.drew.lang.RandomAccessReader].getInt8(int)"
    - "[com.drew.lang.ByteArrayReader].getBytes(int,int)"
    - "[com.drew.lang.RandomAccessStreamReader].getBytes(int,int)"
    - "[com.drew.lang.RandomAccessFileReader].getBytes(int,int)"
    - "[com.drew.lang.SequentialByteArrayReader].<init>(byte[])"
    - "[com.drew.metadata.iptc.IptcReader].<init>()"
    - "[com.drew.metadata.iptc.IptcReader].extract(com.drew.lang.SequentialReader,com.drew.metadata.Metadata,long,com.drew.metadata.Directory)"
    - "[com.drew.lang.ByteArrayReader].<init>(byte[])"
    - "[com.drew.metadata.icc.IccReader].<init>()"
    - "[com.drew.metadata.icc.IccReader].extract(com.drew.lang.RandomAccessReader,com.drew.metadata.Metadata,com.drew.metadata.Directory)"
    - "[com.drew.metadata.photoshop.PhotoshopReader].<init>()"
    - "[com.drew.metadata.photoshop.PhotoshopReader].extract(com.drew.lang.SequentialReader,int,com.drew.metadata.Metadata,com.drew.metadata.Directory)"
    - "[com.drew.metadata.xmp.XmpReader].<init>()"
    - "[com.drew.metadata.xmp.XmpReader].extract(byte[],com.drew.metadata.Metadata,com.drew.metadata.Directory)"
    - "[com.drew.lang.RandomAccessReader].getNullTerminatedBytes(int,int)"
    - "[com.drew.metadata.apple.AppleRunTimeReader].<init>()"
    - "[com.drew.metadata.apple.AppleRunTimeReader].extract(byte[],com.drew.metadata.Metadata,com.drew.metadata.Directory)"
    - "[com.drew.metadata.exif.ExifTiffHandler].handlePrintIM(com.drew.metadata.Directory,int)"
    - "[com.drew.metadata.exif.PrintIMDirectory].<init>()"
    - "[com.drew.metadata.Directory].setParent(com.drew.metadata.Directory)"
    - "[com.drew.metadata.Metadata].addDirectory(com.drew.metadata.Directory)"
    - "[com.drew.metadata.exif.ExifTiffHandler].processPrintIM(com.drew.metadata.exif.PrintIMDirectory,int,com.drew.lang.RandomAccessReader,int)"
    - "[com.drew.metadata.tiff.DirectoryTiffHandler].pushDirectory(java.lang.Class)"
    - "[com.drew.imaging.tiff.TiffReader].processIfd(com.drew.imaging.tiff.TiffHandler,com.drew.lang.RandomAccessReader,java.util.Set,int,int)"
    - "[com.drew.metadata.exif.PanasonicRawWbInfoDirectory].<init>()"
    - "[com.drew.metadata.exif.ExifTiffHandler].processBinary(com.drew.metadata.Directory,int,com.drew.lang.RandomAccessReader,int,java.lang.Boolean,int)"
    - "[java.lang.Boolean].valueOf(boolean)"
    - "[com.drew.metadata.exif.PanasonicRawWbInfo2Directory].<init>()"
    - "[com.drew.metadata.exif.PanasonicRawDistortionDirectory].<init>()"
    - "[java.io.ByteArrayInputStream].<init>(byte[])"
    - "[com.drew.imaging.jpeg.JpegMetadataReader].readMetadata(java.io.InputStream)"
    - "[com.drew.metadata.Metadata].getDirectories()"
    - "[com.adobe.internal.xmp.impl.XMPNode$1].hasNext()"
    - "[jdk.internal.module.ModuleBootstrap$2].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIterator].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIteratorChildren].hasNext()"
    - "[java.nio.file.FileTreeIterator].hasNext()"
    - "[java.nio.file.Files$2].hasNext()"
    - "[java.io.BufferedReader$1].hasNext()"
    - "[java.util.concurrent.ConcurrentHashMap$EntrySetView].iterator()"
    - "[java.util.concurrent.CopyOnWriteArrayList].iterator()"
    - "[java.util.concurrent.LinkedBlockingQueue].iterator()"
    - "[java.util.ServiceLoader].iterator()"
    - "[java.util.ArrayDeque].iterator()"
    - "[java.util.AbstractSequentialList].iterator()"
    - "[java.util.TreeSet].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$KeySetView].iterator()"
    - "[java.util.Vector].iterator()"
    - "[java.util.HashSet].iterator()"
    - "[java.util.AbstractList].iterator()"
    - "[java.util.TreeMap$EntrySet].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$ValuesView].iterator()"
    - "[java.util.TreeMap$KeySet].iterator()"
    - "[java.nio.file.Path].iterator()"
    - "[java.util.ArrayList].iterator()"
    - "[java.io.BufferedReader$1].next()"
    - "[jdk.internal.module.ModuleBootstrap$2].next()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIterator].next()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl].next()"
    - "[com.adobe.internal.xmp.impl.XMPNode$1].next()"
    - "[java.nio.file.Files$2].next()"
    - "[java.nio.file.FileTreeIterator].next()"
    - "[java.lang.StringBuilder].<init>()"
    - "[com.drew.metadata.Directory].addError(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.Throwable].getMessage()"
    - "[java.lang.StringBuilder].toString()"
    - "[java.io.InvalidClassException].getMessage()"
    - "[java.nio.file.FileSystemException].getMessage()"
    - "[com.drew.metadata.exif.makernotes.SonyTag9050bDirectory].read(byte[])"
    - "[com.drew.metadata.exif.makernotes.NikonPictureControl1Directory].read(byte[])"
    - "[com.drew.metadata.exif.makernotes.NikonPictureControl2Directory].read(byte[])"
    - "[com.drew.lang.RandomAccessReader].getBytes(int,int)"
    - "[java.lang.Iterable].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    functionUses: 2
    ICount: 243
    EdgeCount: 137
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:188"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:191"
        BranchSideFuncs:
        - "valueOf(boolean)"
        - "hasNext()"
        - "getInt8(int)"
        - "processPrintIM(com.drew.metadata.exif.PrintIMDirectory,int,com.drew.lang.RandomAccessReader,int)"
        - "append(java.lang.String)"
        - "next()"
        - "getMessage()"
        - "extract(com.drew.lang.SequentialReader,com.drew.metadata.Metadata,long,com.drew.metadata.Directory)"
        - "getNullTerminatedBytes(int,int)"
        - "handlePrintIM(com.drew.metadata.Directory,int)"
        - "containsTag(int)"
        - "<init>()"
        - "getDirectories()"
        - "addError(java.lang.String)"
        - "<init>(byte[])"
        - "extract(com.drew.lang.SequentialReader,int,com.drew.metadata.Metadata,com.drew.metadata.Directory)"
        - "pushDirectory(java.lang.Class)"
        - "readMetadata(java.io.InputStream)"
        - "toString()"
        - "processMakernote(int,java.util.Set,int,com.drew.lang.RandomAccessReader)"
        - "extract(byte[],com.drew.metadata.Metadata,com.drew.metadata.Directory)"
        - "processBinary(com.drew.metadata.Directory,int,com.drew.lang.RandomAccessReader,int,java.lang.Boolean,int)"
        - "extract(com.drew.lang.RandomAccessReader,com.drew.metadata.Metadata,com.drew.metadata.Directory)"
        - "iterator()"
        - "processIfd(com.drew.imaging.tiff.TiffHandler,com.drew.lang.RandomAccessReader,java.util.Set,int,int)"
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:190"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:188"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:191"
        BranchSideFuncs:
        - "valueOf(boolean)"
        - "hasNext()"
        - "getInt8(int)"
        - "processPrintIM(com.drew.metadata.exif.PrintIMDirectory,int,com.drew.lang.RandomAccessReader,int)"
        - "append(java.lang.String)"
        - "next()"
        - "getMessage()"
        - "extract(com.drew.lang.SequentialReader,com.drew.metadata.Metadata,long,com.drew.metadata.Directory)"
        - "getNullTerminatedBytes(int,int)"
        - "handlePrintIM(com.drew.metadata.Directory,int)"
        - "containsTag(int)"
        - "<init>()"
        - "getDirectories()"
        - "addError(java.lang.String)"
        - "<init>(byte[])"
        - "extract(com.drew.lang.SequentialReader,int,com.drew.metadata.Metadata,com.drew.metadata.Directory)"
        - "pushDirectory(java.lang.Class)"
        - "readMetadata(java.io.InputStream)"
        - "toString()"
        - "processMakernote(int,java.util.Set,int,com.drew.lang.RandomAccessReader)"
        - "extract(byte[],com.drew.metadata.Metadata,com.drew.metadata.Directory)"
        - "processBinary(com.drew.metadata.Directory,int,com.drew.lang.RandomAccessReader,int,java.lang.Boolean,int)"
        - "extract(com.drew.lang.RandomAccessReader,com.drew.metadata.Metadata,com.drew.metadata.Directory)"
        - "iterator()"
        - "processIfd(com.drew.imaging.tiff.TiffHandler,com.drew.lang.RandomAccessReader,java.util.Set,int,int)"
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:190"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:191"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:null"
        BranchSideFuncs:
        - "containsTag(int)"
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:192"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:198"
        BranchSideFuncs:
        - "valueOf(boolean)"
        - "hasNext()"
        - "getInt8(int)"
        - "processPrintIM(com.drew.metadata.exif.PrintIMDirectory,int,com.drew.lang.RandomAccessReader,int)"
        - "append(java.lang.String)"
        - "next()"
        - "getMessage()"
        - "extract(com.drew.lang.SequentialReader,com.drew.metadata.Metadata,long,com.drew.metadata.Directory)"
        - "getNullTerminatedBytes(int,int)"
        - "handlePrintIM(com.drew.metadata.Directory,int)"
        - "containsTag(int)"
        - "<init>()"
        - "getDirectories()"
        - "addError(java.lang.String)"
        - "<init>(byte[])"
        - "extract(com.drew.lang.SequentialReader,int,com.drew.metadata.Metadata,com.drew.metadata.Directory)"
        - "pushDirectory(java.lang.Class)"
        - "readMetadata(java.io.InputStream)"
        - "toString()"
        - "processMakernote(int,java.util.Set,int,com.drew.lang.RandomAccessReader)"
        - "extract(byte[],com.drew.metadata.Metadata,com.drew.metadata.Directory)"
        - "processBinary(com.drew.metadata.Directory,int,com.drew.lang.RandomAccessReader,int,java.lang.Boolean,int)"
        - "extract(com.drew.lang.RandomAccessReader,com.drew.metadata.Metadata,com.drew.metadata.Directory)"
        - "iterator()"
        - "processIfd(com.drew.imaging.tiff.TiffHandler,com.drew.lang.RandomAccessReader,java.util.Set,int,int)"
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:197"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:198"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:null"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:203"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:null"
        BranchSideFuncs:
        - "processMakernote(int,java.util.Set,int,com.drew.lang.RandomAccessReader)"
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:203"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:null"
        BranchSideFuncs:
        - "processMakernote(int,java.util.Set,int,com.drew.lang.RandomAccessReader)"
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:208"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:null"
        BranchSideFuncs:
        - "valueOf(boolean)"
        - "hasNext()"
        - "getInt8(int)"
        - "processPrintIM(com.drew.metadata.exif.PrintIMDirectory,int,com.drew.lang.RandomAccessReader,int)"
        - "append(java.lang.String)"
        - "next()"
        - "getMessage()"
        - "extract(com.drew.lang.SequentialReader,com.drew.metadata.Metadata,long,com.drew.metadata.Directory)"
        - "getNullTerminatedBytes(int,int)"
        - "handlePrintIM(com.drew.metadata.Directory,int)"
        - "containsTag(int)"
        - "<init>()"
        - "getDirectories()"
        - "addError(java.lang.String)"
        - "<init>(byte[])"
        - "extract(com.drew.lang.SequentialReader,int,com.drew.metadata.Metadata,com.drew.metadata.Directory)"
        - "pushDirectory(java.lang.Class)"
        - "readMetadata(java.io.InputStream)"
        - "toString()"
        - "processMakernote(int,java.util.Set,int,com.drew.lang.RandomAccessReader)"
        - "extract(byte[],com.drew.metadata.Metadata,com.drew.metadata.Directory)"
        - "processBinary(com.drew.metadata.Directory,int,com.drew.lang.RandomAccessReader,int,java.lang.Boolean,int)"
        - "extract(com.drew.lang.RandomAccessReader,com.drew.metadata.Metadata,com.drew.metadata.Directory)"
        - "iterator()"
        - "processIfd(com.drew.imaging.tiff.TiffHandler,com.drew.lang.RandomAccessReader,java.util.Set,int,int)"
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:208"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:null"
        BranchSideFuncs:
        - "valueOf(boolean)"
        - "hasNext()"
        - "getInt8(int)"
        - "processPrintIM(com.drew.metadata.exif.PrintIMDirectory,int,com.drew.lang.RandomAccessReader,int)"
        - "append(java.lang.String)"
        - "next()"
        - "getMessage()"
        - "extract(com.drew.lang.SequentialReader,com.drew.metadata.Metadata,long,com.drew.metadata.Directory)"
        - "getNullTerminatedBytes(int,int)"
        - "handlePrintIM(com.drew.metadata.Directory,int)"
        - "containsTag(int)"
        - "<init>()"
        - "getDirectories()"
        - "addError(java.lang.String)"
        - "<init>(byte[])"
        - "extract(com.drew.lang.SequentialReader,int,com.drew.metadata.Metadata,com.drew.metadata.Directory)"
        - "pushDirectory(java.lang.Class)"
        - "readMetadata(java.io.InputStream)"
        - "toString()"
        - "processMakernote(int,java.util.Set,int,com.drew.lang.RandomAccessReader)"
        - "extract(byte[],com.drew.metadata.Metadata,com.drew.metadata.Directory)"
        - "processBinary(com.drew.metadata.Directory,int,com.drew.lang.RandomAccessReader,int,java.lang.Boolean,int)"
        - "extract(com.drew.lang.RandomAccessReader,com.drew.metadata.Metadata,com.drew.metadata.Directory)"
        - "iterator()"
        - "processIfd(com.drew.imaging.tiff.TiffHandler,com.drew.lang.RandomAccessReader,java.util.Set,int,int)"
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:210"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:215"
        BranchSideFuncs:
        - "extract(com.drew.lang.SequentialReader,com.drew.metadata.Metadata,long,com.drew.metadata.Directory)"
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:214"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:219"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:null"
        BranchSideFuncs:
        - "extract(com.drew.lang.RandomAccessReader,com.drew.metadata.Metadata,com.drew.metadata.Directory)"
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:226"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:233"
        BranchSideFuncs:
        - "extract(com.drew.lang.SequentialReader,int,com.drew.metadata.Metadata,com.drew.metadata.Directory)"
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:232"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:226"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:233"
        BranchSideFuncs:
        - "extract(com.drew.lang.SequentialReader,int,com.drew.metadata.Metadata,com.drew.metadata.Directory)"
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:232"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:233"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:239"
        BranchSideFuncs:
        - "getNullTerminatedBytes(int,int)"
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:238"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:233"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:234"
        BranchSideFuncs:
        - "getNullTerminatedBytes(int,int)"
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:233"
        BranchSideFuncs:
        - "getNullTerminatedBytes(int,int)"
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:233"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:239"
        BranchSideFuncs:
        - "getNullTerminatedBytes(int,int)"
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:238"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:239"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:245"
        BranchSideFuncs:
        - "extract(byte[],com.drew.metadata.Metadata,com.drew.metadata.Directory)"
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:244"
        BranchSideFuncs:
        - "handlePrintIM(com.drew.metadata.Directory,int)"
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:239"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:245"
        BranchSideFuncs:
        - "extract(byte[],com.drew.metadata.Metadata,com.drew.metadata.Directory)"
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:244"
        BranchSideFuncs:
        - "handlePrintIM(com.drew.metadata.Directory,int)"
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:245"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:256"
        BranchSideFuncs:
        - "valueOf(boolean)"
        - "hasNext()"
        - "getInt8(int)"
        - "processPrintIM(com.drew.metadata.exif.PrintIMDirectory,int,com.drew.lang.RandomAccessReader,int)"
        - "append(java.lang.String)"
        - "next()"
        - "getMessage()"
        - "extract(com.drew.lang.SequentialReader,com.drew.metadata.Metadata,long,com.drew.metadata.Directory)"
        - "getNullTerminatedBytes(int,int)"
        - "handlePrintIM(com.drew.metadata.Directory,int)"
        - "containsTag(int)"
        - "<init>()"
        - "getDirectories()"
        - "addError(java.lang.String)"
        - "<init>(byte[])"
        - "extract(com.drew.lang.SequentialReader,int,com.drew.metadata.Metadata,com.drew.metadata.Directory)"
        - "pushDirectory(java.lang.Class)"
        - "readMetadata(java.io.InputStream)"
        - "toString()"
        - "processMakernote(int,java.util.Set,int,com.drew.lang.RandomAccessReader)"
        - "extract(byte[],com.drew.metadata.Metadata,com.drew.metadata.Directory)"
        - "processBinary(com.drew.metadata.Directory,int,com.drew.lang.RandomAccessReader,int,java.lang.Boolean,int)"
        - "extract(com.drew.lang.RandomAccessReader,com.drew.metadata.Metadata,com.drew.metadata.Directory)"
        - "iterator()"
        - "processIfd(com.drew.imaging.tiff.TiffHandler,com.drew.lang.RandomAccessReader,java.util.Set,int,int)"
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:255"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:256"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:293"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:292"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:293"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:319"
        BranchSideFuncs:
        - "valueOf(boolean)"
        - "hasNext()"
        - "getInt8(int)"
        - "processPrintIM(com.drew.metadata.exif.PrintIMDirectory,int,com.drew.lang.RandomAccessReader,int)"
        - "append(java.lang.String)"
        - "next()"
        - "getMessage()"
        - "extract(com.drew.lang.SequentialReader,com.drew.metadata.Metadata,long,com.drew.metadata.Directory)"
        - "getNullTerminatedBytes(int,int)"
        - "handlePrintIM(com.drew.metadata.Directory,int)"
        - "containsTag(int)"
        - "<init>()"
        - "getDirectories()"
        - "addError(java.lang.String)"
        - "<init>(byte[])"
        - "extract(com.drew.lang.SequentialReader,int,com.drew.metadata.Metadata,com.drew.metadata.Directory)"
        - "pushDirectory(java.lang.Class)"
        - "readMetadata(java.io.InputStream)"
        - "toString()"
        - "processMakernote(int,java.util.Set,int,com.drew.lang.RandomAccessReader)"
        - "extract(byte[],com.drew.metadata.Metadata,com.drew.metadata.Directory)"
        - "processBinary(com.drew.metadata.Directory,int,com.drew.lang.RandomAccessReader,int,java.lang.Boolean,int)"
        - "extract(com.drew.lang.RandomAccessReader,com.drew.metadata.Metadata,com.drew.metadata.Directory)"
        - "iterator()"
        - "processIfd(com.drew.imaging.tiff.TiffHandler,com.drew.lang.RandomAccessReader,java.util.Set,int,int)"
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:318"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:319"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:338"
        BranchSideFuncs:
        - "hasNext()"
        - "next()"
        - "getDirectories()"
        - "<init>(byte[])"
        - "readMetadata(java.io.InputStream)"
        - "iterator()"
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:337"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:319"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:338"
        BranchSideFuncs:
        - "hasNext()"
        - "next()"
        - "getDirectories()"
        - "<init>(byte[])"
        - "readMetadata(java.io.InputStream)"
        - "iterator()"
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:337"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:326"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:330"
        BranchSideFuncs:
        - "hasNext()"
        - "next()"
        - "getDirectories()"
        - "iterator()"
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:329"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:338"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:348"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:347"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:339"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:348"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:347"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:348"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:368"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:367"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:349"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:350"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:349"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:349"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:368"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:367"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:350"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:356"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:355"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:356"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:362"
        BranchSideFuncs:
        - "addDirectory(com.drew.metadata.Directory)"
        - "getBytes(int,int)"
        - "read(byte[])"
        - "setParent(com.drew.metadata.Directory)"
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:361"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:362"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:367"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.exif.ExifTiffHandler:188,1"
      Dst: "[java.lang.AssertionError].<init>()"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:192,1"
      Dst: "[com.drew.metadata.Directory].containsTag(int)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:204,1"
      Dst: "[com.drew.metadata.exif.ExifTiffHandler].processMakernote(int,java.util.Set,int,com.drew.lang.RandomAccessReader)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:210,1"
      Dst: "[com.drew.lang.RandomAccessReader].getInt8(int)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:211,1"
      Dst: "[com.drew.lang.RandomAccessReader].getBytes(int,int)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:212,1"
      Dst: "[com.drew.metadata.iptc.IptcReader].<init>()"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:212,1"
      Dst: "[com.drew.lang.SequentialByteArrayReader].<init>(byte[])"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:212,1"
      Dst: "[com.drew.metadata.iptc.IptcReader].extract(com.drew.lang.SequentialReader,com.drew.metadata.Metadata,long,com.drew.metadata.Directory)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:221,1"
      Dst: "[com.drew.metadata.icc.IccReader].<init>()"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:221,1"
      Dst: "[com.drew.lang.ByteArrayReader].<init>(byte[])"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:221,1"
      Dst: "[com.drew.metadata.icc.IccReader].extract(com.drew.lang.RandomAccessReader,com.drew.metadata.Metadata,com.drew.metadata.Directory)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:228,1"
      Dst: "[com.drew.metadata.photoshop.PhotoshopReader].<init>()"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:228,1"
      Dst: "[com.drew.metadata.photoshop.PhotoshopReader].extract(com.drew.lang.SequentialReader,int,com.drew.metadata.Metadata,com.drew.metadata.Directory)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:234,1"
      Dst: "[com.drew.metadata.xmp.XmpReader].<init>()"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:234,1"
      Dst: "[com.drew.lang.RandomAccessReader].getNullTerminatedBytes(int,int)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:234,1"
      Dst: "[com.drew.metadata.xmp.XmpReader].extract(byte[],com.drew.metadata.Metadata,com.drew.metadata.Directory)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:241,1"
      Dst: "[com.drew.metadata.apple.AppleRunTimeReader].<init>()"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:241,1"
      Dst: "[com.drew.metadata.apple.AppleRunTimeReader].extract(byte[],com.drew.metadata.Metadata,com.drew.metadata.Directory)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:245,1"
      Dst: "[com.drew.metadata.exif.ExifTiffHandler].handlePrintIM(com.drew.metadata.Directory,int)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:247,1"
      Dst: "[com.drew.metadata.exif.PrintIMDirectory].<init>()"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:248,1"
      Dst: "[com.drew.metadata.Directory].setParent(com.drew.metadata.Directory)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:249,1"
      Dst: "[com.drew.metadata.Metadata].addDirectory(com.drew.metadata.Directory)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:250,1"
      Dst: "[com.drew.metadata.exif.ExifTiffHandler].processPrintIM(com.drew.metadata.exif.PrintIMDirectory,int,com.drew.lang.RandomAccessReader,int)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:259,1"
      Dst: "[com.drew.metadata.tiff.DirectoryTiffHandler].pushDirectory(java.lang.Class)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:260,1"
      Dst: "[com.drew.imaging.tiff.TiffReader].processIfd(com.drew.imaging.tiff.TiffHandler,com.drew.lang.RandomAccessReader,java.util.Set,int,int)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:298,1"
      Dst: "[com.drew.metadata.exif.PanasonicRawWbInfoDirectory].<init>()"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:301,1"
      Dst: "[java.lang.Boolean].valueOf(boolean)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:301,1"
      Dst: "[com.drew.metadata.exif.ExifTiffHandler].processBinary(com.drew.metadata.Directory,int,com.drew.lang.RandomAccessReader,int,java.lang.Boolean,int)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:304,1"
      Dst: "[com.drew.metadata.exif.PanasonicRawWbInfo2Directory].<init>()"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:310,1"
      Dst: "[com.drew.metadata.exif.PanasonicRawDistortionDirectory].<init>()"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:323,1"
      Dst: "[java.io.ByteArrayInputStream].<init>(byte[])"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:325,1"
      Dst: "[com.drew.imaging.jpeg.JpegMetadataReader].readMetadata(java.io.InputStream)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:326,1"
      Dst: "[com.drew.metadata.Metadata].getDirectories()"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:326,1"
      Dst: "[java.lang.Iterable].iterator()"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:326,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:326,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:332,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:332,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:332,1"
      Dst: "[java.lang.Throwable].getMessage()"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:332,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:332,1"
      Dst: "[com.drew.metadata.Directory].addError(java.lang.String)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:341,1"
      Dst: "[com.drew.metadata.exif.makernotes.SonyTag9050bDirectory].read(byte[])"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:352,1"
      Dst: "[com.drew.metadata.exif.makernotes.NikonPictureControl1Directory].read(byte[])"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:358,1"
      Dst: "[com.drew.metadata.exif.makernotes.NikonPictureControl2Directory].read(byte[])"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 65
    CyclomaticComplexity: 17
  - functionName: "[com.drew.metadata.exif.ExifTiffHandler].processMakernote(int,java.util.Set,int,com.drew.lang.RandomAccessReader)"
    functionSourceFile: "com.drew.metadata.exif.ExifTiffHandler"
    linkageType: ""
    functionLinenumber: 430
    functionLinenumberEnd: 653
    functionDepth: 3
    returnType: "boolean"
    argCount: 4
    argTypes:
    - "int"
    - "java.util.Set"
    - "int"
    - "com.drew.lang.RandomAccessReader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.AssertionError].<init>()"
    - "[com.drew.metadata.Metadata].getFirstDirectoryOfType(java.lang.Class)"
    - "[com.drew.metadata.Directory].getString(int)"
    - "[com.drew.metadata.exif.ExifTiffHandler].getReaderString(com.drew.lang.RandomAccessReader,int,int)"
    - "[com.drew.lang.RandomAccessReader].isMotorolaByteOrder()"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[com.drew.metadata.tiff.DirectoryTiffHandler].pushDirectory(java.lang.Class)"
    - "[com.drew.imaging.tiff.TiffReader].processIfd(com.drew.imaging.tiff.TiffHandler,com.drew.lang.RandomAccessReader,java.util.Set,int,int)"
    - "[java.lang.String].startsWith(java.lang.String)"
    - "[java.lang.String].toUpperCase()"
    - "[java.lang.String].trim()"
    - "[com.drew.lang.RandomAccessReader].getUInt8(int)"
    - "[com.drew.metadata.Directory].addError(java.lang.String)"
    - "[java.util.Arrays].equals(byte[],byte[])"
    - "[com.drew.lang.ByteArrayReader].getBytes(int,int)"
    - "[com.drew.lang.RandomAccessStreamReader].getBytes(int,int)"
    - "[com.drew.lang.RandomAccessFileReader].getBytes(int,int)"
    - "[com.drew.lang.RandomAccessReader].setMotorolaByteOrder(boolean)"
    - "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - "[com.drew.metadata.exif.makernotes.KodakMakernoteDirectory].<init>()"
    - "[com.drew.metadata.Metadata].addDirectory(com.drew.metadata.Directory)"
    - "[com.drew.metadata.exif.ExifTiffHandler].processKodakMakernote(com.drew.metadata.exif.makernotes.KodakMakernoteDirectory,int,com.drew.lang.RandomAccessReader)"
    - "[com.drew.lang.RandomAccessReader].getInt32(int)"
    - "[java.lang.String].toLowerCase()"
    - "[com.drew.lang.RandomAccessReader].getUInt16(int)"
    - "[com.drew.metadata.exif.makernotes.ReconyxHyperFireMakernoteDirectory].<init>()"
    - "[com.drew.metadata.exif.ExifTiffHandler].processReconyxHyperFireMakernote(com.drew.metadata.exif.makernotes.ReconyxHyperFireMakernoteDirectory,int,com.drew.lang.RandomAccessReader)"
    - "[com.drew.metadata.exif.makernotes.ReconyxUltraFireMakernoteDirectory].<init>()"
    - "[com.drew.metadata.exif.ExifTiffHandler].processReconyxUltraFireMakernote(com.drew.metadata.exif.makernotes.ReconyxUltraFireMakernoteDirectory,int,com.drew.lang.RandomAccessReader)"
    - "[com.drew.metadata.exif.makernotes.ReconyxHyperFire2MakernoteDirectory].<init>()"
    - "[com.drew.metadata.exif.ExifTiffHandler].processReconyxHyperFire2Makernote(com.drew.metadata.exif.makernotes.ReconyxHyperFire2MakernoteDirectory,int,com.drew.lang.RandomAccessReader)"
    - "[com.drew.lang.RandomAccessReader].getBytes(int,int)"
    functionUses: 1
    ICount: 311
    EdgeCount: 146
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:431"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:433"
        BranchSideFuncs:
        - "getFirstDirectoryOfType(java.lang.Class)"
        - "getString(int)"
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:431"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:433"
        BranchSideFuncs:
        - "getFirstDirectoryOfType(java.lang.Class)"
        - "getString(int)"
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:436"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:434"
        BranchSideFuncs:
        - "getReaderString(com.drew.lang.RandomAccessReader,int,int)"
        - "getString(int)"
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:433"
        BranchSideFuncs:
        - "getFirstDirectoryOfType(java.lang.Class)"
        - "getString(int)"
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:452"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:454"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:452"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:454"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:452"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:456"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:457"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:462"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:463"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:468"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:469"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:473"
        BranchSideFuncs:
        - "trim()"
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:469"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:473"
        BranchSideFuncs:
        - "trim()"
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:474"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:502"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:501"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:474"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:502"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:501"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:475"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:498"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:502"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:503"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:502"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:502"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:506"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:505"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:506"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:null"
        BranchSideFuncs:
        - "equals(byte[],byte[])"
        - "getBytes(int,int)"
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:506"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:null"
        BranchSideFuncs:
        - "equals(byte[],byte[])"
        - "getBytes(int,int)"
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:507"
      Branch Sides: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:511"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:516"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:517"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:518"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:517"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:517"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:520"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:519"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:520"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:520"
        BranchSideFuncs:
        - "processKodakMakernote(com.drew.metadata.exif.makernotes.KodakMakernoteDirectory,int,com.drew.lang.RandomAccessReader)"
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:519"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:520"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:528"
        BranchSideFuncs:
        - "processKodakMakernote(com.drew.metadata.exif.makernotes.KodakMakernoteDirectory,int,com.drew.lang.RandomAccessReader)"
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:527"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:528"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:536"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:535"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:528"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:536"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:535"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:529"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:533"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:532"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:536"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:537"
        BranchSideFuncs:
        - "getInt32(int)"
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:536"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:535"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:536"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:548"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:549"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:577"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:576"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:559"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:565"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:564"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:560"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:565"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:564"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:561"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:565"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:564"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:562"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:565"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:564"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:563"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:566"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:567"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:570"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:569"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:570"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:574"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:577"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:582"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:583"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:590"
        BranchSideFuncs:
        - "toUpperCase()"
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:591"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:604"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:591"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:597"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:591"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:604"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:605"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:608"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:607"
        BranchSideFuncs:
        - "toLowerCase()"
        - "startsWith(java.lang.String)"
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:608"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:622"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:621"
        BranchSideFuncs:
        - "getUInt16(int)"
        - "equals(java.lang.Object)"
        - "equalsIgnoreCase(java.lang.String)"
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:608"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:622"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:621"
        BranchSideFuncs:
        - "getUInt16(int)"
        - "equals(java.lang.Object)"
        - "equalsIgnoreCase(java.lang.String)"
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:609"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:614"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:609"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:615"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:616"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:650"
        BranchSideFuncs:
        - "setMotorolaByteOrder(boolean)"
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:622"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:621"
        BranchSideFuncs:
        - "getUInt16(int)"
        - "equals(java.lang.Object)"
        - "equalsIgnoreCase(java.lang.String)"
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:622"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:621"
        BranchSideFuncs:
        - "getUInt16(int)"
        - "equals(java.lang.Object)"
        - "equalsIgnoreCase(java.lang.String)"
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:622"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:621"
        BranchSideFuncs:
        - "getUInt16(int)"
        - "equals(java.lang.Object)"
        - "equalsIgnoreCase(java.lang.String)"
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:622"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:621"
        BranchSideFuncs:
        - "getUInt16(int)"
        - "equals(java.lang.Object)"
        - "equalsIgnoreCase(java.lang.String)"
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:622"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:647"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.exif.ExifTiffHandler:431,1"
      Dst: "[java.lang.AssertionError].<init>()"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:434,1"
      Dst: "[com.drew.metadata.Metadata].getFirstDirectoryOfType(java.lang.Class)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:436,1"
      Dst: "[com.drew.metadata.Directory].getString(int)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:438,1"
      Dst: "[com.drew.metadata.exif.ExifTiffHandler].getReaderString(com.drew.lang.RandomAccessReader,int,int)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:450,1"
      Dst: "[com.drew.lang.RandomAccessReader].isMotorolaByteOrder()"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:452,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:455,1"
      Dst: "[com.drew.metadata.tiff.DirectoryTiffHandler].pushDirectory(java.lang.Class)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:456,1"
      Dst: "[com.drew.imaging.tiff.TiffReader].processIfd(com.drew.imaging.tiff.TiffHandler,com.drew.lang.RandomAccessReader,java.util.Set,int,int)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:469,1"
      Dst: "[java.lang.String].toUpperCase()"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:469,1"
      Dst: "[java.lang.String].startsWith(java.lang.String)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:474,1"
      Dst: "[java.lang.String].trim()"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:484,1"
      Dst: "[com.drew.lang.RandomAccessReader].getUInt8(int)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:494,1"
      Dst: "[com.drew.metadata.Directory].addError(java.lang.String)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:507,1"
      Dst: "[com.drew.lang.RandomAccessReader].getBytes(int,int)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:507,1"
      Dst: "[java.util.Arrays].equals(byte[],byte[])"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:513,1"
      Dst: "[com.drew.lang.RandomAccessReader].setMotorolaByteOrder(boolean)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:522,1"
      Dst: "[com.drew.metadata.exif.makernotes.KodakMakernoteDirectory].<init>()"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:523,1"
      Dst: "[com.drew.metadata.Metadata].addDirectory(com.drew.metadata.Directory)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:524,1"
      Dst: "[com.drew.metadata.exif.ExifTiffHandler].processKodakMakernote(com.drew.metadata.exif.makernotes.KodakMakernoteDirectory,int,com.drew.lang.RandomAccessReader)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:520,1"
      Dst: "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:542,1"
      Dst: "[com.drew.lang.RandomAccessReader].getInt32(int)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:608,1"
      Dst: "[java.lang.String].toLowerCase()"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:622,1"
      Dst: "[com.drew.lang.RandomAccessReader].getUInt16(int)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:630,1"
      Dst: "[com.drew.metadata.exif.makernotes.ReconyxHyperFireMakernoteDirectory].<init>()"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:632,1"
      Dst: "[com.drew.metadata.exif.ExifTiffHandler].processReconyxHyperFireMakernote(com.drew.metadata.exif.makernotes.ReconyxHyperFireMakernoteDirectory,int,com.drew.lang.RandomAccessReader)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:634,1"
      Dst: "[com.drew.metadata.exif.makernotes.ReconyxUltraFireMakernoteDirectory].<init>()"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:636,1"
      Dst: "[com.drew.metadata.exif.ExifTiffHandler].processReconyxUltraFireMakernote(com.drew.metadata.exif.makernotes.ReconyxUltraFireMakernoteDirectory,int,com.drew.lang.RandomAccessReader)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:638,1"
      Dst: "[com.drew.metadata.exif.makernotes.ReconyxHyperFire2MakernoteDirectory].<init>()"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:640,1"
      Dst: "[com.drew.metadata.exif.ExifTiffHandler].processReconyxHyperFire2Makernote(com.drew.metadata.exif.makernotes.ReconyxHyperFire2MakernoteDirectory,int,com.drew.lang.RandomAccessReader)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 92
    CyclomaticComplexity: 52
  - functionName: "[com.drew.metadata.exif.ExifTiffHandler].getReaderString(com.drew.lang.RandomAccessReader,int,int)"
    functionSourceFile: "com.drew.metadata.exif.ExifTiffHandler"
    linkageType: ""
    functionLinenumber: 419
    functionLinenumberEnd: 423
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 3
    argTypes:
    - "com.drew.lang.RandomAccessReader"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.RandomAccessReader].getString(int,int,java.nio.charset.Charset)"
    functionUses: 11
    ICount: 8
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.ExifTiffHandler:420,1"
      Dst: "[com.drew.lang.RandomAccessReader].getString(int,int,java.nio.charset.Charset)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.KodakMakernoteDirectory)"
    functionSourceFile: "com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.exif.makernotes.KodakMakernoteDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor:39,1"
      Dst: "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    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: "[com.drew.metadata.exif.ExifTiffHandler].processKodakMakernote(com.drew.metadata.exif.makernotes.KodakMakernoteDirectory,int,com.drew.lang.RandomAccessReader)"
    functionSourceFile: "com.drew.metadata.exif.ExifTiffHandler"
    linkageType: ""
    functionLinenumber: 737
    functionLinenumberEnd: 770
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.drew.metadata.exif.makernotes.KodakMakernoteDirectory"
    - "int"
    - "com.drew.lang.RandomAccessReader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.RandomAccessReader].getStringValue(int,int,java.nio.charset.Charset)"
    - "[com.drew.metadata.Directory].setStringValue(int,com.drew.metadata.StringValue)"
    - "[com.drew.lang.RandomAccessReader].getUInt8(int)"
    - "[com.drew.metadata.Directory].setInt(int,int)"
    - "[com.drew.lang.RandomAccessReader].getUInt16(int)"
    - "[com.drew.lang.ByteArrayReader].getBytes(int,int)"
    - "[com.drew.lang.RandomAccessStreamReader].getBytes(int,int)"
    - "[com.drew.lang.RandomAccessFileReader].getBytes(int,int)"
    - "[com.drew.metadata.Directory].setByteArray(int,byte[])"
    - "[com.drew.lang.RandomAccessReader].getUInt32(int)"
    - "[com.drew.metadata.Directory].setLong(int,long)"
    - "[com.drew.lang.RandomAccessReader].getInt16(int)"
    - "[com.drew.lang.RandomAccessReader].getInt8(int)"
    - "[java.lang.StringBuilder].<init>()"
    - "[com.drew.metadata.Directory].addError(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.io.InvalidClassException].getMessage()"
    - "[java.lang.Throwable].getMessage()"
    - "[java.nio.file.FileSystemException].getMessage()"
    - "[java.lang.StringBuilder].toString()"
    - "[com.drew.lang.RandomAccessReader].getBytes(int,int)"
    functionUses: 1
    ICount: 104
    EdgeCount: 64
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.ExifTiffHandler:740,1"
      Dst: "[com.drew.lang.RandomAccessReader].getStringValue(int,int,java.nio.charset.Charset)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:740,1"
      Dst: "[com.drew.metadata.Directory].setStringValue(int,com.drew.metadata.StringValue)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:741,1"
      Dst: "[com.drew.lang.RandomAccessReader].getUInt8(int)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:741,1"
      Dst: "[com.drew.metadata.Directory].setInt(int,int)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:743,1"
      Dst: "[com.drew.lang.RandomAccessReader].getUInt16(int)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:746,1"
      Dst: "[com.drew.lang.RandomAccessReader].getBytes(int,int)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:746,1"
      Dst: "[com.drew.metadata.Directory].setByteArray(int,byte[])"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:753,1"
      Dst: "[com.drew.lang.RandomAccessReader].getUInt32(int)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:753,1"
      Dst: "[com.drew.metadata.Directory].setLong(int,long)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:754,1"
      Dst: "[com.drew.lang.RandomAccessReader].getInt16(int)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:765,1"
      Dst: "[com.drew.lang.RandomAccessReader].getInt8(int)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:767,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:767,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:767,1"
      Dst: "[java.lang.Throwable].getMessage()"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:767,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:767,1"
      Dst: "[com.drew.metadata.Directory].addError(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: "[com.drew.metadata.exif.ExifTiffHandler].processReconyxHyperFireMakernote(com.drew.metadata.exif.makernotes.ReconyxHyperFireMakernoteDirectory,int,com.drew.lang.RandomAccessReader)"
    functionSourceFile: "com.drew.metadata.exif.ExifTiffHandler"
    linkageType: ""
    functionLinenumber: 772
    functionLinenumberEnd: 842
    functionDepth: 1
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.drew.metadata.exif.makernotes.ReconyxHyperFireMakernoteDirectory"
    - "int"
    - "com.drew.lang.RandomAccessReader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.RandomAccessReader].getUInt16(int)"
    - "[com.drew.metadata.Directory].setObject(int,java.lang.Object)"
    - "[java.lang.Integer].valueOf(int)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.Integer].parseInt(java.lang.String)"
    - "[com.drew.metadata.Directory].setString(int,java.lang.String)"
    - "[com.drew.metadata.Directory].addError(java.lang.String)"
    - "[java.lang.String].valueOf(char)"
    - "[com.drew.metadata.Directory].setIntArray(int,int[])"
    - "[com.drew.metadata.Directory].setInt(int,int)"
    - "[java.lang.StringBuilder].append(int)"
    - "[com.drew.lang.RandomAccessReader].getInt16(int)"
    - "[com.drew.metadata.StringValue].<init>(byte[],java.nio.charset.Charset)"
    - "[com.drew.lang.ByteArrayReader].getBytes(int,int)"
    - "[com.drew.lang.RandomAccessStreamReader].getBytes(int,int)"
    - "[com.drew.lang.RandomAccessFileReader].getBytes(int,int)"
    - "[com.drew.metadata.Directory].setStringValue(int,com.drew.metadata.StringValue)"
    - "[com.drew.metadata.Directory].setDouble(int,double)"
    - "[com.drew.lang.RandomAccessReader].getNullTerminatedString(int,int,java.nio.charset.Charset)"
    - "[com.drew.lang.RandomAccessReader].getBytes(int,int)"
    functionUses: 1
    ICount: 195
    EdgeCount: 100
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:788"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:791"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:790"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:814"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:822"
        BranchSideFuncs:
        - "append(java.lang.String)"
        - "toString()"
        - "append(int)"
        - "<init>()"
        - "addError(java.lang.String)"
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:814"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:822"
        BranchSideFuncs:
        - "append(java.lang.String)"
        - "toString()"
        - "append(int)"
        - "<init>()"
        - "addError(java.lang.String)"
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:814"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:822"
        BranchSideFuncs:
        - "append(java.lang.String)"
        - "toString()"
        - "append(int)"
        - "<init>()"
        - "addError(java.lang.String)"
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:814"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:822"
        BranchSideFuncs:
        - "append(java.lang.String)"
        - "toString()"
        - "append(int)"
        - "<init>()"
        - "addError(java.lang.String)"
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:814"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:822"
        BranchSideFuncs:
        - "append(java.lang.String)"
        - "toString()"
        - "append(int)"
        - "<init>()"
        - "addError(java.lang.String)"
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:814"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:822"
        BranchSideFuncs:
        - "append(java.lang.String)"
        - "toString()"
        - "append(int)"
        - "<init>()"
        - "addError(java.lang.String)"
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:814"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:822"
        BranchSideFuncs:
        - "append(java.lang.String)"
        - "toString()"
        - "append(int)"
        - "<init>()"
        - "addError(java.lang.String)"
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:814"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:822"
        BranchSideFuncs:
        - "append(java.lang.String)"
        - "toString()"
        - "append(int)"
        - "<init>()"
        - "addError(java.lang.String)"
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:814"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:822"
        BranchSideFuncs:
        - "append(java.lang.String)"
        - "toString()"
        - "append(int)"
        - "<init>()"
        - "addError(java.lang.String)"
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:814"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:822"
        BranchSideFuncs:
        - "append(java.lang.String)"
        - "toString()"
        - "append(int)"
        - "<init>()"
        - "addError(java.lang.String)"
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:814"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:822"
        BranchSideFuncs:
        - "append(java.lang.String)"
        - "toString()"
        - "append(int)"
        - "<init>()"
        - "addError(java.lang.String)"
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:814"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:822"
        BranchSideFuncs:
        - "append(java.lang.String)"
        - "toString()"
        - "append(int)"
        - "<init>()"
        - "addError(java.lang.String)"
    Callsites:
    - Src: "com.drew.metadata.exif.ExifTiffHandler:773,1"
      Dst: "[com.drew.lang.RandomAccessReader].getUInt16(int)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:773,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:773,1"
      Dst: "[com.drew.metadata.Directory].setObject(int,java.lang.Object)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:778,1"
      Dst: "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:780,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:780,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:780,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:783,1"
      Dst: "[java.lang.Integer].parseInt(java.lang.String)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:789,1"
      Dst: "[com.drew.metadata.Directory].setString(int,java.lang.String)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:792,1"
      Dst: "[com.drew.metadata.Directory].addError(java.lang.String)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:795,1"
      Dst: "[java.lang.String].valueOf(char)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:796,1"
      Dst: "[com.drew.metadata.Directory].setIntArray(int,int[])"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:805,1"
      Dst: "[com.drew.metadata.Directory].setInt(int,int)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:823,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:827,1"
      Dst: "[com.drew.lang.RandomAccessReader].getInt16(int)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:830,1"
      Dst: "[com.drew.lang.RandomAccessReader].getBytes(int,int)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:830,1"
      Dst: "[com.drew.metadata.StringValue].<init>(byte[],java.nio.charset.Charset)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:830,1"
      Dst: "[com.drew.metadata.Directory].setStringValue(int,com.drew.metadata.StringValue)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:839,1"
      Dst: "[com.drew.metadata.Directory].setDouble(int,double)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:840,1"
      Dst: "[com.drew.lang.RandomAccessReader].getNullTerminatedString(int,int,java.nio.charset.Charset)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 20
    CyclomaticComplexity: 14
  - functionName: "[com.drew.metadata.exif.makernotes.ReconyxUltraFireMakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.ReconyxUltraFireMakernoteDirectory)"
    functionSourceFile: "com.drew.metadata.exif.makernotes.ReconyxUltraFireMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.exif.makernotes.ReconyxUltraFireMakernoteDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.ReconyxUltraFireMakernoteDescriptor:46,1"
      Dst: "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    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: "[com.drew.metadata.exif.ExifTiffHandler].processReconyxUltraFireMakernote(com.drew.metadata.exif.makernotes.ReconyxUltraFireMakernoteDirectory,int,com.drew.lang.RandomAccessReader)"
    functionSourceFile: "com.drew.metadata.exif.ExifTiffHandler"
    linkageType: ""
    functionLinenumber: 918
    functionLinenumberEnd: 977
    functionDepth: 1
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.drew.metadata.exif.makernotes.ReconyxUltraFireMakernoteDirectory"
    - "int"
    - "com.drew.lang.RandomAccessReader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.RandomAccessReader].getString(int,int,java.nio.charset.Charset)"
    - "[com.drew.metadata.Directory].setString(int,java.lang.String)"
    - "[com.drew.metadata.Directory].setIntArray(int,int[])"
    - "[com.drew.lang.RandomAccessFileReader].getByte(int)"
    - "[com.drew.lang.ByteArrayReader].getByte(int)"
    - "[com.drew.lang.RandomAccessStreamReader].getByte(int)"
    - "[com.drew.metadata.Directory].setInt(int,int)"
    - "[com.drew.metadata.StringValue].<init>(byte[],java.nio.charset.Charset)"
    - "[com.drew.lang.ByteArrayReader].getBytes(int,int)"
    - "[com.drew.lang.RandomAccessStreamReader].getBytes(int,int)"
    - "[com.drew.lang.RandomAccessFileReader].getBytes(int,int)"
    - "[com.drew.metadata.Directory].setStringValue(int,com.drew.metadata.StringValue)"
    - "[com.drew.lang.RandomAccessReader].getNullTerminatedString(int,int,java.nio.charset.Charset)"
    - "[com.drew.lang.RandomAccessReader].getByte(int)"
    - "[com.drew.lang.RandomAccessReader].getBytes(int,int)"
    functionUses: 1
    ICount: 54
    EdgeCount: 41
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.ExifTiffHandler:919,1"
      Dst: "[com.drew.lang.RandomAccessReader].getString(int,int,java.nio.charset.Charset)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:919,1"
      Dst: "[com.drew.metadata.Directory].setString(int,java.lang.String)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:944,1"
      Dst: "[com.drew.lang.RandomAccessReader].getByte(int)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:941,1"
      Dst: "[com.drew.metadata.Directory].setIntArray(int,int[])"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:967,1"
      Dst: "[com.drew.metadata.Directory].setInt(int,int)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:973,1"
      Dst: "[com.drew.lang.RandomAccessReader].getBytes(int,int)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:973,1"
      Dst: "[com.drew.metadata.StringValue].<init>(byte[],java.nio.charset.Charset)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:973,1"
      Dst: "[com.drew.metadata.Directory].setStringValue(int,com.drew.metadata.StringValue)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:975,1"
      Dst: "[com.drew.lang.RandomAccessReader].getNullTerminatedString(int,int,java.nio.charset.Charset)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.exif.makernotes.ReconyxHyperFire2MakernoteDirectory].<init>()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.ReconyxHyperFire2MakernoteDirectory"
    linkageType: ""
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].<init>()"
    - "[com.drew.metadata.exif.makernotes.ReconyxHyperFire2MakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.ReconyxHyperFire2MakernoteDirectory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 1
    ICount: 6
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.ReconyxHyperFire2MakernoteDirectory:94,1"
      Dst: "[com.drew.metadata.Directory].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.ReconyxHyperFire2MakernoteDirectory:95,1"
      Dst: "[com.drew.metadata.exif.makernotes.ReconyxHyperFire2MakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.ReconyxHyperFire2MakernoteDirectory)"
    - Src: "com.drew.metadata.exif.makernotes.ReconyxHyperFire2MakernoteDirectory:95,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.exif.makernotes.ReconyxHyperFire2MakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.ReconyxHyperFire2MakernoteDirectory)"
    functionSourceFile: "com.drew.metadata.exif.makernotes.ReconyxHyperFire2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.exif.makernotes.ReconyxHyperFire2MakernoteDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.ReconyxHyperFire2MakernoteDescriptor:44,1"
      Dst: "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    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: "[com.drew.metadata.exif.ExifTiffHandler].processReconyxHyperFire2Makernote(com.drew.metadata.exif.makernotes.ReconyxHyperFire2MakernoteDirectory,int,com.drew.lang.RandomAccessReader)"
    functionSourceFile: "com.drew.metadata.exif.ExifTiffHandler"
    linkageType: ""
    functionLinenumber: 845
    functionLinenumberEnd: 916
    functionDepth: 1
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.drew.metadata.exif.makernotes.ReconyxHyperFire2MakernoteDirectory"
    - "int"
    - "com.drew.lang.RandomAccessReader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.RandomAccessReader].getUInt16(int)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.lang.Integer].valueOf(int)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.Integer].parseInt(java.lang.String)"
    - "[com.drew.metadata.Directory].setString(int,java.lang.String)"
    - "[com.drew.metadata.Directory].addError(java.lang.String)"
    - "[com.drew.metadata.Directory].setIntArray(int,int[])"
    - "[com.drew.metadata.Directory].setInt(int,int)"
    - "[java.lang.StringBuilder].append(int)"
    - "[com.drew.lang.RandomAccessReader].getInt16(int)"
    - "[com.drew.lang.RandomAccessFileReader].getByte(int)"
    - "[com.drew.lang.ByteArrayReader].getByte(int)"
    - "[com.drew.lang.RandomAccessStreamReader].getByte(int)"
    - "[com.drew.metadata.Directory].setDouble(int,double)"
    - "[com.drew.lang.RandomAccessReader].getNullTerminatedString(int,int,java.nio.charset.Charset)"
    - "[com.drew.metadata.StringValue].<init>(byte[],java.nio.charset.Charset)"
    - "[com.drew.lang.ByteArrayReader].getBytes(int,int)"
    - "[com.drew.lang.RandomAccessStreamReader].getBytes(int,int)"
    - "[com.drew.lang.RandomAccessFileReader].getBytes(int,int)"
    - "[com.drew.metadata.Directory].setStringValue(int,com.drew.metadata.StringValue)"
    - "[com.drew.lang.RandomAccessReader].getByte(int)"
    - "[com.drew.lang.RandomAccessReader].getBytes(int,int)"
    functionUses: 1
    ICount: 199
    EdgeCount: 102
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:859"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:862"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:861"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:884"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:892"
        BranchSideFuncs:
        - "append(java.lang.String)"
        - "toString()"
        - "append(int)"
        - "<init>()"
        - "addError(java.lang.String)"
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:884"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:892"
        BranchSideFuncs:
        - "append(java.lang.String)"
        - "toString()"
        - "append(int)"
        - "<init>()"
        - "addError(java.lang.String)"
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:884"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:892"
        BranchSideFuncs:
        - "append(java.lang.String)"
        - "toString()"
        - "append(int)"
        - "<init>()"
        - "addError(java.lang.String)"
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:884"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:892"
        BranchSideFuncs:
        - "append(java.lang.String)"
        - "toString()"
        - "append(int)"
        - "<init>()"
        - "addError(java.lang.String)"
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:884"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:892"
        BranchSideFuncs:
        - "append(java.lang.String)"
        - "toString()"
        - "append(int)"
        - "<init>()"
        - "addError(java.lang.String)"
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:884"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:892"
        BranchSideFuncs:
        - "append(java.lang.String)"
        - "toString()"
        - "append(int)"
        - "<init>()"
        - "addError(java.lang.String)"
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:884"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:892"
        BranchSideFuncs:
        - "append(java.lang.String)"
        - "toString()"
        - "append(int)"
        - "<init>()"
        - "addError(java.lang.String)"
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:884"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:892"
        BranchSideFuncs:
        - "append(java.lang.String)"
        - "toString()"
        - "append(int)"
        - "<init>()"
        - "addError(java.lang.String)"
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:884"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:892"
        BranchSideFuncs:
        - "append(java.lang.String)"
        - "toString()"
        - "append(int)"
        - "<init>()"
        - "addError(java.lang.String)"
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:884"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:892"
        BranchSideFuncs:
        - "append(java.lang.String)"
        - "toString()"
        - "append(int)"
        - "<init>()"
        - "addError(java.lang.String)"
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:884"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:892"
        BranchSideFuncs:
        - "append(java.lang.String)"
        - "toString()"
        - "append(int)"
        - "<init>()"
        - "addError(java.lang.String)"
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:884"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:892"
        BranchSideFuncs:
        - "append(java.lang.String)"
        - "toString()"
        - "append(int)"
        - "<init>()"
        - "addError(java.lang.String)"
    Callsites:
    - Src: "com.drew.metadata.exif.ExifTiffHandler:846,1"
      Dst: "[com.drew.lang.RandomAccessReader].getUInt16(int)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:849,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:849,1"
      Dst: "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:851,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:851,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:851,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:854,1"
      Dst: "[java.lang.Integer].parseInt(java.lang.String)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:860,1"
      Dst: "[com.drew.metadata.Directory].setString(int,java.lang.String)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:863,1"
      Dst: "[com.drew.metadata.Directory].addError(java.lang.String)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:866,1"
      Dst: "[com.drew.metadata.Directory].setIntArray(int,int[])"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:875,1"
      Dst: "[com.drew.metadata.Directory].setInt(int,int)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:893,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:897,1"
      Dst: "[com.drew.lang.RandomAccessReader].getInt16(int)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:904,1"
      Dst: "[com.drew.lang.RandomAccessReader].getByte(int)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:908,1"
      Dst: "[com.drew.metadata.Directory].setDouble(int,double)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:912,1"
      Dst: "[com.drew.lang.RandomAccessReader].getNullTerminatedString(int,int,java.nio.charset.Charset)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:913,1"
      Dst: "[com.drew.lang.RandomAccessReader].getBytes(int,int)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:913,1"
      Dst: "[com.drew.metadata.StringValue].<init>(byte[],java.nio.charset.Charset)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:913,1"
      Dst: "[com.drew.metadata.Directory].setStringValue(int,com.drew.metadata.StringValue)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 20
    CyclomaticComplexity: 14
  - functionName: "[com.drew.metadata.apple.AppleRunTimeReader].<init>()"
    functionSourceFile: "com.drew.metadata.apple.AppleRunTimeReader"
    linkageType: ""
    functionLinenumber: 18
    functionLinenumberEnd: 20
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.apple.AppleRunTimeReader:19,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: "[com.drew.metadata.apple.AppleRunTimeReader].extract(byte[],com.drew.metadata.Metadata,com.drew.metadata.Directory)"
    functionSourceFile: "com.drew.metadata.apple.AppleRunTimeReader"
    linkageType: ""
    functionLinenumber: 22
    functionLinenumberEnd: 41
    functionDepth: 5
    returnType: "void"
    argCount: 3
    argTypes:
    - "byte[]"
    - "com.drew.metadata.Metadata"
    - "com.drew.metadata.Directory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.plist.BplistReader].isValid(byte[])"
    - "[com.drew.metadata.Directory].addError(java.lang.String)"
    - "[com.drew.metadata.exif.makernotes.AppleRunTimeMakernoteDirectory].<init>()"
    - "[com.drew.metadata.Directory].setParent(com.drew.metadata.Directory)"
    - "[com.drew.metadata.apple.AppleRunTimeReader].processAppleRunTime(com.drew.metadata.exif.makernotes.AppleRunTimeMakernoteDirectory,byte[])"
    - "[com.drew.metadata.Directory].getTagCount()"
    - "[com.drew.metadata.Metadata].addDirectory(com.drew.metadata.Directory)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.io.InvalidClassException].getMessage()"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.Throwable].getMessage()"
    functionUses: 1
    ICount: 26
    EdgeCount: 12
    BranchProfiles:
    - Branch String: "com.drew.metadata.apple.AppleRunTimeReader:23"
      Branch Sides:
      - BranchSide: "com.drew.metadata.apple.AppleRunTimeReader:28"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.apple.AppleRunTimeReader:27"
        BranchSideFuncs:
        - "getTagCount()"
        - "processAppleRunTime(com.drew.metadata.exif.makernotes.AppleRunTimeMakernoteDirectory,byte[])"
        - "setParent(com.drew.metadata.Directory)"
    - Branch String: "com.drew.metadata.apple.AppleRunTimeReader:34"
      Branch Sides:
      - BranchSide: "com.drew.metadata.apple.AppleRunTimeReader:39"
        BranchSideFuncs:
        - "addDirectory(com.drew.metadata.Directory)"
      - BranchSide: "com.drew.metadata.apple.AppleRunTimeReader:38"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.apple.AppleRunTimeReader:23,1"
      Dst: "[com.drew.metadata.plist.BplistReader].isValid(byte[])"
    - Src: "com.drew.metadata.apple.AppleRunTimeReader:24,1"
      Dst: "[com.drew.metadata.Directory].addError(java.lang.String)"
    - Src: "com.drew.metadata.apple.AppleRunTimeReader:28,1"
      Dst: "[com.drew.metadata.exif.makernotes.AppleRunTimeMakernoteDirectory].<init>()"
    - Src: "com.drew.metadata.apple.AppleRunTimeReader:29,1"
      Dst: "[com.drew.metadata.Directory].setParent(com.drew.metadata.Directory)"
    - Src: "com.drew.metadata.apple.AppleRunTimeReader:32,1"
      Dst: "[com.drew.metadata.apple.AppleRunTimeReader].processAppleRunTime(com.drew.metadata.exif.makernotes.AppleRunTimeMakernoteDirectory,byte[])"
    - Src: "com.drew.metadata.apple.AppleRunTimeReader:34,1"
      Dst: "[com.drew.metadata.Directory].getTagCount()"
    - Src: "com.drew.metadata.apple.AppleRunTimeReader:35,1"
      Dst: "[com.drew.metadata.Metadata].addDirectory(com.drew.metadata.Directory)"
    - Src: "com.drew.metadata.apple.AppleRunTimeReader:38,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.apple.AppleRunTimeReader:38,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.apple.AppleRunTimeReader:38,1"
      Dst: "[java.lang.Throwable].getMessage()"
    - Src: "com.drew.metadata.apple.AppleRunTimeReader:38,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: 7
    CyclomaticComplexity: 2
  - functionName: "[com.drew.metadata.plist.BplistReader].isValid(byte[])"
    functionSourceFile: "com.drew.metadata.plist.BplistReader"
    linkageType: ""
    functionLinenumber: 49
    functionLinenumberEnd: 63
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "byte[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 22
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.metadata.plist.BplistReader:50"
      Branch Sides:
      - BranchSide: "com.drew.metadata.plist.BplistReader:54"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.plist.BplistReader:53"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.plist.BplistReader:55"
      Branch Sides:
      - BranchSide: "com.drew.metadata.plist.BplistReader:62"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.plist.BplistReader:61"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.plist.BplistReader:56"
      Branch Sides:
      - BranchSide: "com.drew.metadata.plist.BplistReader:54"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.plist.BplistReader:53"
        BranchSideFuncs: []
    Callsites: []
    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: 3
  - functionName: "[com.drew.metadata.exif.makernotes.AppleRunTimeMakernoteDirectory].<init>()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.AppleRunTimeMakernoteDirectory"
    linkageType: ""
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].<init>()"
    - "[com.drew.metadata.exif.makernotes.AppleRunTimeMakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.AppleRunTimeMakernoteDirectory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 1
    ICount: 6
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.AppleRunTimeMakernoteDirectory:47,1"
      Dst: "[com.drew.metadata.Directory].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.AppleRunTimeMakernoteDirectory:48,1"
      Dst: "[com.drew.metadata.exif.makernotes.AppleRunTimeMakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.AppleRunTimeMakernoteDirectory)"
    - Src: "com.drew.metadata.exif.makernotes.AppleRunTimeMakernoteDirectory:48,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.exif.makernotes.AppleRunTimeMakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.AppleRunTimeMakernoteDirectory)"
    functionSourceFile: "com.drew.metadata.exif.makernotes.AppleRunTimeMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.exif.makernotes.AppleRunTimeMakernoteDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.AppleRunTimeMakernoteDescriptor:34,1"
      Dst: "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    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: "[com.drew.metadata.apple.AppleRunTimeReader].processAppleRunTime(com.drew.metadata.exif.makernotes.AppleRunTimeMakernoteDirectory,byte[])"
    functionSourceFile: "com.drew.metadata.apple.AppleRunTimeReader"
    linkageType: ""
    functionLinenumber: 51
    functionLinenumberEnd: 88
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.metadata.exif.makernotes.AppleRunTimeMakernoteDirectory"
    - "byte[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.plist.BplistReader].parse(byte[])"
    - "[com.drew.metadata.plist.BplistReader$PropertyListResults].getEntrySet()"
    - "[java.util.HashMap].<init>(int)"
    - "[java.util.HashSet].size()"
    - "[com.adobe.internal.xmp.impl.XMPNode$1].hasNext()"
    - "[jdk.internal.module.ModuleBootstrap$2].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIterator].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIteratorChildren].hasNext()"
    - "[java.util.concurrent.ConcurrentHashMap$EntrySetView].iterator()"
    - "[jdk.internal.module.ModuleBootstrap$2].next()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIterator].next()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl].next()"
    - "[com.adobe.internal.xmp.impl.XMPNode$1].next()"
    - "[java.io.BufferedReader$1].next()"
    - "[java.lang.Byte].byteValue()"
    - "[java.util.Vector].get(int)"
    - "[java.util.concurrent.ConcurrentHashMap$Node].getKey()"
    - "[com.drew.metadata.plist.BplistReader$PropertyListResults].getObjects()"
    - "[java.util.concurrent.ConcurrentHashMap$Node].getValue()"
    - "[java.util.HashMap].put(java.lang.Object,java.lang.Object)"
    - "[java.util.HashMap].get(java.lang.Object)"
    - "[com.drew.metadata.Directory].setInt(int,int)"
    - "[java.util.HashMap:java.util.LinkedHashMap].get(java.lang.Object)"
    - "[java.lang.Long].longValue()"
    - "[com.drew.metadata.Directory].setLong(int,long)"
    - "[java.lang.Byte].parseByte(java.lang.String)"
    - "[java.lang.Long].parseLong(java.lang.String)"
    - "[java.util.Set].size()"
    - "[java.util.Set].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.util.Map$Entry].getKey()"
    - "[java.util.List].get(int)"
    - "[java.util.Map$Entry].getValue()"
    functionUses: 1
    ICount: 73
    EdgeCount: 47
    BranchProfiles:
    - Branch String: "com.drew.metadata.apple.AppleRunTimeReader:56"
      Branch Sides:
      - BranchSide: "com.drew.metadata.apple.AppleRunTimeReader:87"
        BranchSideFuncs:
        - "hasNext()"
        - "next()"
        - "<init>(int)"
        - "iterator()"
        - "size()"
      - BranchSide: "com.drew.metadata.apple.AppleRunTimeReader:86"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.apple.AppleRunTimeReader:59"
      Branch Sides:
      - BranchSide: "com.drew.metadata.apple.AppleRunTimeReader:68"
        BranchSideFuncs:
        - "hasNext()"
        - "getValue()"
        - "next()"
        - "get(int)"
        - "put(java.lang.Object,java.lang.Object)"
        - "iterator()"
        - "getKey()"
        - "getObjects()"
      - BranchSide: "com.drew.metadata.apple.AppleRunTimeReader:67"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.apple.AppleRunTimeReader:69"
      Branch Sides:
      - BranchSide: "com.drew.metadata.apple.AppleRunTimeReader:68"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.apple.AppleRunTimeReader:67"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.apple.AppleRunTimeReader:71"
      Branch Sides:
      - BranchSide: "com.drew.metadata.apple.AppleRunTimeReader:77"
        BranchSideFuncs:
        - "byteValue()"
        - "longValue()"
      - BranchSide: "com.drew.metadata.apple.AppleRunTimeReader:76"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.apple.AppleRunTimeReader:69"
      Branch Sides:
      - BranchSide: "com.drew.metadata.apple.AppleRunTimeReader:87"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.apple.AppleRunTimeReader:86"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.apple.AppleRunTimeReader:79"
      Branch Sides:
      - BranchSide: "com.drew.metadata.apple.AppleRunTimeReader:87"
        BranchSideFuncs:
        - "setLong(int,long)"
        - "parseByte(java.lang.String)"
        - "parseLong(java.lang.String)"
        - "get(java.lang.Object)"
        - "setInt(int,int)"
      - BranchSide: "com.drew.metadata.apple.AppleRunTimeReader:86"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.apple.AppleRunTimeReader:52,1"
      Dst: "[com.drew.metadata.plist.BplistReader].parse(byte[])"
    - Src: "com.drew.metadata.apple.AppleRunTimeReader:54,1"
      Dst: "[com.drew.metadata.plist.BplistReader$PropertyListResults].getEntrySet()"
    - Src: "com.drew.metadata.apple.AppleRunTimeReader:57,1"
      Dst: "[java.util.Set].size()"
    - Src: "com.drew.metadata.apple.AppleRunTimeReader:57,1"
      Dst: "[java.util.HashMap].<init>(int)"
    - Src: "com.drew.metadata.apple.AppleRunTimeReader:59,1"
      Dst: "[java.util.Set].iterator()"
    - Src: "com.drew.metadata.apple.AppleRunTimeReader:59,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.drew.metadata.apple.AppleRunTimeReader:59,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.drew.metadata.apple.AppleRunTimeReader:60,1"
      Dst: "[com.drew.metadata.plist.BplistReader$PropertyListResults].getObjects()"
    - Src: "com.drew.metadata.apple.AppleRunTimeReader:60,1"
      Dst: "[java.util.Map$Entry].getKey()"
    - Src: "com.drew.metadata.apple.AppleRunTimeReader:60,1"
      Dst: "[java.lang.Byte].byteValue()"
    - Src: "com.drew.metadata.apple.AppleRunTimeReader:60,1"
      Dst: "[java.util.List].get(int)"
    - Src: "com.drew.metadata.apple.AppleRunTimeReader:61,1"
      Dst: "[java.util.Map$Entry].getValue()"
    - Src: "com.drew.metadata.apple.AppleRunTimeReader:63,1"
      Dst: "[java.util.HashMap].put(java.lang.Object,java.lang.Object)"
    - Src: "com.drew.metadata.apple.AppleRunTimeReader:68,1"
      Dst: "[java.util.HashMap].get(java.lang.Object)"
    - Src: "com.drew.metadata.apple.AppleRunTimeReader:72,1"
      Dst: "[com.drew.metadata.Directory].setInt(int,int)"
    - Src: "com.drew.metadata.apple.AppleRunTimeReader:74,1"
      Dst: "[java.lang.Long].longValue()"
    - Src: "com.drew.metadata.apple.AppleRunTimeReader:74,1"
      Dst: "[com.drew.metadata.Directory].setLong(int,long)"
    - Src: "com.drew.metadata.apple.AppleRunTimeReader:78,1"
      Dst: "[java.lang.Byte].parseByte(java.lang.String)"
    - Src: "com.drew.metadata.apple.AppleRunTimeReader:82,1"
      Dst: "[java.lang.Long].parseLong(java.lang.String)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 12
    CyclomaticComplexity: 7
  - functionName: "[com.drew.metadata.plist.BplistReader].parse(byte[])"
    functionSourceFile: "com.drew.metadata.plist.BplistReader"
    linkageType: ""
    functionLinenumber: 66
    functionLinenumberEnd: 109
    functionDepth: 3
    returnType: "com.drew.metadata.plist.BplistReader$PropertyListResults"
    argCount: 1
    argTypes:
    - "byte[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.plist.BplistReader].isValid(byte[])"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.util.ArrayList].<init>()"
    - "[com.drew.metadata.plist.BplistReader].readTrailer(byte[])"
    - "[com.drew.lang.SequentialByteArrayReader].<init>(byte[],int)"
    - "[com.drew.lang.SequentialByteArrayReader].getByte()"
    - "[com.drew.lang.SequentialReader].getUInt16()"
    - "[com.drew.metadata.plist.BplistReader].handleDict(int,byte,com.drew.lang.SequentialByteArrayReader,java.util.ArrayList)"
    - "[java.util.ArrayList].add(int,java.lang.Object)"
    - "[com.drew.lang.SequentialReader].getString(int)"
    - "[com.drew.metadata.plist.BplistReader].handleData(int,byte,com.drew.lang.SequentialByteArrayReader,java.util.ArrayList)"
    - "[com.drew.metadata.plist.BplistReader].handleInt(int,byte,com.drew.lang.SequentialByteArrayReader,java.util.ArrayList)"
    - "[java.io.IOException].<init>(java.lang.String)"
    - "[com.drew.metadata.plist.BplistReader$PropertyListResults].<init>(java.util.List,com.drew.metadata.plist.BplistReader$Trailer)"
    functionUses: 1
    ICount: 68
    EdgeCount: 16
    BranchProfiles:
    - Branch String: "com.drew.metadata.plist.BplistReader:67"
      Branch Sides:
      - BranchSide: "com.drew.metadata.plist.BplistReader:71"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.plist.BplistReader:70"
        BranchSideFuncs:
        - "readTrailer(byte[])"
        - "<init>()"
    - Branch String: "com.drew.metadata.plist.BplistReader:77"
      Branch Sides:
      - BranchSide: "com.drew.metadata.plist.BplistReader:85"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.plist.BplistReader:84"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.plist.BplistReader:78"
      Branch Sides:
      - BranchSide: "com.drew.metadata.plist.BplistReader:80"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.plist.BplistReader:79"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.plist.BplistReader:80"
      Branch Sides:
      - BranchSide: "com.drew.metadata.plist.BplistReader:71"
        BranchSideFuncs:
        - "getUInt16()"
      - BranchSide: "com.drew.metadata.plist.BplistReader:70"
        BranchSideFuncs:
        - "readTrailer(byte[])"
        - "<init>()"
    - Branch String: "com.drew.metadata.plist.BplistReader:85"
      Branch Sides:
      - BranchSide: "com.drew.metadata.plist.BplistReader:108"
        BranchSideFuncs:
        - "<init>(byte[],int)"
        - "getByte()"
      - BranchSide: "com.drew.metadata.plist.BplistReader:107"
        BranchSideFuncs:
        - "<init>(java.util.List,com.drew.metadata.plist.BplistReader$Trailer)"
    Callsites:
    - Src: "com.drew.metadata.plist.BplistReader:67,1"
      Dst: "[com.drew.metadata.plist.BplistReader].isValid(byte[])"
    - Src: "com.drew.metadata.plist.BplistReader:68,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.drew.metadata.plist.BplistReader:71,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "com.drew.metadata.plist.BplistReader:72,1"
      Dst: "[com.drew.metadata.plist.BplistReader].readTrailer(byte[])"
    - Src: "com.drew.metadata.plist.BplistReader:75,1"
      Dst: "[com.drew.lang.SequentialByteArrayReader].<init>(byte[],int)"
    - Src: "com.drew.metadata.plist.BplistReader:79,1"
      Dst: "[com.drew.lang.SequentialByteArrayReader].getByte()"
    - Src: "com.drew.metadata.plist.BplistReader:81,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt16()"
    - Src: "com.drew.metadata.plist.BplistReader:91,1"
      Dst: "[com.drew.metadata.plist.BplistReader].handleDict(int,byte,com.drew.lang.SequentialByteArrayReader,java.util.ArrayList)"
    - Src: "com.drew.metadata.plist.BplistReader:95,1"
      Dst: "[com.drew.lang.SequentialReader].getString(int)"
    - Src: "com.drew.metadata.plist.BplistReader:95,1"
      Dst: "[java.util.ArrayList].add(int,java.lang.Object)"
    - Src: "com.drew.metadata.plist.BplistReader:98,1"
      Dst: "[com.drew.metadata.plist.BplistReader].handleData(int,byte,com.drew.lang.SequentialByteArrayReader,java.util.ArrayList)"
    - Src: "com.drew.metadata.plist.BplistReader:101,1"
      Dst: "[com.drew.metadata.plist.BplistReader].handleInt(int,byte,com.drew.lang.SequentialByteArrayReader,java.util.ArrayList)"
    - Src: "com.drew.metadata.plist.BplistReader:104,1"
      Dst: "[java.io.IOException].<init>(java.lang.String)"
    - Src: "com.drew.metadata.plist.BplistReader:108,1"
      Dst: "[com.drew.metadata.plist.BplistReader$PropertyListResults].<init>(java.util.List,com.drew.metadata.plist.BplistReader$Trailer)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 19
    CyclomaticComplexity: 8
  - functionName: "[com.drew.metadata.plist.BplistReader].readTrailer(byte[])"
    functionSourceFile: "com.drew.metadata.plist.BplistReader"
    linkageType: ""
    functionLinenumber: 239
    functionLinenumberEnd: 252
    functionDepth: 2
    returnType: "com.drew.metadata.plist.BplistReader$Trailer"
    argCount: 1
    argTypes:
    - "byte[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.SequentialByteArrayReader].<init>(byte[],int)"
    - "[com.drew.lang.SequentialByteArrayReader].skip(long)"
    - "[com.drew.metadata.plist.BplistReader$Trailer].<init>(com.drew.metadata.plist.BplistReader$1)"
    - "[com.drew.lang.SequentialByteArrayReader].getByte()"
    - "[com.drew.lang.SequentialReader].getInt64()"
    functionUses: 1
    ICount: 20
    EdgeCount: 9
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.plist.BplistReader:240,1"
      Dst: "[com.drew.lang.SequentialByteArrayReader].<init>(byte[],int)"
    - Src: "com.drew.metadata.plist.BplistReader:241,1"
      Dst: "[com.drew.lang.SequentialByteArrayReader].skip(long)"
    - Src: "com.drew.metadata.plist.BplistReader:244,1"
      Dst: "[com.drew.metadata.plist.BplistReader$Trailer].<init>(com.drew.metadata.plist.BplistReader$1)"
    - Src: "com.drew.metadata.plist.BplistReader:245,1"
      Dst: "[com.drew.lang.SequentialByteArrayReader].getByte()"
    - Src: "com.drew.metadata.plist.BplistReader:247,1"
      Dst: "[com.drew.lang.SequentialReader].getInt64()"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.lang.SequentialByteArrayReader].getByte()"
    functionSourceFile: "com.drew.lang.SequentialByteArrayReader"
    linkageType: ""
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionDepth: 0
    returnType: "byte"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.EOFException].<init>(java.lang.String)"
    functionUses: 75
    ICount: 14
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "com.drew.lang.SequentialByteArrayReader:63"
      Branch Sides:
      - BranchSide: "com.drew.lang.SequentialByteArrayReader:66"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "com.drew.lang.SequentialByteArrayReader:65"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.lang.SequentialByteArrayReader:64,1"
      Dst: "[java.io.EOFException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.plist.BplistReader$PropertyListResults].<init>(java.util.List,com.drew.metadata.plist.BplistReader$Trailer)"
    functionSourceFile: "com.drew.metadata.plist.BplistReader$PropertyListResults"
    linkageType: ""
    functionLinenumber: 167
    functionLinenumberEnd: 172
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.util.List"
    - "com.drew.metadata.plist.BplistReader$Trailer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.plist.BplistReader$PropertyListResults:168,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: "[com.drew.metadata.plist.BplistReader$PropertyListResults].getEntrySet()"
    functionSourceFile: "com.drew.metadata.plist.BplistReader$PropertyListResults"
    linkageType: ""
    functionLinenumber: 185
    functionLinenumberEnd: 195
    functionDepth: 1
    returnType: "java.util.Set"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Vector].get(int)"
    - "[java.util.AbstractSequentialList].get(int)"
    - "[java.util.concurrent.CopyOnWriteArrayList].get(int)"
    - "[java.util.LinkedList].get(int)"
    - "[java.util.ArrayList].get(int)"
    - "[com.drew.metadata.plist.BplistReader$PropertyListResults].getObjects()"
    - "[com.drew.metadata.plist.BplistReader$PropertyListResults].getTrailer()"
    - "[java.util.concurrent.ConcurrentHashMap].entrySet()"
    - "[java.util.WeakHashMap].entrySet()"
    - "[java.util.Hashtable].entrySet()"
    - "[java.util.TreeMap].entrySet()"
    - "[java.util.Properties].entrySet()"
    - "[java.util.HashMap].entrySet()"
    - "[java.util.stream.Collectors$Partition].entrySet()"
    - "[java.util.IdentityHashMap].entrySet()"
    - "[java.security.Provider].entrySet()"
    - "[java.util.LinkedHashMap].entrySet()"
    - "[java.util.jar.Attributes].entrySet()"
    - "[java.util.List].get(int)"
    - "[java.util.Map].entrySet()"
    functionUses: 1
    ICount: 12
    EdgeCount: 18
    BranchProfiles:
    - Branch String: "com.drew.metadata.plist.BplistReader$PropertyListResults:188"
      Branch Sides:
      - BranchSide: "com.drew.metadata.plist.BplistReader$PropertyListResults:193"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.plist.BplistReader$PropertyListResults:186,1"
      Dst: "[com.drew.metadata.plist.BplistReader$PropertyListResults].getObjects()"
    - Src: "com.drew.metadata.plist.BplistReader$PropertyListResults:186,1"
      Dst: "[com.drew.metadata.plist.BplistReader$PropertyListResults].getTrailer()"
    - Src: "com.drew.metadata.plist.BplistReader$PropertyListResults:186,1"
      Dst: "[java.util.List].get(int)"
    - Src: "com.drew.metadata.plist.BplistReader$PropertyListResults:191,1"
      Dst: "[java.util.Map].entrySet()"
    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: "[com.drew.metadata.plist.BplistReader$PropertyListResults].getObjects()"
    functionSourceFile: "com.drew.metadata.plist.BplistReader$PropertyListResults"
    linkageType: ""
    functionLinenumber: 174
    functionLinenumberEnd: 176
    functionDepth: 0
    returnType: "java.util.List"
    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: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.plist.BplistReader$PropertyListResults].getTrailer()"
    functionSourceFile: "com.drew.metadata.plist.BplistReader$PropertyListResults"
    linkageType: ""
    functionLinenumber: 179
    functionLinenumberEnd: 181
    functionDepth: 0
    returnType: "com.drew.metadata.plist.BplistReader$Trailer"
    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: "[com.drew.metadata.exif.ExifTiffHandler].handlePrintIM(com.drew.metadata.Directory,int)"
    functionSourceFile: "com.drew.metadata.exif.ExifTiffHandler"
    linkageType: ""
    functionLinenumber: 656
    functionLinenumberEnd: 675
    functionDepth: 0
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "com.drew.metadata.Directory"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 26
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:657"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:660"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:659"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:660"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:673"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:662"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:670"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:662"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:670"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:662"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:670"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:662"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:670"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:662"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:670"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:662"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:670"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:662"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:670"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:662"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:670"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:662"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:673"
        BranchSideFuncs: []
    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: 14
    CyclomaticComplexity: 10
  - functionName: "[com.drew.metadata.exif.PrintIMDirectory].<init>()"
    functionSourceFile: "com.drew.metadata.exif.PrintIMDirectory"
    linkageType: ""
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].<init>()"
    - "[com.drew.metadata.exif.PrintIMDescriptor].<init>(com.drew.metadata.exif.PrintIMDirectory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 1
    ICount: 6
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.PrintIMDirectory:50,1"
      Dst: "[com.drew.metadata.Directory].<init>()"
    - Src: "com.drew.metadata.exif.PrintIMDirectory:51,1"
      Dst: "[com.drew.metadata.exif.PrintIMDescriptor].<init>(com.drew.metadata.exif.PrintIMDirectory)"
    - Src: "com.drew.metadata.exif.PrintIMDirectory:51,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.exif.PrintIMDescriptor].<init>(com.drew.metadata.exif.PrintIMDirectory)"
    functionSourceFile: "com.drew.metadata.exif.PrintIMDescriptor"
    linkageType: ""
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.exif.PrintIMDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.PrintIMDescriptor:41,1"
      Dst: "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    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: "[com.drew.metadata.exif.ExifTiffHandler].processPrintIM(com.drew.metadata.exif.PrintIMDirectory,int,com.drew.lang.RandomAccessReader,int)"
    functionSourceFile: "com.drew.metadata.exif.ExifTiffHandler"
    linkageType: ""
    functionLinenumber: 685
    functionLinenumberEnd: 734
    functionDepth: 0
    returnType: "void"
    argCount: 4
    argTypes:
    - "com.drew.metadata.exif.PrintIMDirectory"
    - "int"
    - "com.drew.lang.RandomAccessReader"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].addError(java.lang.String)"
    - "[com.drew.lang.RandomAccessReader].getString(int,int,java.nio.charset.Charset)"
    - "[java.lang.String].startsWith(java.lang.String)"
    - "[com.drew.lang.RandomAccessReader].getUInt16(int)"
    - "[com.drew.lang.RandomAccessReader].isMotorolaByteOrder()"
    - "[java.lang.Boolean].valueOf(boolean)"
    - "[com.drew.lang.RandomAccessReader].setMotorolaByteOrder(boolean)"
    - "[java.lang.String].length()"
    - "[com.drew.metadata.Directory].setObject(int,java.lang.Object)"
    - "[java.lang.String].substring(int,int)"
    - "[com.drew.lang.RandomAccessReader].getUInt32(int)"
    - "[java.lang.Long].valueOf(long)"
    - "[java.lang.Boolean].booleanValue()"
    functionUses: 1
    ICount: 59
    EdgeCount: 21
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:688"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:693"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:692"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:693"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:698"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:697"
        BranchSideFuncs:
        - "getString(int,int,java.nio.charset.Charset)"
        - "startsWith(java.lang.String)"
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:700"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:706"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:705"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:708"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:718"
        BranchSideFuncs:
        - "length()"
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:711"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:710"
        BranchSideFuncs:
        - "isMotorolaByteOrder()"
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:709"
        BranchSideFuncs:
        - "valueOf(boolean)"
        - "isMotorolaByteOrder()"
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:713"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:719"
        BranchSideFuncs:
        - "addError(java.lang.String)"
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:718"
        BranchSideFuncs:
        - "length()"
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:719"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:723"
        BranchSideFuncs:
        - "substring(int,int)"
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:722"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:723"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:730"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:731"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:733"
        BranchSideFuncs:
        - "booleanValue()"
        - "setMotorolaByteOrder(boolean)"
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:732"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.exif.ExifTiffHandler:689,1"
      Dst: "[com.drew.metadata.Directory].addError(java.lang.String)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:698,1"
      Dst: "[com.drew.lang.RandomAccessReader].getString(int,int,java.nio.charset.Charset)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:700,1"
      Dst: "[java.lang.String].startsWith(java.lang.String)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:706,1"
      Dst: "[com.drew.lang.RandomAccessReader].getUInt16(int)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:710,1"
      Dst: "[com.drew.lang.RandomAccessReader].isMotorolaByteOrder()"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:710,1"
      Dst: "[java.lang.Boolean].valueOf(boolean)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:711,1"
      Dst: "[com.drew.lang.RandomAccessReader].setMotorolaByteOrder(boolean)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:719,1"
      Dst: "[java.lang.String].length()"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:720,1"
      Dst: "[java.lang.String].substring(int,int)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:720,1"
      Dst: "[com.drew.metadata.Directory].setObject(int,java.lang.Object)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:726,1"
      Dst: "[com.drew.lang.RandomAccessReader].getUInt32(int)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:728,1"
      Dst: "[java.lang.Long].valueOf(long)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:732,1"
      Dst: "[java.lang.Boolean].booleanValue()"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 20
    CyclomaticComplexity: 6
  - functionName: "[com.drew.metadata.exif.ExifTiffHandler].processBinary(com.drew.metadata.Directory,int,com.drew.lang.RandomAccessReader,int,java.lang.Boolean,int)"
    functionSourceFile: "com.drew.metadata.exif.ExifTiffHandler"
    linkageType: ""
    functionLinenumber: 377
    functionLinenumberEnd: 405
    functionDepth: 0
    returnType: "void"
    argCount: 6
    argTypes:
    - "com.drew.metadata.Directory"
    - "int"
    - "com.drew.lang.RandomAccessReader"
    - "int"
    - "java.lang.Boolean"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].hasTagName(int)"
    - "[com.drew.metadata.ErrorDirectory].hasTagName(int)"
    - "[java.lang.Boolean].booleanValue()"
    - "[com.drew.lang.RandomAccessReader].getInt16(int)"
    - "[com.drew.metadata.ErrorDirectory].setObject(int,java.lang.Object)"
    - "[com.drew.metadata.Directory].setObject(int,java.lang.Object)"
    - "[java.lang.Short].valueOf(short)"
    - "[com.drew.lang.RandomAccessReader].getUInt16(int)"
    - "[java.lang.Integer].valueOf(int)"
    - "[com.drew.metadata.Directory].setObjectArray(int,java.lang.Object)"
    - "[com.drew.metadata.exif.makernotes.CanonMakernoteDirectory].setObjectArray(int,java.lang.Object)"
    functionUses: 3
    ICount: 61
    EdgeCount: 20
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:378"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:404"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:403"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:379"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:377"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:381"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:388"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:387"
        BranchSideFuncs:
        - "booleanValue()"
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:381"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:388"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:387"
        BranchSideFuncs:
        - "booleanValue()"
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:382"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:385"
        BranchSideFuncs:
        - "valueOf(short)"
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:384"
        BranchSideFuncs:
        - "setObject(int,java.lang.Object)"
        - "valueOf(int)"
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:388"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:394"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:393"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:390"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:391"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifTiffHandler:395"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifTiffHandler:396"
        BranchSideFuncs:
        - "setObjectArray(int,java.lang.Object)"
    Callsites:
    - Src: "com.drew.metadata.exif.ExifTiffHandler:379,1"
      Dst: "[com.drew.metadata.Directory].hasTagName(int)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:382,1"
      Dst: "[java.lang.Boolean].booleanValue()"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:383,1"
      Dst: "[com.drew.lang.RandomAccessReader].getInt16(int)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:383,1"
      Dst: "[java.lang.Short].valueOf(short)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:383,1"
      Dst: "[com.drew.metadata.Directory].setObject(int,java.lang.Object)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:385,1"
      Dst: "[com.drew.lang.RandomAccessReader].getUInt16(int)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:385,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.drew.metadata.exif.ExifTiffHandler:392,1"
      Dst: "[com.drew.metadata.Directory].setObjectArray(int,java.lang.Object)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 20
    CyclomaticComplexity: 9
  - functionName: "[com.drew.metadata.exif.PanasonicRawDistortionDescriptor].<init>(com.drew.metadata.exif.PanasonicRawDistortionDirectory)"
    functionSourceFile: "com.drew.metadata.exif.PanasonicRawDistortionDescriptor"
    linkageType: ""
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.exif.PanasonicRawDistortionDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.PanasonicRawDistortionDescriptor:42,1"
      Dst: "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    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: "[com.drew.metadata.exif.makernotes.SonyTag9050bDirectory].read(byte[])"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SonyTag9050bDirectory"
    linkageType: ""
    functionLinenumber: 68
    functionLinenumberEnd: 161
    functionDepth: 4
    returnType: "com.drew.metadata.exif.makernotes.SonyTag9050bDirectory"
    argCount: 1
    argTypes:
    - "byte[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.makernotes.SonyTag9050bDirectory].<init>()"
    - "[com.drew.metadata.exif.makernotes.SonyEncodedDataDirectoryBase].decipherInPlace(byte[])"
    - "[com.drew.lang.ByteArrayReader].<init>(byte[])"
    - "[com.drew.lang.RandomAccessReader].setMotorolaByteOrder(boolean)"
    - "[com.drew.lang.RandomAccessReader].getUInt16(int)"
    - "[com.drew.metadata.Directory].setIntArray(int,int[])"
    - "[com.drew.lang.RandomAccessReader].getUInt8(int)"
    - "[com.drew.metadata.Directory].setInt(int,int)"
    - "[com.drew.lang.RandomAccessReader].getUInt32(int)"
    - "[com.drew.metadata.Directory].setLong(int,long)"
    - "[java.lang.Math].pow(double,double)"
    - "[java.text.DecimalFormat].<init>(java.lang.String)"
    - "[java.text.DecimalFormat].setRoundingMode(java.math.RoundingMode)"
    - "[com.drew.metadata.Directory].setFloat(int,float)"
    - "[com.drew.lang.ByteArrayReader].getBytes(int,int)"
    - "[com.drew.metadata.Directory].setByteArray(int,byte[])"
    - "[com.drew.metadata.Directory].addError(java.lang.String)"
    - "[java.io.InvalidClassException].getMessage()"
    - "[java.lang.Throwable].getMessage()"
    - "[java.nio.file.FileSystemException].getMessage()"
    functionUses: 1
    ICount: 75
    EdgeCount: 42
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SonyTag9050bDirectory:69,1"
      Dst: "[com.drew.metadata.exif.makernotes.SonyTag9050bDirectory].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.SonyTag9050bDirectory:73,1"
      Dst: "[com.drew.metadata.exif.makernotes.SonyEncodedDataDirectoryBase].decipherInPlace(byte[])"
    - Src: "com.drew.metadata.exif.makernotes.SonyTag9050bDirectory:75,1"
      Dst: "[com.drew.lang.ByteArrayReader].<init>(byte[])"
    - Src: "com.drew.metadata.exif.makernotes.SonyTag9050bDirectory:76,1"
      Dst: "[com.drew.lang.RandomAccessReader].setMotorolaByteOrder(boolean)"
    - Src: "com.drew.metadata.exif.makernotes.SonyTag9050bDirectory:80,1"
      Dst: "[com.drew.lang.RandomAccessReader].getUInt16(int)"
    - Src: "com.drew.metadata.exif.makernotes.SonyTag9050bDirectory:83,1"
      Dst: "[com.drew.metadata.Directory].setIntArray(int,int[])"
    - Src: "com.drew.metadata.exif.makernotes.SonyTag9050bDirectory:87,1"
      Dst: "[com.drew.lang.RandomAccessReader].getUInt8(int)"
    - Src: "com.drew.metadata.exif.makernotes.SonyTag9050bDirectory:88,1"
      Dst: "[com.drew.metadata.Directory].setInt(int,int)"
    - Src: "com.drew.metadata.exif.makernotes.SonyTag9050bDirectory:92,1"
      Dst: "[com.drew.lang.RandomAccessReader].getUInt32(int)"
    - Src: "com.drew.metadata.exif.makernotes.SonyTag9050bDirectory:93,1"
      Dst: "[com.drew.metadata.Directory].setLong(int,long)"
    - Src: "com.drew.metadata.exif.makernotes.SonyTag9050bDirectory:98,1"
      Dst: "[java.lang.Math].pow(double,double)"
    - Src: "com.drew.metadata.exif.makernotes.SonyTag9050bDirectory:99,1"
      Dst: "[java.text.DecimalFormat].<init>(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.SonyTag9050bDirectory:100,1"
      Dst: "[java.text.DecimalFormat].setRoundingMode(java.math.RoundingMode)"
    - Src: "com.drew.metadata.exif.makernotes.SonyTag9050bDirectory:101,1"
      Dst: "[com.drew.metadata.Directory].setFloat(int,float)"
    - Src: "com.drew.metadata.exif.makernotes.SonyTag9050bDirectory:149,1"
      Dst: "[com.drew.lang.ByteArrayReader].getBytes(int,int)"
    - Src: "com.drew.metadata.exif.makernotes.SonyTag9050bDirectory:150,1"
      Dst: "[com.drew.metadata.Directory].setByteArray(int,byte[])"
    - Src: "com.drew.metadata.exif.makernotes.SonyTag9050bDirectory:157,1"
      Dst: "[java.lang.Throwable].getMessage()"
    - Src: "com.drew.metadata.exif.makernotes.SonyTag9050bDirectory:157,1"
      Dst: "[com.drew.metadata.Directory].addError(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: 3
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.SonyTag9050bDirectory].<init>()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SonyTag9050bDirectory"
    linkageType: ""
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.makernotes.SonyEncodedDataDirectoryBase].<init>()"
    - "[com.drew.metadata.exif.makernotes.SonyTag9050bDescriptor].<init>(com.drew.metadata.exif.makernotes.SonyTag9050bDirectory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 1
    ICount: 6
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SonyTag9050bDirectory:49,1"
      Dst: "[com.drew.metadata.exif.makernotes.SonyEncodedDataDirectoryBase].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.SonyTag9050bDirectory:50,1"
      Dst: "[com.drew.metadata.exif.makernotes.SonyTag9050bDescriptor].<init>(com.drew.metadata.exif.makernotes.SonyTag9050bDirectory)"
    - Src: "com.drew.metadata.exif.makernotes.SonyTag9050bDirectory:50,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.exif.makernotes.NikonPictureControl1Directory].read(byte[])"
    functionSourceFile: "com.drew.metadata.exif.makernotes.NikonPictureControl1Directory"
    linkageType: ""
    functionLinenumber: 72
    functionLinenumberEnd: 99
    functionDepth: 3
    returnType: "com.drew.metadata.exif.makernotes.NikonPictureControl1Directory"
    argCount: 1
    argTypes:
    - "byte[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[com.drew.lang.SequentialByteArrayReader].<init>(byte[])"
    - "[com.drew.metadata.exif.makernotes.NikonPictureControl1Directory].<init>()"
    - "[com.drew.lang.SequentialReader].getNullTerminatedStringValue(int,java.nio.charset.Charset,boolean)"
    - "[com.drew.metadata.Directory].setObject(int,java.lang.Object)"
    - "[com.drew.lang.SequentialByteArrayReader].skip(long)"
    - "[com.drew.lang.SequentialReader].getUInt8()"
    - "[java.lang.Short].valueOf(short)"
    - "[java.lang.AssertionError].<init>()"
    - "[com.drew.lang.SequentialByteArrayReader].getPosition()"
    functionUses: 1
    ICount: 59
    EdgeCount: 42
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.NikonPictureControl1Directory:73"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.NikonPictureControl1Directory:77"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "com.drew.metadata.exif.makernotes.NikonPictureControl1Directory:76"
        BranchSideFuncs:
        - "skip(long)"
        - "getPosition()"
        - "getUInt8()"
        - "<init>()"
        - "setObject(int,java.lang.Object)"
        - "valueOf(short)"
        - "<init>(byte[])"
        - "getNullTerminatedStringValue(int,java.nio.charset.Charset,boolean)"
    - Branch String: "com.drew.metadata.exif.makernotes.NikonPictureControl1Directory:96"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.NikonPictureControl1Directory:97"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.NikonPictureControl1Directory:96"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.NikonPictureControl1Directory:97"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.NikonPictureControl1Directory:74,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.NikonPictureControl1Directory:77,1"
      Dst: "[com.drew.lang.SequentialByteArrayReader].<init>(byte[])"
    - Src: "com.drew.metadata.exif.makernotes.NikonPictureControl1Directory:79,1"
      Dst: "[com.drew.metadata.exif.makernotes.NikonPictureControl1Directory].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.NikonPictureControl1Directory:81,1"
      Dst: "[com.drew.lang.SequentialReader].getNullTerminatedStringValue(int,java.nio.charset.Charset,boolean)"
    - Src: "com.drew.metadata.exif.makernotes.NikonPictureControl1Directory:81,1"
      Dst: "[com.drew.metadata.Directory].setObject(int,java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.NikonPictureControl1Directory:84,1"
      Dst: "[com.drew.lang.SequentialByteArrayReader].skip(long)"
    - Src: "com.drew.metadata.exif.makernotes.NikonPictureControl1Directory:85,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt8()"
    - Src: "com.drew.metadata.exif.makernotes.NikonPictureControl1Directory:85,1"
      Dst: "[java.lang.Short].valueOf(short)"
    - Src: "com.drew.metadata.exif.makernotes.NikonPictureControl1Directory:96,1"
      Dst: "[com.drew.lang.SequentialByteArrayReader].getPosition()"
    - Src: "com.drew.metadata.exif.makernotes.NikonPictureControl1Directory:96,1"
      Dst: "[java.lang.AssertionError].<init>()"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.exif.makernotes.NikonPictureControl1Directory].<init>()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.NikonPictureControl1Directory"
    linkageType: ""
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].<init>()"
    - "[com.drew.metadata.exif.makernotes.NikonPictureControl1Descriptor].<init>(com.drew.metadata.exif.makernotes.NikonPictureControl1Directory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 1
    ICount: 6
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.NikonPictureControl1Directory:51,1"
      Dst: "[com.drew.metadata.Directory].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.NikonPictureControl1Directory:52,1"
      Dst: "[com.drew.metadata.exif.makernotes.NikonPictureControl1Descriptor].<init>(com.drew.metadata.exif.makernotes.NikonPictureControl1Directory)"
    - Src: "com.drew.metadata.exif.makernotes.NikonPictureControl1Directory:52,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.exif.makernotes.NikonPictureControl1Descriptor].<init>(com.drew.metadata.exif.makernotes.NikonPictureControl1Directory)"
    functionSourceFile: "com.drew.metadata.exif.makernotes.NikonPictureControl1Descriptor"
    linkageType: ""
    functionLinenumber: 12
    functionLinenumberEnd: 15
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.exif.makernotes.NikonPictureControl1Directory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.NikonPictureControl1Descriptor:13,1"
      Dst: "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    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: "[com.drew.lang.SequentialByteArrayReader].getPosition()"
    functionSourceFile: "com.drew.lang.SequentialByteArrayReader"
    linkageType: ""
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionDepth: 0
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 24
    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: "[com.drew.metadata.exif.makernotes.NikonPictureControl2Directory].read(byte[])"
    functionSourceFile: "com.drew.metadata.exif.makernotes.NikonPictureControl2Directory"
    linkageType: ""
    functionLinenumber: 80
    functionLinenumberEnd: 117
    functionDepth: 3
    returnType: "com.drew.metadata.exif.makernotes.NikonPictureControl2Directory"
    argCount: 1
    argTypes:
    - "byte[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    - "[com.drew.lang.SequentialByteArrayReader].<init>(byte[])"
    - "[com.drew.metadata.exif.makernotes.NikonPictureControl2Directory].<init>()"
    - "[com.drew.lang.SequentialReader].getNullTerminatedStringValue(int,java.nio.charset.Charset,boolean)"
    - "[com.drew.metadata.Directory].setStringValue(int,com.drew.metadata.StringValue)"
    - "[com.drew.lang.SequentialByteArrayReader].skip(long)"
    - "[com.drew.lang.SequentialByteArrayReader].getByte()"
    - "[com.drew.metadata.Directory].setObject(int,java.lang.Object)"
    - "[java.lang.Byte].valueOf(byte)"
    - "[java.lang.AssertionError].<init>()"
    - "[com.drew.lang.SequentialByteArrayReader].getPosition()"
    - "[java.lang.StringBuilder].append(int)"
    functionUses: 1
    ICount: 77
    EdgeCount: 56
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.NikonPictureControl2Directory:81"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.NikonPictureControl2Directory:85"
        BranchSideFuncs:
        - "append(java.lang.String)"
        - "toString()"
        - "<init>(java.lang.String)"
      - BranchSide: "com.drew.metadata.exif.makernotes.NikonPictureControl2Directory:84"
        BranchSideFuncs:
        - "skip(long)"
        - "getPosition()"
        - "setStringValue(int,com.drew.metadata.StringValue)"
        - "<init>()"
        - "setObject(int,java.lang.Object)"
        - "valueOf(byte)"
        - "<init>(byte[])"
        - "getNullTerminatedStringValue(int,java.nio.charset.Charset,boolean)"
        - "getByte()"
    - Branch String: "com.drew.metadata.exif.makernotes.NikonPictureControl2Directory:114"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.NikonPictureControl2Directory:115"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.NikonPictureControl2Directory:114"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.NikonPictureControl2Directory:115"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.NikonPictureControl2Directory:82,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.NikonPictureControl2Directory:82,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.NikonPictureControl2Directory:82,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    - Src: "com.drew.metadata.exif.makernotes.NikonPictureControl2Directory:82,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "com.drew.metadata.exif.makernotes.NikonPictureControl2Directory:82,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.NikonPictureControl2Directory:85,1"
      Dst: "[com.drew.lang.SequentialByteArrayReader].<init>(byte[])"
    - Src: "com.drew.metadata.exif.makernotes.NikonPictureControl2Directory:87,1"
      Dst: "[com.drew.metadata.exif.makernotes.NikonPictureControl2Directory].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.NikonPictureControl2Directory:89,1"
      Dst: "[com.drew.lang.SequentialReader].getNullTerminatedStringValue(int,java.nio.charset.Charset,boolean)"
    - Src: "com.drew.metadata.exif.makernotes.NikonPictureControl2Directory:89,1"
      Dst: "[com.drew.metadata.Directory].setStringValue(int,com.drew.metadata.StringValue)"
    - Src: "com.drew.metadata.exif.makernotes.NikonPictureControl2Directory:93,1"
      Dst: "[com.drew.lang.SequentialByteArrayReader].skip(long)"
    - Src: "com.drew.metadata.exif.makernotes.NikonPictureControl2Directory:94,1"
      Dst: "[com.drew.lang.SequentialByteArrayReader].getByte()"
    - Src: "com.drew.metadata.exif.makernotes.NikonPictureControl2Directory:94,1"
      Dst: "[java.lang.Byte].valueOf(byte)"
    - Src: "com.drew.metadata.exif.makernotes.NikonPictureControl2Directory:94,1"
      Dst: "[com.drew.metadata.Directory].setObject(int,java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.NikonPictureControl2Directory:114,1"
      Dst: "[com.drew.lang.SequentialByteArrayReader].getPosition()"
    - Src: "com.drew.metadata.exif.makernotes.NikonPictureControl2Directory:114,1"
      Dst: "[java.lang.AssertionError].<init>()"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.exif.makernotes.NikonPictureControl2Directory].<init>()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.NikonPictureControl2Directory"
    linkageType: ""
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].<init>()"
    - "[com.drew.metadata.exif.makernotes.NikonPictureControl2Descriptor].<init>(com.drew.metadata.exif.makernotes.NikonPictureControl2Directory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 1
    ICount: 6
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.NikonPictureControl2Directory:59,1"
      Dst: "[com.drew.metadata.Directory].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.NikonPictureControl2Directory:60,1"
      Dst: "[com.drew.metadata.exif.makernotes.NikonPictureControl2Descriptor].<init>(com.drew.metadata.exif.makernotes.NikonPictureControl2Directory)"
    - Src: "com.drew.metadata.exif.makernotes.NikonPictureControl2Directory:60,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.exif.makernotes.NikonPictureControl2Descriptor].<init>(com.drew.metadata.exif.makernotes.NikonPictureControl2Directory)"
    functionSourceFile: "com.drew.metadata.exif.makernotes.NikonPictureControl2Descriptor"
    linkageType: ""
    functionLinenumber: 12
    functionLinenumberEnd: 15
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.exif.makernotes.NikonPictureControl2Directory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.NikonPictureControl2Descriptor:13,1"
      Dst: "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    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: "[com.drew.metadata.plist.BplistReader].<init>()"
    functionSourceFile: "com.drew.metadata.plist.BplistReader"
    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: "com.drew.metadata.plist.BplistReader: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: "[com.drew.metadata.plist.BplistReader].handleInt(int,byte,com.drew.lang.SequentialByteArrayReader,java.util.ArrayList<Object>)"
    functionSourceFile: "com.drew.metadata.plist.BplistReader"
    linkageType: ""
    functionLinenumber: 112
    functionLinenumberEnd: 124
    functionDepth: 1
    returnType: "void"
    argCount: 4
    argTypes:
    - "int"
    - "byte"
    - "com.drew.lang.SequentialByteArrayReader"
    - "java.util.ArrayList<Object>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Math].pow(double,double)"
    - "[java.util.ArrayList].add(int,java.lang.Object)"
    - "[com.drew.lang.SequentialByteArrayReader].getByte()"
    - "[java.lang.Byte].valueOf(byte)"
    - "[com.drew.lang.SequentialReader].getUInt16()"
    - "[java.lang.Integer].valueOf(int)"
    - "[com.drew.lang.SequentialReader].getUInt32()"
    - "[java.lang.Long].valueOf(long)"
    - "[com.drew.lang.SequentialReader].getInt64()"
    functionUses: 1
    ICount: 28
    EdgeCount: 13
    BranchProfiles:
    - Branch String: "com.drew.metadata.plist.BplistReader:114"
      Branch Sides:
      - BranchSide: "com.drew.metadata.plist.BplistReader:116"
        BranchSideFuncs:
        - "valueOf(byte)"
        - "getByte()"
      - BranchSide: "com.drew.metadata.plist.BplistReader:115"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.plist.BplistReader:116"
      Branch Sides:
      - BranchSide: "com.drew.metadata.plist.BplistReader:118"
        BranchSideFuncs:
        - "valueOf(int)"
        - "getUInt16()"
      - BranchSide: "com.drew.metadata.plist.BplistReader:117"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.plist.BplistReader:118"
      Branch Sides:
      - BranchSide: "com.drew.metadata.plist.BplistReader:120"
        BranchSideFuncs:
        - "getUInt32()"
      - BranchSide: "com.drew.metadata.plist.BplistReader:119"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.plist.BplistReader:120"
      Branch Sides:
      - BranchSide: "com.drew.metadata.plist.BplistReader:123"
        BranchSideFuncs:
        - "add(int,java.lang.Object)"
        - "getInt64()"
        - "valueOf(long)"
      - BranchSide: "com.drew.metadata.plist.BplistReader:122"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.plist.BplistReader:113,1"
      Dst: "[java.lang.Math].pow(double,double)"
    - Src: "com.drew.metadata.plist.BplistReader:115,1"
      Dst: "[com.drew.lang.SequentialByteArrayReader].getByte()"
    - Src: "com.drew.metadata.plist.BplistReader:115,1"
      Dst: "[java.lang.Byte].valueOf(byte)"
    - Src: "com.drew.metadata.plist.BplistReader:115,1"
      Dst: "[java.util.ArrayList].add(int,java.lang.Object)"
    - Src: "com.drew.metadata.plist.BplistReader:117,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt16()"
    - Src: "com.drew.metadata.plist.BplistReader:117,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.drew.metadata.plist.BplistReader:119,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt32()"
    - Src: "com.drew.metadata.plist.BplistReader:119,1"
      Dst: "[java.lang.Long].valueOf(long)"
    - Src: "com.drew.metadata.plist.BplistReader:121,1"
      Dst: "[com.drew.lang.SequentialReader].getInt64()"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 9
    CyclomaticComplexity: 5
  - functionName: "[com.drew.metadata.plist.BplistReader].handleDict(int,byte,com.drew.lang.SequentialByteArrayReader,java.util.ArrayList<Object>)"
    functionSourceFile: "com.drew.metadata.plist.BplistReader"
    linkageType: ""
    functionLinenumber: 127
    functionLinenumberEnd: 141
    functionDepth: 1
    returnType: "void"
    argCount: 4
    argTypes:
    - "int"
    - "byte"
    - "com.drew.lang.SequentialByteArrayReader"
    - "java.util.ArrayList<Object>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.LinkedHashMap].<init>()"
    - "[com.drew.lang.SequentialByteArrayReader].getByte()"
    - "[java.util.HashMap].put(java.lang.Object,java.lang.Object)"
    - "[java.lang.Byte].valueOf(byte)"
    - "[java.util.ArrayList].add(int,java.lang.Object)"
    functionUses: 1
    ICount: 28
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "com.drew.metadata.plist.BplistReader:132"
      Branch Sides:
      - BranchSide: "com.drew.metadata.plist.BplistReader:134"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.plist.BplistReader:135"
      Branch Sides:
      - BranchSide: "com.drew.metadata.plist.BplistReader:138"
        BranchSideFuncs:
        - "add(int,java.lang.Object)"
    Callsites:
    - Src: "com.drew.metadata.plist.BplistReader:128,1"
      Dst: "[java.util.LinkedHashMap].<init>()"
    - Src: "com.drew.metadata.plist.BplistReader:133,1"
      Dst: "[com.drew.lang.SequentialByteArrayReader].getByte()"
    - Src: "com.drew.metadata.plist.BplistReader:136,1"
      Dst: "[java.lang.Byte].valueOf(byte)"
    - Src: "com.drew.metadata.plist.BplistReader:136,1"
      Dst: "[java.util.HashMap].put(java.lang.Object,java.lang.Object)"
    - Src: "com.drew.metadata.plist.BplistReader:139,1"
      Dst: "[java.util.ArrayList].add(int,java.lang.Object)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[com.drew.metadata.plist.BplistReader].handleData(int,byte,com.drew.lang.SequentialByteArrayReader,java.util.ArrayList<Object>)"
    functionSourceFile: "com.drew.metadata.plist.BplistReader"
    linkageType: ""
    functionLinenumber: 143
    functionLinenumberEnd: 161
    functionDepth: 1
    returnType: "void"
    argCount: 4
    argTypes:
    - "int"
    - "byte"
    - "com.drew.lang.SequentialByteArrayReader"
    - "java.util.ArrayList<Object>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.SequentialReader].getInt8()"
    - "[com.drew.lang.SequentialByteArrayReader].getByte()"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.lang.Math].pow(double,double)"
    - "[com.drew.lang.SequentialReader].getUInt16()"
    - "[java.util.ArrayList].add(int,java.lang.Object)"
    - "[com.drew.lang.SequentialByteArrayReader].getBytes(int)"
    functionUses: 1
    ICount: 29
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "com.drew.metadata.plist.BplistReader:145"
      Branch Sides:
      - BranchSide: "com.drew.metadata.plist.BplistReader:159"
        BranchSideFuncs:
        - "getByte()"
      - BranchSide: "com.drew.metadata.plist.BplistReader:158"
        BranchSideFuncs:
        - "add(int,java.lang.Object)"
        - "getBytes(int)"
    - Branch String: "com.drew.metadata.plist.BplistReader:147"
      Branch Sides:
      - BranchSide: "com.drew.metadata.plist.BplistReader:151"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "com.drew.metadata.plist.BplistReader:150"
        BranchSideFuncs:
        - "pow(double,double)"
    - Branch String: "com.drew.metadata.plist.BplistReader:152"
      Branch Sides:
      - BranchSide: "com.drew.metadata.plist.BplistReader:154"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.plist.BplistReader:153"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.plist.BplistReader:154"
      Branch Sides:
      - BranchSide: "com.drew.metadata.plist.BplistReader:159"
        BranchSideFuncs:
        - "getUInt16()"
      - BranchSide: "com.drew.metadata.plist.BplistReader:158"
        BranchSideFuncs:
        - "add(int,java.lang.Object)"
        - "getBytes(int)"
    Callsites:
    - Src: "com.drew.metadata.plist.BplistReader:146,1"
      Dst: "[com.drew.lang.SequentialByteArrayReader].getByte()"
    - Src: "com.drew.metadata.plist.BplistReader:148,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.drew.metadata.plist.BplistReader:151,1"
      Dst: "[java.lang.Math].pow(double,double)"
    - Src: "com.drew.metadata.plist.BplistReader:-1,1"
      Dst: "[com.drew.lang.SequentialReader].getInt8()"
    - Src: "com.drew.metadata.plist.BplistReader:155,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt16()"
    - Src: "com.drew.metadata.plist.BplistReader:159,1"
      Dst: "[com.drew.lang.SequentialByteArrayReader].getBytes(int)"
    - Src: "com.drew.metadata.plist.BplistReader:159,1"
      Dst: "[java.util.ArrayList].add(int,java.lang.Object)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 8
    CyclomaticComplexity: 4
  - functionName: "[com.drew.lang.ByteTrie$ByteTrieNode].<init>()"
    functionSourceFile: "com.drew.lang.ByteTrie$ByteTrieNode"
    linkageType: ""
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.util.HashMap].<init>()"
    functionUses: 2
    ICount: 7
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.lang.ByteTrie$ByteTrieNode:36,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.drew.lang.ByteTrie$ByteTrieNode:38,1"
      Dst: "[java.util.HashMap].<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: "[com.drew.lang.ByteTrie$ByteTrieNode].setValue(java.lang.Object)"
    functionSourceFile: "com.drew.lang.ByteTrie$ByteTrieNode"
    linkageType: ""
    functionLinenumber: 42
    functionLinenumberEnd: 47
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.RuntimeException].<init>(java.lang.String)"
    functionUses: 2
    ICount: 9
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "com.drew.lang.ByteTrie$ByteTrieNode:43"
      Branch Sides:
      - BranchSide: "com.drew.lang.ByteTrie$ByteTrieNode:45"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "com.drew.lang.ByteTrie$ByteTrieNode:44"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.lang.ByteTrie$ByteTrieNode:44,1"
      Dst: "[java.lang.RuntimeException].<init>(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: 3
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.NikonPictureControl2Directory].getName()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.NikonPictureControl2Directory"
    linkageType: ""
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.exif.makernotes.NikonPictureControl2Directory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.NikonPictureControl2Directory"
    linkageType: ""
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.ReconyxHyperFire2MakernoteDirectory].getName()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.ReconyxHyperFire2MakernoteDirectory"
    linkageType: ""
    functionLinenumber: 101
    functionLinenumberEnd: 103
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.exif.makernotes.ReconyxHyperFire2MakernoteDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.ReconyxHyperFire2MakernoteDirectory"
    linkageType: ""
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.imaging.tiff.TiffDataFormat].<init>(java.lang.String,int,int)"
    functionSourceFile: "com.drew.imaging.tiff.TiffDataFormat"
    linkageType: ""
    functionLinenumber: 84
    functionLinenumberEnd: 90
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 12
    ICount: 9
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.tiff.TiffDataFormat: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: "[com.drew.imaging.tiff.TiffDataFormat].getTiffFormatCode()"
    functionSourceFile: "com.drew.imaging.tiff.TiffDataFormat"
    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: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.imaging.tiff.TiffDataFormat].toString()"
    functionSourceFile: "com.drew.imaging.tiff.TiffDataFormat"
    linkageType: ""
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 14
    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: "[com.drew.lang.ByteConvert].<init>()"
    functionSourceFile: "com.drew.lang.ByteConvert"
    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: "com.drew.lang.ByteConvert:28,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: "[com.drew.lang.ByteConvert].toInt32LittleEndian(byte[])"
    functionSourceFile: "com.drew.lang.ByteConvert"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 1
    argTypes:
    - "byte[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 22
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    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: "[com.drew.metadata.exif.ExifInteropDirectory].<init>()"
    functionSourceFile: "com.drew.metadata.exif.ExifInteropDirectory"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.ExifDirectoryBase].<init>()"
    - "[com.drew.metadata.exif.ExifInteropDescriptor].<init>(com.drew.metadata.exif.ExifInteropDirectory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.ExifInteropDirectory:44,1"
      Dst: "[com.drew.metadata.exif.ExifDirectoryBase].<init>()"
    - Src: "com.drew.metadata.exif.ExifInteropDirectory:45,1"
      Dst: "[com.drew.metadata.exif.ExifInteropDescriptor].<init>(com.drew.metadata.exif.ExifInteropDirectory)"
    - Src: "com.drew.metadata.exif.ExifInteropDirectory:45,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.exif.ExifInteropDirectory].getName()"
    functionSourceFile: "com.drew.metadata.exif.ExifInteropDirectory"
    linkageType: ""
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.exif.ExifInteropDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.exif.ExifInteropDirectory"
    linkageType: ""
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.PrintIMDirectory].getName()"
    functionSourceFile: "com.drew.metadata.exif.PrintIMDirectory"
    linkageType: ""
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.exif.PrintIMDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.exif.PrintIMDirectory"
    linkageType: ""
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.photoshop.PhotoshopTiffHandler].customProcessTag(int,java.util.Set<Integer>,int,com.drew.lang.RandomAccessReader,int,int)"
    functionSourceFile: "com.drew.metadata.photoshop.PhotoshopTiffHandler"
    linkageType: ""
    functionLinenumber: 45
    functionLinenumberEnd: 60
    functionDepth: 8
    returnType: "boolean"
    argCount: 6
    argTypes:
    - "int"
    - "java.util.Set<Integer>"
    - "int"
    - "com.drew.lang.RandomAccessReader"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.xmp.XmpReader].<init>()"
    - "[com.drew.metadata.xmp.XmpReader].extract(byte[],com.drew.metadata.Metadata)"
    - "[com.drew.lang.ByteArrayReader].getBytes(int,int)"
    - "[com.drew.lang.RandomAccessStreamReader].getBytes(int,int)"
    - "[com.drew.lang.RandomAccessFileReader].getBytes(int,int)"
    - "[com.drew.lang.SequentialByteArrayReader].<init>(byte[])"
    - "[com.drew.metadata.photoshop.PhotoshopReader].<init>()"
    - "[com.drew.metadata.photoshop.PhotoshopReader].extract(com.drew.lang.SequentialReader,int,com.drew.metadata.Metadata)"
    - "[com.drew.lang.ByteArrayReader].<init>(byte[])"
    - "[com.drew.metadata.icc.IccReader].<init>()"
    - "[com.drew.metadata.icc.IccReader].extract(com.drew.lang.RandomAccessReader,com.drew.metadata.Metadata)"
    - "[com.drew.metadata.exif.ExifTiffHandler].customProcessTag(int,java.util.Set,int,com.drew.lang.RandomAccessReader,int,int)"
    - "[com.drew.lang.RandomAccessReader].getBytes(int,int)"
    functionUses: 1
    ICount: 32
    EdgeCount: 18
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.photoshop.PhotoshopTiffHandler:48,1"
      Dst: "[com.drew.metadata.xmp.XmpReader].<init>()"
    - Src: "com.drew.metadata.photoshop.PhotoshopTiffHandler:48,1"
      Dst: "[com.drew.lang.RandomAccessReader].getBytes(int,int)"
    - Src: "com.drew.metadata.photoshop.PhotoshopTiffHandler:48,1"
      Dst: "[com.drew.metadata.xmp.XmpReader].extract(byte[],com.drew.metadata.Metadata)"
    - Src: "com.drew.metadata.photoshop.PhotoshopTiffHandler:51,1"
      Dst: "[com.drew.metadata.photoshop.PhotoshopReader].<init>()"
    - Src: "com.drew.metadata.photoshop.PhotoshopTiffHandler:51,1"
      Dst: "[com.drew.lang.SequentialByteArrayReader].<init>(byte[])"
    - Src: "com.drew.metadata.photoshop.PhotoshopTiffHandler:51,1"
      Dst: "[com.drew.metadata.photoshop.PhotoshopReader].extract(com.drew.lang.SequentialReader,int,com.drew.metadata.Metadata)"
    - Src: "com.drew.metadata.photoshop.PhotoshopTiffHandler:54,1"
      Dst: "[com.drew.metadata.icc.IccReader].<init>()"
    - Src: "com.drew.metadata.photoshop.PhotoshopTiffHandler:54,1"
      Dst: "[com.drew.lang.ByteArrayReader].<init>(byte[])"
    - Src: "com.drew.metadata.photoshop.PhotoshopTiffHandler:54,1"
      Dst: "[com.drew.metadata.icc.IccReader].extract(com.drew.lang.RandomAccessReader,com.drew.metadata.Metadata)"
    - Src: "com.drew.metadata.photoshop.PhotoshopTiffHandler:59,1"
      Dst: "[com.drew.metadata.exif.ExifTiffHandler].customProcessTag(int,java.util.Set,int,com.drew.lang.RandomAccessReader,int,int)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.gif.GifAnimationDirectory].getName()"
    functionSourceFile: "com.drew.metadata.gif.GifAnimationDirectory"
    linkageType: ""
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.gif.GifAnimationDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.gif.GifAnimationDirectory"
    linkageType: ""
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.heif.boxes.FullBox].<init>(com.drew.metadata.heif.boxes.FullBox)"
    functionSourceFile: "com.drew.metadata.heif.boxes.FullBox"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.heif.boxes.FullBox"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.heif.boxes.Box].<init>(com.drew.metadata.heif.boxes.Box)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.heif.boxes.FullBox:45,1"
      Dst: "[com.drew.metadata.heif.boxes.Box].<init>(com.drew.metadata.heif.boxes.Box)"
    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: "[com.drew.metadata.mov.media.QuickTimeSoundHandler].createDirectory()"
    functionSourceFile: "com.drew.metadata.mov.media.QuickTimeSoundHandler"
    linkageType: ""
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionDepth: 4
    returnType: "com.drew.metadata.mov.media.QuickTimeSoundDirectory"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mov.media.QuickTimeSoundDirectory].<init>()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.media.QuickTimeSoundHandler:47,1"
      Dst: "[com.drew.metadata.mov.media.QuickTimeSoundDirectory].<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: "[com.drew.metadata.mov.media.QuickTimeSoundDescriptor].<init>(com.drew.metadata.mov.QuickTimeDirectory)"
    functionSourceFile: "com.drew.metadata.mov.media.QuickTimeSoundDescriptor"
    linkageType: ""
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.mov.QuickTimeDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mov.QuickTimeDescriptor].<init>(com.drew.metadata.mov.QuickTimeDirectory)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.media.QuickTimeSoundDescriptor:33,1"
      Dst: "[com.drew.metadata.mov.QuickTimeDescriptor].<init>(com.drew.metadata.mov.QuickTimeDirectory)"
    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: "[com.drew.metadata.mov.media.QuickTimeSoundHandler].getMediaInformation()"
    functionSourceFile: "com.drew.metadata.mov.media.QuickTimeSoundHandler"
    linkageType: ""
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 2
    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: "[com.drew.metadata.mov.media.QuickTimeSoundHandler].processSampleDescription(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
    functionSourceFile: "com.drew.metadata.mov.media.QuickTimeSoundHandler"
    linkageType: ""
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionDepth: 3
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "com.drew.metadata.mov.atoms.Atom"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mov.atoms.SoundSampleDescriptionAtom].<init>(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
    - "[com.drew.metadata.mov.atoms.SoundSampleDescriptionAtom].addMetadata(com.drew.metadata.mov.media.QuickTimeSoundDirectory)"
    functionUses: 1
    ICount: 9
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.media.QuickTimeSoundHandler:59,1"
      Dst: "[com.drew.metadata.mov.atoms.SoundSampleDescriptionAtom].<init>(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
    - Src: "com.drew.metadata.mov.media.QuickTimeSoundHandler:60,1"
      Dst: "[com.drew.metadata.mov.atoms.SoundSampleDescriptionAtom].addMetadata(com.drew.metadata.mov.media.QuickTimeSoundDirectory)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.mov.atoms.SoundSampleDescriptionAtom].<init>(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
    functionSourceFile: "com.drew.metadata.mov.atoms.SoundSampleDescriptionAtom"
    linkageType: ""
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "com.drew.metadata.mov.atoms.Atom"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mov.atoms.SampleDescriptionAtom].<init>(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.atoms.SoundSampleDescriptionAtom:39,1"
      Dst: "[com.drew.metadata.mov.atoms.SampleDescriptionAtom].<init>(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.mov.atoms.SoundSampleDescriptionAtom].addMetadata(com.drew.metadata.mov.media.QuickTimeSoundDirectory)"
    functionSourceFile: "com.drew.metadata.mov.atoms.SoundSampleDescriptionAtom"
    linkageType: ""
    functionLinenumber: 50
    functionLinenumberEnd: 60
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.mov.media.QuickTimeSoundDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].size()"
    - "[java.util.ArrayList].get(int)"
    - "[com.drew.metadata.mov.QuickTimeDictionary].setLookup(int,java.lang.String,com.drew.metadata.Directory)"
    - "[com.drew.metadata.Directory].setInt(int,int)"
    functionUses: 1
    ICount: 15
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "com.drew.metadata.mov.atoms.SoundSampleDescriptionAtom:51"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.atoms.SoundSampleDescriptionAtom:58"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.mov.atoms.SoundSampleDescriptionAtom:51,1"
      Dst: "[java.util.ArrayList].size()"
    - Src: "com.drew.metadata.mov.atoms.SoundSampleDescriptionAtom:53,1"
      Dst: "[java.util.ArrayList].get(int)"
    - Src: "com.drew.metadata.mov.atoms.SoundSampleDescriptionAtom:55,1"
      Dst: "[com.drew.metadata.mov.QuickTimeDictionary].setLookup(int,java.lang.String,com.drew.metadata.Directory)"
    - Src: "com.drew.metadata.mov.atoms.SoundSampleDescriptionAtom:56,1"
      Dst: "[com.drew.metadata.Directory].setInt(int,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: 3
    CyclomaticComplexity: 2
  - functionName: "[com.drew.metadata.mov.media.QuickTimeSoundHandler].processMediaInformation(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
    functionSourceFile: "com.drew.metadata.mov.media.QuickTimeSoundHandler"
    linkageType: ""
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionDepth: 3
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "com.drew.metadata.mov.atoms.Atom"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mov.atoms.SoundInformationMediaHeaderAtom].<init>(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
    - "[com.drew.metadata.mov.atoms.SoundInformationMediaHeaderAtom].addMetadata(com.drew.metadata.mov.media.QuickTimeSoundDirectory)"
    functionUses: 1
    ICount: 9
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.media.QuickTimeSoundHandler:66,1"
      Dst: "[com.drew.metadata.mov.atoms.SoundInformationMediaHeaderAtom].<init>(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
    - Src: "com.drew.metadata.mov.media.QuickTimeSoundHandler:67,1"
      Dst: "[com.drew.metadata.mov.atoms.SoundInformationMediaHeaderAtom].addMetadata(com.drew.metadata.mov.media.QuickTimeSoundDirectory)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.mov.atoms.SoundInformationMediaHeaderAtom].<init>(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
    functionSourceFile: "com.drew.metadata.mov.atoms.SoundInformationMediaHeaderAtom"
    linkageType: ""
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "com.drew.metadata.mov.atoms.Atom"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mov.atoms.FullAtom].<init>(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
    - "[com.drew.lang.SequentialReader].getInt16()"
    - "[com.drew.lang.StreamReader].skip(long)"
    - "[com.drew.lang.SequentialByteArrayReader].skip(long)"
    - "[com.drew.lang.SequentialReader].skip(long)"
    functionUses: 1
    ICount: 9
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.atoms.SoundInformationMediaHeaderAtom:39,1"
      Dst: "[com.drew.metadata.mov.atoms.FullAtom].<init>(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
    - Src: "com.drew.metadata.mov.atoms.SoundInformationMediaHeaderAtom:41,1"
      Dst: "[com.drew.lang.SequentialReader].getInt16()"
    - Src: "com.drew.metadata.mov.atoms.SoundInformationMediaHeaderAtom:42,1"
      Dst: "[com.drew.lang.SequentialReader].skip(long)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.mov.atoms.SoundInformationMediaHeaderAtom].addMetadata(com.drew.metadata.mov.media.QuickTimeSoundDirectory)"
    functionSourceFile: "com.drew.metadata.mov.atoms.SoundInformationMediaHeaderAtom"
    linkageType: ""
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.mov.media.QuickTimeSoundDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Math].pow(double,double)"
    - "[com.drew.metadata.Directory].setDouble(int,double)"
    functionUses: 1
    ICount: 14
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.atoms.SoundInformationMediaHeaderAtom:48,1"
      Dst: "[java.lang.Math].pow(double,double)"
    - Src: "com.drew.metadata.mov.atoms.SoundInformationMediaHeaderAtom:49,1"
      Dst: "[com.drew.metadata.Directory].setDouble(int,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: "[com.drew.metadata.mov.media.QuickTimeSoundHandler].processTimeToSample(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom,com.drew.metadata.mov.QuickTimeContext)"
    functionSourceFile: "com.drew.metadata.mov.media.QuickTimeSoundHandler"
    linkageType: ""
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "com.drew.metadata.mov.atoms.Atom"
    - "com.drew.metadata.mov.QuickTimeContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Long].longValue()"
    - "[com.drew.metadata.Directory].setDouble(int,double)"
    functionUses: 1
    ICount: 13
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.drew.metadata.mov.media.QuickTimeSoundHandler:73"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.media.QuickTimeSoundHandler:76"
        BranchSideFuncs:
        - "setDouble(int,double)"
        - "longValue()"
      - BranchSide: "com.drew.metadata.mov.media.QuickTimeSoundHandler:75"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.mov.media.QuickTimeSoundHandler:74,1"
      Dst: "[java.lang.Long].longValue()"
    - Src: "com.drew.metadata.mov.media.QuickTimeSoundHandler:74,1"
      Dst: "[com.drew.metadata.Directory].setDouble(int,double)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.tools.ExtractJpegSegmentTool].<init>()"
    functionSourceFile: "com.drew.tools.ExtractJpegSegmentTool"
    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: "com.drew.tools.ExtractJpegSegmentTool:49,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: "[com.drew.tools.ExtractJpegSegmentTool].saveSegmentFiles(java.lang.String,com.drew.imaging.jpeg.JpegSegmentData)"
    functionSourceFile: "com.drew.tools.ExtractJpegSegmentTool"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "com.drew.imaging.jpeg.JpegSegmentData"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.imaging.jpeg.JpegSegmentData].getSegmentTypes()"
    - "[java.lang.Iterable].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[com.drew.imaging.jpeg.JpegSegmentData].getSegments(com.drew.imaging.jpeg.JpegSegmentType)"
    - "[com.drew.lang.Iterables].toList(java.lang.Iterable)"
    - "[java.util.List].size()"
    - "[java.lang.Enum].toString()"
    - "[java.lang.String].toLowerCase()"
    - "[java.lang.Integer].valueOf(int)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.io.PrintStream].println(java.lang.String)"
    - "[java.io.File].<init>(java.lang.String)"
    - "[java.util.List].get(int)"
    - "[com.drew.tools.FileUtil].saveBytes(java.io.File,byte[])"
    functionUses: 0
    ICount: 61
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.tools.ExtractJpegSegmentTool:90"
      Branch Sides:
      - BranchSide: "com.drew.tools.ExtractJpegSegmentTool:108"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.ExtractJpegSegmentTool:107"
        BranchSideFuncs: []
    - Branch String: "com.drew.tools.ExtractJpegSegmentTool:92"
      Branch Sides:
      - BranchSide: "com.drew.tools.ExtractJpegSegmentTool:96"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.ExtractJpegSegmentTool:95"
        BranchSideFuncs: []
    - Branch String: "com.drew.tools.ExtractJpegSegmentTool:96"
      Branch Sides:
      - BranchSide: "com.drew.tools.ExtractJpegSegmentTool:103"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.ExtractJpegSegmentTool:102"
        BranchSideFuncs: []
    - Branch String: "com.drew.tools.ExtractJpegSegmentTool:97"
      Branch Sides:
      - BranchSide: "com.drew.tools.ExtractJpegSegmentTool:96"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.tools.ExtractJpegSegmentTool:90,1"
      Dst: "[com.drew.imaging.jpeg.JpegSegmentData].getSegmentTypes()"
    - Src: "com.drew.tools.ExtractJpegSegmentTool:90,1"
      Dst: "[java.lang.Iterable].iterator()"
    - Src: "com.drew.tools.ExtractJpegSegmentTool:90,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.drew.tools.ExtractJpegSegmentTool:90,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.drew.tools.ExtractJpegSegmentTool:91,1"
      Dst: "[com.drew.imaging.jpeg.JpegSegmentData].getSegments(com.drew.imaging.jpeg.JpegSegmentType)"
    - Src: "com.drew.tools.ExtractJpegSegmentTool:91,1"
      Dst: "[com.drew.lang.Iterables].toList(java.lang.Iterable)"
    - Src: "com.drew.tools.ExtractJpegSegmentTool:92,1"
      Dst: "[java.util.List].size()"
    - Src: "com.drew.tools.ExtractJpegSegmentTool:98,1"
      Dst: "[java.lang.Enum].toString()"
    - Src: "com.drew.tools.ExtractJpegSegmentTool:98,1"
      Dst: "[java.lang.String].toLowerCase()"
    - Src: "com.drew.tools.ExtractJpegSegmentTool:98,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.drew.tools.ExtractJpegSegmentTool:98,1"
      Dst: "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - Src: "com.drew.tools.ExtractJpegSegmentTool:99,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.tools.ExtractJpegSegmentTool:99,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.tools.ExtractJpegSegmentTool:99,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "com.drew.tools.ExtractJpegSegmentTool:99,1"
      Dst: "[java.io.PrintStream].println(java.lang.String)"
    - Src: "com.drew.tools.ExtractJpegSegmentTool:100,1"
      Dst: "[java.io.File].<init>(java.lang.String)"
    - Src: "com.drew.tools.ExtractJpegSegmentTool:100,1"
      Dst: "[java.util.List].get(int)"
    - Src: "com.drew.tools.ExtractJpegSegmentTool:100,1"
      Dst: "[com.drew.tools.FileUtil].saveBytes(java.io.File,byte[])"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 12
    CyclomaticComplexity: 5
  - functionName: "[com.drew.tools.ExtractJpegSegmentTool].printUsage()"
    functionSourceFile: "com.drew.tools.ExtractJpegSegmentTool"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.PrintStream].println(java.lang.String)"
    - "[java.io.PrintStream].print(java.lang.String)"
    - "[java.lang.Class].getEnumConstants()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.Enum].toString()"
    - "[java.lang.StringBuilder].toString()"
    - "[java.io.PrintStream].println()"
    functionUses: 0
    ICount: 28
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.tools.ExtractJpegSegmentTool:116"
      Branch Sides:
      - BranchSide: "com.drew.tools.ExtractJpegSegmentTool:121"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.ExtractJpegSegmentTool:120"
        BranchSideFuncs: []
    - Branch String: "com.drew.tools.ExtractJpegSegmentTool:117"
      Branch Sides:
      - BranchSide: "com.drew.tools.ExtractJpegSegmentTool:112"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.ExtractJpegSegmentTool:111"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.tools.ExtractJpegSegmentTool:112,1"
      Dst: "[java.io.PrintStream].println(java.lang.String)"
    - Src: "com.drew.tools.ExtractJpegSegmentTool:115,1"
      Dst: "[java.io.PrintStream].print(java.lang.String)"
    - Src: "com.drew.tools.ExtractJpegSegmentTool:116,1"
      Dst: "[java.lang.Class].getEnumConstants()"
    - Src: "com.drew.tools.ExtractJpegSegmentTool:118,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.tools.ExtractJpegSegmentTool:118,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.tools.ExtractJpegSegmentTool:118,1"
      Dst: "[java.lang.Enum].toString()"
    - Src: "com.drew.tools.ExtractJpegSegmentTool:118,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "com.drew.tools.ExtractJpegSegmentTool:121,1"
      Dst: "[java.io.PrintStream].println()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[com.drew.metadata.pcx.PcxDescriptor].getDescription(int)"
    functionSourceFile: "com.drew.metadata.pcx.PcxDescriptor"
    linkageType: ""
    functionLinenumber: 43
    functionLinenumberEnd: 53
    functionDepth: 3
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.pcx.PcxDescriptor].getVersionDescription()"
    - "[com.drew.metadata.pcx.PcxDescriptor].getColorPlanesDescription()"
    - "[com.drew.metadata.pcx.PcxDescriptor].getPaletteTypeDescription()"
    - "[com.drew.metadata.TagDescriptor].getDescription(int)"
    functionUses: 1
    ICount: 11
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.pcx.PcxDescriptor:46,1"
      Dst: "[com.drew.metadata.pcx.PcxDescriptor].getVersionDescription()"
    - Src: "com.drew.metadata.pcx.PcxDescriptor:48,1"
      Dst: "[com.drew.metadata.pcx.PcxDescriptor].getColorPlanesDescription()"
    - Src: "com.drew.metadata.pcx.PcxDescriptor:50,1"
      Dst: "[com.drew.metadata.pcx.PcxDescriptor].getPaletteTypeDescription()"
    - Src: "com.drew.metadata.pcx.PcxDescriptor:52,1"
      Dst: "[com.drew.metadata.TagDescriptor].getDescription(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: 5
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.pcx.PcxDescriptor].getVersionDescription()"
    functionSourceFile: "com.drew.metadata.pcx.PcxDescriptor"
    linkageType: ""
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 10
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.pcx.PcxDescriptor:62,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.pcx.PcxDescriptor].getColorPlanesDescription()"
    functionSourceFile: "com.drew.metadata.pcx.PcxDescriptor"
    linkageType: ""
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,java.lang.String[])"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.pcx.PcxDescriptor:74,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,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: "[com.drew.metadata.pcx.PcxDescriptor].getPaletteTypeDescription()"
    functionSourceFile: "com.drew.metadata.pcx.PcxDescriptor"
    linkageType: ""
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,java.lang.String[])"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.pcx.PcxDescriptor:82,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,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: "[com.drew.metadata.exif.ExifIFD0Directory].<init>()"
    functionSourceFile: "com.drew.metadata.exif.ExifIFD0Directory"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.ExifDirectoryBase].<init>()"
    - "[com.drew.metadata.exif.ExifIFD0Descriptor].<init>(com.drew.metadata.exif.ExifIFD0Directory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.ExifIFD0Directory:43,1"
      Dst: "[com.drew.metadata.exif.ExifDirectoryBase].<init>()"
    - Src: "com.drew.metadata.exif.ExifIFD0Directory:44,1"
      Dst: "[com.drew.metadata.exif.ExifIFD0Descriptor].<init>(com.drew.metadata.exif.ExifIFD0Directory)"
    - Src: "com.drew.metadata.exif.ExifIFD0Directory:44,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.exif.ExifIFD0Directory].getName()"
    functionSourceFile: "com.drew.metadata.exif.ExifIFD0Directory"
    linkageType: ""
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.exif.ExifIFD0Directory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.exif.ExifIFD0Directory"
    linkageType: ""
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDirectory].<init>()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDirectory"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].<init>()"
    - "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.CasioType2MakernoteDirectory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDirectory:216,1"
      Dst: "[com.drew.metadata.Directory].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDirectory:217,1"
      Dst: "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.CasioType2MakernoteDirectory)"
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDirectory:217,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDirectory].getName()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDirectory"
    linkageType: ""
    functionLinenumber: 223
    functionLinenumberEnd: 225
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDirectory"
    linkageType: ""
    functionLinenumber: 230
    functionLinenumberEnd: 232
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.tools.ProcessAllImagesInFolderUtility$BasicFileHandler].<init>()"
    functionSourceFile: "com.drew.tools.ProcessAllImagesInFolderUtility$BasicFileHandler"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.tools.ProcessAllImagesInFolderUtility$FileHandlerBase].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$BasicFileHandler:749,1"
      Dst: "[com.drew.tools.ProcessAllImagesInFolderUtility$FileHandlerBase].<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: "[com.drew.tools.ProcessAllImagesInFolderUtility$BasicFileHandler].onExtractionSuccess(java.io.File,com.drew.metadata.Metadata,java.lang.String,java.io.PrintStream)"
    functionSourceFile: "com.drew.tools.ProcessAllImagesInFolderUtility$BasicFileHandler"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 4
    argTypes:
    - "java.io.File"
    - "com.drew.metadata.Metadata"
    - "java.lang.String"
    - "java.io.PrintStream"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.tools.ProcessAllImagesInFolderUtility$FileHandlerBase].onExtractionSuccess(java.io.File,com.drew.metadata.Metadata,java.lang.String,java.io.PrintStream)"
    - "[com.drew.metadata.Metadata].getDirectories()"
    - "[java.lang.Iterable].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[com.drew.metadata.Directory].getName()"
    - "[com.drew.metadata.Directory].getTags()"
    - "[java.util.Collection].iterator()"
    - "[com.drew.metadata.Tag].getTagName()"
    - "[com.drew.metadata.Tag].getDescription()"
    functionUses: 0
    ICount: 24
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.tools.ProcessAllImagesInFolderUtility$BasicFileHandler:757"
      Branch Sides:
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$BasicFileHandler:764"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$BasicFileHandler:763"
        BranchSideFuncs: []
    - Branch String: "com.drew.tools.ProcessAllImagesInFolderUtility$BasicFileHandler:759"
      Branch Sides:
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$BasicFileHandler:763"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$BasicFileHandler:762"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$BasicFileHandler:754,1"
      Dst: "[com.drew.tools.ProcessAllImagesInFolderUtility$FileHandlerBase].onExtractionSuccess(java.io.File,com.drew.metadata.Metadata,java.lang.String,java.io.PrintStream)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$BasicFileHandler:757,1"
      Dst: "[com.drew.metadata.Metadata].getDirectories()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$BasicFileHandler:757,1"
      Dst: "[java.lang.Iterable].iterator()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$BasicFileHandler:757,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$BasicFileHandler:757,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$BasicFileHandler:758,1"
      Dst: "[com.drew.metadata.Directory].getName()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$BasicFileHandler:759,1"
      Dst: "[com.drew.metadata.Directory].getTags()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$BasicFileHandler:759,1"
      Dst: "[java.util.Collection].iterator()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$BasicFileHandler:760,1"
      Dst: "[com.drew.metadata.Tag].getTagName()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$BasicFileHandler:761,1"
      Dst: "[com.drew.metadata.Tag].getDescription()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[com.drew.metadata.exif.makernotes.SigmaMakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.SigmaMakernoteDirectory)"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SigmaMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.exif.makernotes.SigmaMakernoteDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SigmaMakernoteDescriptor:40,1"
      Dst: "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    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: "[com.drew.metadata.exif.makernotes.SigmaMakernoteDescriptor].getDescription(int)"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SigmaMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.makernotes.SigmaMakernoteDescriptor].getExposureModeDescription()"
    - "[com.drew.metadata.exif.makernotes.SigmaMakernoteDescriptor].getMeteringModeDescription()"
    - "[com.drew.metadata.TagDescriptor].getDescription(int)"
    functionUses: 1
    ICount: 9
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SigmaMakernoteDescriptor:48,1"
      Dst: "[com.drew.metadata.exif.makernotes.SigmaMakernoteDescriptor].getExposureModeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.SigmaMakernoteDescriptor:50,1"
      Dst: "[com.drew.metadata.exif.makernotes.SigmaMakernoteDescriptor].getMeteringModeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.SigmaMakernoteDescriptor:52,1"
      Dst: "[com.drew.metadata.TagDescriptor].getDescription(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: 1
  - functionName: "[com.drew.metadata.exif.makernotes.SigmaMakernoteDescriptor].getExposureModeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SigmaMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 72
    functionLinenumberEnd: 83
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getString(int)"
    - "[java.lang.String].length()"
    - "[java.lang.String].charAt(int)"
    functionUses: 1
    ICount: 16
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.SigmaMakernoteDescriptor:74"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.SigmaMakernoteDescriptor:75"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.SigmaMakernoteDescriptor:74"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.SigmaMakernoteDescriptor:74"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.SigmaMakernoteDescriptor:76"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.SigmaMakernoteDescriptor:75"
        BranchSideFuncs:
        - "charAt(int)"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SigmaMakernoteDescriptor:73,1"
      Dst: "[com.drew.metadata.Directory].getString(int)"
    - Src: "com.drew.metadata.exif.makernotes.SigmaMakernoteDescriptor:74,1"
      Dst: "[java.lang.String].length()"
    - Src: "com.drew.metadata.exif.makernotes.SigmaMakernoteDescriptor:76,1"
      Dst: "[java.lang.String].charAt(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 9
    CyclomaticComplexity: 2
  - functionName: "[com.drew.metadata.exif.makernotes.SigmaMakernoteDescriptor].getMeteringModeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SigmaMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 57
    functionLinenumberEnd: 67
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getString(int)"
    - "[java.lang.String].length()"
    - "[java.lang.String].charAt(int)"
    functionUses: 1
    ICount: 15
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.SigmaMakernoteDescriptor:59"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.SigmaMakernoteDescriptor:60"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.SigmaMakernoteDescriptor:59"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.SigmaMakernoteDescriptor:59"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.SigmaMakernoteDescriptor:61"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.SigmaMakernoteDescriptor:60"
        BranchSideFuncs:
        - "charAt(int)"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SigmaMakernoteDescriptor:58,1"
      Dst: "[com.drew.metadata.Directory].getString(int)"
    - Src: "com.drew.metadata.exif.makernotes.SigmaMakernoteDescriptor:59,1"
      Dst: "[java.lang.String].length()"
    - Src: "com.drew.metadata.exif.makernotes.SigmaMakernoteDescriptor:61,1"
      Dst: "[java.lang.String].charAt(int)"
    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: 2
  - functionName: "[com.drew.metadata.mov.media.QuickTimeTextDescriptor].<init>(com.drew.metadata.mov.QuickTimeDirectory)"
    functionSourceFile: "com.drew.metadata.mov.media.QuickTimeTextDescriptor"
    linkageType: ""
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.mov.QuickTimeDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mov.QuickTimeDescriptor].<init>(com.drew.metadata.mov.QuickTimeDirectory)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.media.QuickTimeTextDescriptor:33,1"
      Dst: "[com.drew.metadata.mov.QuickTimeDescriptor].<init>(com.drew.metadata.mov.QuickTimeDirectory)"
    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: "[com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.SamsungType2MakernoteDirectory)"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.exif.makernotes.SamsungType2MakernoteDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor:43,1"
      Dst: "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    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: "[com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor].getDescription(int)"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 49
    functionLinenumberEnd: 84
    functionDepth: 3
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor].getMakernoteVersionDescription()"
    - "[com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor].getDeviceTypeDescription()"
    - "[com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor].getSamsungModelIdDescription()"
    - "[com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor].getRawDataByteOrderDescription()"
    - "[com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor].getWhiteBalanceSetupDescription()"
    - "[com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor].getCameraTemperatureDescription()"
    - "[com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor].getRawDataCFAPatternDescription()"
    - "[com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor].getFaceDetectDescription()"
    - "[com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor].getFaceRecognitionDescription()"
    - "[com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor].getLensTypeDescription()"
    - "[com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor].getColorSpaceDescription()"
    - "[com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor].getSmartRangeDescription()"
    - "[com.drew.metadata.TagDescriptor].getDescription(int)"
    functionUses: 1
    ICount: 29
    EdgeCount: 13
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor:52,1"
      Dst: "[com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor].getMakernoteVersionDescription()"
    - Src: "com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor:54,1"
      Dst: "[com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor].getDeviceTypeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor:56,1"
      Dst: "[com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor].getSamsungModelIdDescription()"
    - Src: "com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor:59,1"
      Dst: "[com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor].getRawDataByteOrderDescription()"
    - Src: "com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor:61,1"
      Dst: "[com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor].getWhiteBalanceSetupDescription()"
    - Src: "com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor:64,1"
      Dst: "[com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor].getCameraTemperatureDescription()"
    - Src: "com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor:67,1"
      Dst: "[com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor].getRawDataCFAPatternDescription()"
    - Src: "com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor:70,1"
      Dst: "[com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor].getFaceDetectDescription()"
    - Src: "com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor:72,1"
      Dst: "[com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor].getFaceRecognitionDescription()"
    - Src: "com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor:75,1"
      Dst: "[com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor].getLensTypeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor:78,1"
      Dst: "[com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor].getColorSpaceDescription()"
    - Src: "com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor:80,1"
      Dst: "[com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor].getSmartRangeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor:83,1"
      Dst: "[com.drew.metadata.TagDescriptor].getDescription(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: 14
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor].getMakernoteVersionDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getVersionBytesDescription(int,int)"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor:90,1"
      Dst: "[com.drew.metadata.TagDescriptor].getVersionBytesDescription(int,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: "[com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor].getDeviceTypeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 95
    functionLinenumberEnd: 114
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    functionUses: 1
    ICount: 17
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor:97"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor:100"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor:99"
        BranchSideFuncs:
        - "intValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor:96,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor:100,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor:113,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: 9
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor].getSamsungModelIdDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 119
    functionLinenumberEnd: 208
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    functionUses: 1
    ICount: 50
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor:121"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor:124"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor:123"
        BranchSideFuncs:
        - "intValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor:120,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor:124,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor:207,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: 42
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor].getRawDataByteOrderDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 213
    functionLinenumberEnd: 215
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor:214,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor].getWhiteBalanceSetupDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 220
    functionLinenumberEnd: 222
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor:221,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor].getCameraTemperatureDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 227
    functionLinenumberEnd: 229
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getFormattedInt(int,java.lang.String)"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor:228,1"
      Dst: "[com.drew.metadata.TagDescriptor].getFormattedInt(int,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: "[com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor].getRawDataCFAPatternDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 233
    functionLinenumberEnd: 243
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    functionUses: 1
    ICount: 15
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor:235"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor:238"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor:237"
        BranchSideFuncs:
        - "intValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor:234,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor:238,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor:242,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: 7
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor].getFaceDetectDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 248
    functionLinenumberEnd: 250
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor:249,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor].getFaceRecognitionDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 255
    functionLinenumberEnd: 257
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor:256,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor].getLensTypeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 262
    functionLinenumberEnd: 264
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 27
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor:263,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor].getColorSpaceDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 290
    functionLinenumberEnd: 292
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor:291,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor].getSmartRangeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 297
    functionLinenumberEnd: 299
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor:298,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDirectory].<init>()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDirectory"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].<init>()"
    - "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.PanasonicMakernoteDirectory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDirectory:615,1"
      Dst: "[com.drew.metadata.Directory].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDirectory:616,1"
      Dst: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.PanasonicMakernoteDirectory)"
    - Src: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDirectory:616,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDirectory].getName()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDirectory"
    linkageType: ""
    functionLinenumber: 622
    functionLinenumberEnd: 624
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.exif.makernotes.PanasonicMakernoteDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.PanasonicMakernoteDirectory"
    linkageType: ""
    functionLinenumber: 629
    functionLinenumberEnd: 631
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.NikonPictureControl2Descriptor].getDescription(int)"
    functionSourceFile: "com.drew.metadata.exif.makernotes.NikonPictureControl2Descriptor"
    linkageType: ""
    functionLinenumber: 18
    functionLinenumberEnd: 28
    functionDepth: 3
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.makernotes.NikonPictureControl2Descriptor].getPictureControlAdjustDescription()"
    - "[com.drew.metadata.exif.makernotes.NikonPictureControl2Descriptor].getFilterEffectDescription()"
    - "[com.drew.metadata.exif.makernotes.NikonPictureControl2Descriptor].getToningEffectDescription()"
    - "[com.drew.metadata.TagDescriptor].getDescription(int)"
    functionUses: 1
    ICount: 11
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.NikonPictureControl2Descriptor:21,1"
      Dst: "[com.drew.metadata.exif.makernotes.NikonPictureControl2Descriptor].getPictureControlAdjustDescription()"
    - Src: "com.drew.metadata.exif.makernotes.NikonPictureControl2Descriptor:23,1"
      Dst: "[com.drew.metadata.exif.makernotes.NikonPictureControl2Descriptor].getFilterEffectDescription()"
    - Src: "com.drew.metadata.exif.makernotes.NikonPictureControl2Descriptor:25,1"
      Dst: "[com.drew.metadata.exif.makernotes.NikonPictureControl2Descriptor].getToningEffectDescription()"
    - Src: "com.drew.metadata.exif.makernotes.NikonPictureControl2Descriptor:27,1"
      Dst: "[com.drew.metadata.TagDescriptor].getDescription(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: 5
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.NikonPictureControl2Descriptor].getPictureControlAdjustDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.NikonPictureControl2Descriptor"
    linkageType: ""
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.NikonPictureControl2Descriptor:33,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.NikonPictureControl2Descriptor].getFilterEffectDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.NikonPictureControl2Descriptor"
    linkageType: ""
    functionLinenumber: 42
    functionLinenumberEnd: 63
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getByteArray(int)"
    - "[com.drew.metadata.TagDescriptor].getDescription(int)"
    functionUses: 1
    ICount: 17
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.NikonPictureControl2Descriptor:44"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.NikonPictureControl2Descriptor:48"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.NikonPictureControl2Descriptor:47"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.NikonPictureControl2Descriptor:43,1"
      Dst: "[com.drew.metadata.Directory].getByteArray(int)"
    - Src: "com.drew.metadata.exif.makernotes.NikonPictureControl2Descriptor:62,1"
      Dst: "[com.drew.metadata.TagDescriptor].getDescription(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: 10
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.NikonPictureControl2Descriptor].getToningEffectDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.NikonPictureControl2Descriptor"
    linkageType: ""
    functionLinenumber: 67
    functionLinenumberEnd: 98
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getByteArray(int)"
    - "[com.drew.metadata.TagDescriptor].getDescription(int)"
    functionUses: 1
    ICount: 22
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.NikonPictureControl2Descriptor:69"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.NikonPictureControl2Descriptor:73"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.NikonPictureControl2Descriptor:72"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.NikonPictureControl2Descriptor:68,1"
      Dst: "[com.drew.metadata.Directory].getByteArray(int)"
    - Src: "com.drew.metadata.exif.makernotes.NikonPictureControl2Descriptor:97,1"
      Dst: "[com.drew.metadata.TagDescriptor].getDescription(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: 15
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.eps.EpsDirectory].getName()"
    functionSourceFile: "com.drew.metadata.eps.EpsDirectory"
    linkageType: ""
    functionLinenumber: 154
    functionLinenumberEnd: 156
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.eps.EpsDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.eps.EpsDirectory"
    linkageType: ""
    functionLinenumber: 161
    functionLinenumberEnd: 163
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.SigmaMakernoteDirectory].<init>()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SigmaMakernoteDirectory"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].<init>()"
    - "[com.drew.metadata.exif.makernotes.SigmaMakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.SigmaMakernoteDirectory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SigmaMakernoteDirectory:93,1"
      Dst: "[com.drew.metadata.Directory].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.SigmaMakernoteDirectory:94,1"
      Dst: "[com.drew.metadata.exif.makernotes.SigmaMakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.SigmaMakernoteDirectory)"
    - Src: "com.drew.metadata.exif.makernotes.SigmaMakernoteDirectory:94,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.exif.makernotes.SigmaMakernoteDirectory].getName()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SigmaMakernoteDirectory"
    linkageType: ""
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.exif.makernotes.SigmaMakernoteDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SigmaMakernoteDirectory"
    linkageType: ""
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.FujifilmMakernoteDirectory)"
    functionSourceFile: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.exif.makernotes.FujifilmMakernoteDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:56,1"
      Dst: "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    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: "[com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor].getDescription(int)"
    functionSourceFile: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 62
    functionLinenumberEnd: 114
    functionDepth: 4
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor].getMakernoteVersionDescription()"
    - "[com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor].getSharpnessDescription()"
    - "[com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor].getWhiteBalanceDescription()"
    - "[com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor].getColorSaturationDescription()"
    - "[com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor].getToneDescription()"
    - "[com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor].getContrastDescription()"
    - "[com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor].getNoiseReductionDescription()"
    - "[com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor].getHighIsoNoiseReductionDescription()"
    - "[com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor].getFlashModeDescription()"
    - "[com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor].getFlashExposureValueDescription()"
    - "[com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor].getMacroDescription()"
    - "[com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor].getFocusModeDescription()"
    - "[com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor].getSlowSyncDescription()"
    - "[com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor].getPictureModeDescription()"
    - "[com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor].getExrAutoDescription()"
    - "[com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor].getExrModeDescription()"
    - "[com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor].getAutoBracketingDescription()"
    - "[com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor].getFinePixColorDescription()"
    - "[com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor].getBlurWarningDescription()"
    - "[com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor].getFocusWarningDescription()"
    - "[com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor].getAutoExposureWarningDescription()"
    - "[com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor].getDynamicRangeDescription()"
    - "[com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor].getFilmModeDescription()"
    - "[com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor].getDynamicRangeSettingDescription()"
    - "[com.drew.metadata.TagDescriptor].getDescription(int)"
    functionUses: 1
    ICount: 53
    EdgeCount: 25
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:65,1"
      Dst: "[com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor].getMakernoteVersionDescription()"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:67,1"
      Dst: "[com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor].getSharpnessDescription()"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:69,1"
      Dst: "[com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor].getWhiteBalanceDescription()"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:71,1"
      Dst: "[com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor].getColorSaturationDescription()"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:73,1"
      Dst: "[com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor].getToneDescription()"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:75,1"
      Dst: "[com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor].getContrastDescription()"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:77,1"
      Dst: "[com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor].getNoiseReductionDescription()"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:79,1"
      Dst: "[com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor].getHighIsoNoiseReductionDescription()"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:81,1"
      Dst: "[com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor].getFlashModeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:83,1"
      Dst: "[com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor].getFlashExposureValueDescription()"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:85,1"
      Dst: "[com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor].getMacroDescription()"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:87,1"
      Dst: "[com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor].getFocusModeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:89,1"
      Dst: "[com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor].getSlowSyncDescription()"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:91,1"
      Dst: "[com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor].getPictureModeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:93,1"
      Dst: "[com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor].getExrAutoDescription()"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:95,1"
      Dst: "[com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor].getExrModeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:97,1"
      Dst: "[com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor].getAutoBracketingDescription()"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:99,1"
      Dst: "[com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor].getFinePixColorDescription()"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:101,1"
      Dst: "[com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor].getBlurWarningDescription()"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:103,1"
      Dst: "[com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor].getFocusWarningDescription()"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:105,1"
      Dst: "[com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor].getAutoExposureWarningDescription()"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:107,1"
      Dst: "[com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor].getDynamicRangeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:109,1"
      Dst: "[com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor].getFilmModeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:111,1"
      Dst: "[com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor].getDynamicRangeSettingDescription()"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:113,1"
      Dst: "[com.drew.metadata.TagDescriptor].getDescription(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: 26
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor].getMakernoteVersionDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 119
    functionLinenumberEnd: 121
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getVersionBytesDescription(int,int)"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:120,1"
      Dst: "[com.drew.metadata.TagDescriptor].getVersionBytesDescription(int,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: "[com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor].getSharpnessDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 125
    functionLinenumberEnd: 141
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 24
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:127"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:129"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:128"
        BranchSideFuncs:
        - "intValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:126,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:129,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:140,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:140,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:140,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:140,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: 13
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor].getWhiteBalanceDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 146
    functionLinenumberEnd: 169
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 31
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:148"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:150"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:149"
        BranchSideFuncs:
        - "intValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:147,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:150,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:168,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:168,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:168,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:168,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: 20
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor].getColorSaturationDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 174
    functionLinenumberEnd: 192
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 26
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:176"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:178"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:177"
        BranchSideFuncs:
        - "intValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:175,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:178,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:191,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:191,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:191,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:191,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: 15
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor].getToneDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 197
    functionLinenumberEnd: 211
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 22
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:199"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:201"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:200"
        BranchSideFuncs:
        - "intValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:198,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:201,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:210,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:210,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:210,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:210,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: 11
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor].getContrastDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 216
    functionLinenumberEnd: 226
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 18
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:218"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:220"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:219"
        BranchSideFuncs:
        - "intValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:217,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:220,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:225,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:225,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:225,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:225,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: 7
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor].getNoiseReductionDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 231
    functionLinenumberEnd: 241
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 18
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:233"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:235"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:234"
        BranchSideFuncs:
        - "intValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:232,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:235,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:240,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:240,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:240,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:240,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: 7
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor].getHighIsoNoiseReductionDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 246
    functionLinenumberEnd: 256
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 18
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:248"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:250"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:249"
        BranchSideFuncs:
        - "intValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:247,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:250,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:255,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:255,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:255,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:255,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: 7
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor].getFlashModeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 261
    functionLinenumberEnd: 263
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 9
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:262,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor].getFlashExposureValueDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 274
    functionLinenumberEnd: 277
    functionDepth: 3
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getRational(int)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[com.drew.lang.Rational].toSimpleString(boolean)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 14
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:276"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:274"
        BranchSideFuncs:
        - "<init>()"
        - "toSimpleString(boolean)"
        - "append(java.lang.String)"
        - "toString()"
        - "getRational(int)"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:275,1"
      Dst: "[com.drew.metadata.Directory].getRational(int)"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:276,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:276,1"
      Dst: "[com.drew.lang.Rational].toSimpleString(boolean)"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:276,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:276,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: 4
    CyclomaticComplexity: 2
  - functionName: "[com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor].getMacroDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 281
    functionLinenumberEnd: 283
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:282,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor].getFocusModeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 287
    functionLinenumberEnd: 289
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:288,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor].getSlowSyncDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 293
    functionLinenumberEnd: 295
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:294,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor].getPictureModeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 299
    functionLinenumberEnd: 338
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 45
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:301"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:303"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:302"
        BranchSideFuncs:
        - "intValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:300,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:303,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:337,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:337,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:337,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:337,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: 34
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor].getExrAutoDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 343
    functionLinenumberEnd: 345
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:344,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor].getExrModeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 349
    functionLinenumberEnd: 359
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 18
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:351"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:353"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:352"
        BranchSideFuncs:
        - "intValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:350,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:353,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:358,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:358,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:358,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:358,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: 7
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor].getAutoBracketingDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 364
    functionLinenumberEnd: 366
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:365,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor].getFinePixColorDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 375
    functionLinenumberEnd: 385
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 18
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:377"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:379"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:378"
        BranchSideFuncs:
        - "intValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:376,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:379,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:384,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:384,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:384,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:384,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: 7
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor].getBlurWarningDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 390
    functionLinenumberEnd: 392
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:391,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor].getFocusWarningDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 400
    functionLinenumberEnd: 402
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:401,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor].getAutoExposureWarningDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 410
    functionLinenumberEnd: 412
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:411,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor].getDynamicRangeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 420
    functionLinenumberEnd: 422
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,java.lang.String[])"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:421,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,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: "[com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor].getFilmModeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 432
    functionLinenumberEnd: 454
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 30
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:434"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:436"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:435"
        BranchSideFuncs:
        - "intValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:433,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:436,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:453,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:453,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:453,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:453,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: 19
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor].getDynamicRangeSettingDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 459
    functionLinenumberEnd: 472
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 21
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:461"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:463"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:462"
        BranchSideFuncs:
        - "intValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:460,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:463,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:471,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:471,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:471,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor:471,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: 10
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.jpeg.JpegReader].<init>()"
    functionSourceFile: "com.drew.metadata.jpeg.JpegReader"
    linkageType: ""
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.jpeg.JpegReader: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: "[com.drew.metadata.jpeg.JpegReader].getSegmentTypes()"
    functionSourceFile: "com.drew.metadata.jpeg.JpegReader"
    linkageType: ""
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionDepth: 0
    returnType: "java.lang.Iterable"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Arrays].asList(java.lang.Object[])"
    functionUses: 2
    ICount: 30
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.jpeg.JpegReader:45,1"
      Dst: "[java.util.Arrays].asList(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: "[com.drew.metadata.jpeg.JpegReader].readJpegSegments(java.lang.Iterable<byte[]>,com.drew.metadata.Metadata,com.drew.imaging.jpeg.JpegSegmentType)"
    functionSourceFile: "com.drew.metadata.jpeg.JpegReader"
    linkageType: ""
    functionLinenumber: 66
    functionLinenumberEnd: 71
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.Iterable<byte[]>"
    - "com.drew.metadata.Metadata"
    - "com.drew.imaging.jpeg.JpegSegmentType"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.adobe.internal.xmp.impl.XMPNode$1].hasNext()"
    - "[jdk.internal.module.ModuleBootstrap$2].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIterator].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIteratorChildren].hasNext()"
    - "[java.nio.file.FileTreeIterator].hasNext()"
    - "[java.util.ArrayList].iterator()"
    - "[jdk.internal.module.ModuleBootstrap$2].next()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIterator].next()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl].next()"
    - "[com.adobe.internal.xmp.impl.XMPNode$1].next()"
    - "[java.io.BufferedReader$1:java.nio.file.FileTreeIterator:java.nio.file.Files$2].next()"
    - "[com.drew.metadata.jpeg.JpegReader].extract(byte[],com.drew.metadata.Metadata,com.drew.imaging.jpeg.JpegSegmentType)"
    - "[java.lang.Iterable].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    functionUses: 1
    ICount: 12
    EdgeCount: 13
    BranchProfiles:
    - Branch String: "com.drew.metadata.jpeg.JpegReader:67"
      Branch Sides:
      - BranchSide: "com.drew.metadata.jpeg.JpegReader:70"
        BranchSideFuncs:
        - "hasNext()"
        - "iterator()"
        - "next()"
        - "extract(byte[],com.drew.metadata.Metadata,com.drew.imaging.jpeg.JpegSegmentType)"
      - BranchSide: "com.drew.metadata.jpeg.JpegReader:69"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.jpeg.JpegReader:67,1"
      Dst: "[java.lang.Iterable].iterator()"
    - Src: "com.drew.metadata.jpeg.JpegReader:67,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.drew.metadata.jpeg.JpegReader:67,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.drew.metadata.jpeg.JpegReader:68,1"
      Dst: "[com.drew.metadata.jpeg.JpegReader].extract(byte[],com.drew.metadata.Metadata,com.drew.imaging.jpeg.JpegSegmentType)"
    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: "[com.drew.metadata.jpeg.JpegReader].extract(byte[],com.drew.metadata.Metadata,com.drew.imaging.jpeg.JpegSegmentType)"
    functionSourceFile: "com.drew.metadata.jpeg.JpegReader"
    linkageType: ""
    functionLinenumber: 73
    functionLinenumberEnd: 118
    functionDepth: 3
    returnType: "void"
    argCount: 3
    argTypes:
    - "byte[]"
    - "com.drew.metadata.Metadata"
    - "com.drew.imaging.jpeg.JpegSegmentType"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.jpeg.JpegDirectory].<init>()"
    - "[com.drew.metadata.Metadata].addDirectory(com.drew.metadata.Directory)"
    - "[com.drew.metadata.Directory].setInt(int,int)"
    - "[com.drew.metadata.Directory].addError(java.lang.String)"
    - "[com.drew.lang.SequentialByteArrayReader].<init>(byte[])"
    - "[com.drew.lang.SequentialReader].getUInt8()"
    - "[com.drew.lang.SequentialReader].getUInt16()"
    - "[com.drew.lang.SequentialByteArrayReader].available()"
    - "[com.drew.metadata.jpeg.JpegComponent].<init>(int,int,int)"
    - "[com.drew.metadata.Directory].setObject(int,java.lang.Object)"
    - "[java.io.InvalidClassException:java.lang.Throwable:java.nio.file.FileSystemException].getMessage()"
    - "[com.drew.lang.SequentialReader].available()"
    - "[java.lang.Throwable].getMessage()"
    functionUses: 1
    ICount: 58
    EdgeCount: 22
    BranchProfiles:
    - Branch String: "com.drew.metadata.jpeg.JpegReader:82"
      Branch Sides:
      - BranchSide: "com.drew.metadata.jpeg.JpegReader:87"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.jpeg.JpegReader:86"
        BranchSideFuncs:
        - "available()"
        - "<init>(byte[])"
        - "setInt(int,int)"
        - "getUInt16()"
    - Branch String: "com.drew.metadata.jpeg.JpegReader:98"
      Branch Sides:
      - BranchSide: "com.drew.metadata.jpeg.JpegReader:107"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.jpeg.JpegReader:106"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.jpeg.JpegReader:107"
      Branch Sides:
      - BranchSide: "com.drew.metadata.jpeg.JpegReader:116"
        BranchSideFuncs:
        - "available()"
        - "getUInt8()"
        - "setObject(int,java.lang.Object)"
        - "addError(java.lang.String)"
        - "<init>(byte[])"
        - "getMessage()"
        - "setInt(int,int)"
        - "<init>(int,int,int)"
        - "getUInt16()"
      - BranchSide: "com.drew.metadata.jpeg.JpegReader:115"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.jpeg.JpegReader:74,1"
      Dst: "[com.drew.metadata.jpeg.JpegDirectory].<init>()"
    - Src: "com.drew.metadata.jpeg.JpegReader:75,1"
      Dst: "[com.drew.metadata.Metadata].addDirectory(com.drew.metadata.Directory)"
    - Src: "com.drew.metadata.jpeg.JpegReader:78,1"
      Dst: "[com.drew.metadata.Directory].setInt(int,int)"
    - Src: "com.drew.metadata.jpeg.JpegReader:83,1"
      Dst: "[com.drew.metadata.Directory].addError(java.lang.String)"
    - Src: "com.drew.metadata.jpeg.JpegReader:87,1"
      Dst: "[com.drew.lang.SequentialByteArrayReader].<init>(byte[])"
    - Src: "com.drew.metadata.jpeg.JpegReader:90,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt8()"
    - Src: "com.drew.metadata.jpeg.JpegReader:91,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt16()"
    - Src: "com.drew.metadata.jpeg.JpegReader:98,1"
      Dst: "[com.drew.lang.SequentialReader].available()"
    - Src: "com.drew.metadata.jpeg.JpegReader:111,1"
      Dst: "[com.drew.metadata.jpeg.JpegComponent].<init>(int,int,int)"
    - Src: "com.drew.metadata.jpeg.JpegReader:112,1"
      Dst: "[com.drew.metadata.Directory].setObject(int,java.lang.Object)"
    - Src: "com.drew.metadata.jpeg.JpegReader:115,1"
      Dst: "[java.lang.Throwable].getMessage()"
    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: 2
  - functionName: "[com.drew.metadata.jpeg.JpegDescriptor].<init>(com.drew.metadata.jpeg.JpegDirectory)"
    functionSourceFile: "com.drew.metadata.jpeg.JpegDescriptor"
    linkageType: ""
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.jpeg.JpegDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.jpeg.JpegDescriptor:40,1"
      Dst: "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    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: "[com.drew.metadata.jpeg.JpegComponent].<init>(int,int,int)"
    functionSourceFile: "com.drew.metadata.jpeg.JpegComponent"
    linkageType: ""
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "int"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 9
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.jpeg.JpegComponent:42,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: "[com.drew.metadata.bmp.BmpHeaderDirectory$Compression].values()"
    functionSourceFile: "com.drew.metadata.bmp.BmpHeaderDirectory$Compression"
    linkageType: ""
    functionLinenumber: 202
    functionLinenumberEnd: 204
    functionDepth: 0
    returnType: "com.drew.metadata.bmp.BmpHeaderDirectory$Compression[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.jar.Attributes].clone()"
    - "[java.util.HashMap].clone()"
    - "[java.util.Hashtable].clone()"
    - "[java.security.Signature].clone()"
    - "[java.text.DecimalFormatSymbols].clone()"
    - "[java.text.DateFormatSymbols].clone()"
    - "[java.lang.invoke.MemberName].clone()"
    - "[java.security.MessageDigestSpi].clone()"
    - "[java.text.Format].clone()"
    - "[java.util.HashSet].clone()"
    - "[java.text.Collator].clone()"
    - "[java.security.SignatureSpi].clone()"
    - "[java.text.BreakIterator].clone()"
    - "[java.util.ArrayDeque].clone()"
    - "[java.util.Properties].clone()"
    - "[java.util.Hashtable$Entry].clone()"
    - "[java.util.concurrent.CopyOnWriteArrayList].clone()"
    - "[com.adobe.internal.xmp.impl.XMPNode].clone()"
    - "[java.util.IdentityHashMap].clone()"
    - "[java.util.SimpleTimeZone].clone()"
    - "[sun.util.calendar.CalendarDate].clone()"
    - "[java.util.LinkedList].clone()"
    - "[java.text.DigitList].clone()"
    - "[com.adobe.internal.xmp.options.SerializeOptions].clone()"
    - "[com.adobe.internal.xmp.impl.XMPMetaImpl].clone()"
    - "[java.util.Calendar].clone()"
    - "[java.util.zip.ZipEntry].clone()"
    - "[java.util.TreeMap].clone()"
    - "[java.lang.Enum].clone()"
    - "[java.util.Vector].clone()"
    - "[java.text.DateFormat].clone()"
    - "[java.util.Locale].clone()"
    - "[java.lang.Thread].clone()"
    - "[java.text.SimpleDateFormat].clone()"
    - "[java.lang.Object].clone()"
    - "[java.util.AbstractMap].clone()"
    - "[java.net.HttpCookie].clone()"
    - "[java.util.jar.Manifest].clone()"
    - "[java.util.TreeSet].clone()"
    - "[java.util.GregorianCalendar].clone()"
    - "[java.text.DecimalFormat].clone()"
    - "[java.lang.ref.Reference].clone()"
    - "[java.security.MessageDigest].clone()"
    - "[java.util.ArrayList].clone()"
    - "[java.util.Date].clone()"
    - "[java.util.TimeZone].clone()"
    - "[java.util.EnumSet].clone()"
    - "[java.text.NumberFormat].clone()"
    - "[java.text.MessageFormat].clone()"
    functionUses: 1
    ICount: 4
    EdgeCount: 49
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.bmp.BmpHeaderDirectory$Compression:203,1"
      Dst: "[java.lang.Object].clone()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.bmp.BmpHeaderDirectory$Compression].valueOf(java.lang.String)"
    functionSourceFile: "com.drew.metadata.bmp.BmpHeaderDirectory$Compression"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.drew.metadata.bmp.BmpHeaderDirectory$Compression"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].valueOf(java.lang.Class,java.lang.String)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.bmp.BmpHeaderDirectory$Compression:203,1"
      Dst: "[java.lang.Enum].valueOf(java.lang.Class,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: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.bmp.BmpHeaderDirectory$Compression].<init>(java.lang.String,int,int)"
    functionSourceFile: "com.drew.metadata.bmp.BmpHeaderDirectory$Compression"
    linkageType: ""
    functionLinenumber: 242
    functionLinenumberEnd: 246
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].<init>(java.lang.String,int)"
    functionUses: 12
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.bmp.BmpHeaderDirectory$Compression:243,1"
      Dst: "[java.lang.Enum].<init>(java.lang.String,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.bmp.BmpHeaderDirectory$Compression].getValue()"
    functionSourceFile: "com.drew.metadata.bmp.BmpHeaderDirectory$Compression"
    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: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.bmp.BmpHeaderDirectory$Compression].$values()"
    functionSourceFile: "com.drew.metadata.bmp.BmpHeaderDirectory$Compression"
    linkageType: ""
    functionLinenumber: 202
    functionLinenumberEnd: 204
    functionDepth: 0
    returnType: "com.drew.metadata.bmp.BmpHeaderDirectory$Compression[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 26
    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: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.gif.GifCommentDirectory].getName()"
    functionSourceFile: "com.drew.metadata.gif.GifCommentDirectory"
    linkageType: ""
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.gif.GifCommentDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.gif.GifCommentDirectory"
    linkageType: ""
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.mp4.Mp4Directory].<init>()"
    functionSourceFile: "com.drew.metadata.mp4.Mp4Directory"
    linkageType: ""
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].<init>()"
    - "[com.drew.metadata.mp4.Mp4Descriptor].<init>(com.drew.metadata.mp4.Mp4Directory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 2
    ICount: 6
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mp4.Mp4Directory:86,1"
      Dst: "[com.drew.metadata.Directory].<init>()"
    - Src: "com.drew.metadata.mp4.Mp4Directory:87,1"
      Dst: "[com.drew.metadata.mp4.Mp4Descriptor].<init>(com.drew.metadata.mp4.Mp4Directory)"
    - Src: "com.drew.metadata.mp4.Mp4Directory:87,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.mp4.Mp4Directory].getName()"
    functionSourceFile: "com.drew.metadata.mp4.Mp4Directory"
    linkageType: ""
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.mp4.Mp4Directory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.mp4.Mp4Directory"
    linkageType: ""
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.GpsDescriptor].<init>(com.drew.metadata.exif.GpsDirectory)"
    functionSourceFile: "com.drew.metadata.exif.GpsDescriptor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.exif.GpsDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.GpsDescriptor:43,1"
      Dst: "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    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: "[com.drew.metadata.exif.GpsDescriptor].getDescription(int)"
    functionSourceFile: "com.drew.metadata.exif.GpsDescriptor"
    linkageType: ""
    functionLinenumber: 49
    functionLinenumberEnd: 101
    functionDepth: 4
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.GpsDescriptor].getGpsVersionIdDescription()"
    - "[com.drew.metadata.exif.GpsDescriptor].getGpsAltitudeDescription()"
    - "[com.drew.metadata.exif.GpsDescriptor].getGpsAltitudeRefDescription()"
    - "[com.drew.metadata.exif.GpsDescriptor].getGpsStatusDescription()"
    - "[com.drew.metadata.exif.GpsDescriptor].getGpsMeasureModeDescription()"
    - "[com.drew.metadata.exif.GpsDescriptor].getGpsDopDescription()"
    - "[com.drew.metadata.exif.GpsDescriptor].getGpsSpeedRefDescription()"
    - "[com.drew.metadata.exif.GpsDescriptor].getGpsSpeedDescription()"
    - "[com.drew.metadata.exif.GpsDescriptor].getGpsDirectionReferenceDescription(int)"
    - "[com.drew.metadata.exif.GpsDescriptor].getGpsDirectionDescription(int)"
    - "[com.drew.metadata.exif.GpsDescriptor].getGpsDestLatitudeDescription()"
    - "[com.drew.metadata.exif.GpsDescriptor].getGpsDestLongitudeDescription()"
    - "[com.drew.metadata.exif.GpsDescriptor].getGpsDestinationReferenceDescription()"
    - "[com.drew.metadata.exif.GpsDescriptor].getGpsDestDistanceDescription()"
    - "[com.drew.metadata.exif.GpsDescriptor].getGpsTimeStampDescription()"
    - "[com.drew.metadata.exif.GpsDescriptor].getGpsLongitudeDescription()"
    - "[com.drew.metadata.exif.GpsDescriptor].getGpsLatitudeDescription()"
    - "[com.drew.metadata.exif.GpsDescriptor].getGpsProcessingMethodDescription()"
    - "[com.drew.metadata.exif.GpsDescriptor].getGpsAreaInformationDescription()"
    - "[com.drew.metadata.exif.GpsDescriptor].getGpsDifferentialDescription()"
    - "[com.drew.metadata.exif.GpsDescriptor].getGpsHPositioningErrorDescription()"
    - "[com.drew.metadata.TagDescriptor].getDescription(int)"
    functionUses: 1
    ICount: 47
    EdgeCount: 22
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.GpsDescriptor:52,1"
      Dst: "[com.drew.metadata.exif.GpsDescriptor].getGpsVersionIdDescription()"
    - Src: "com.drew.metadata.exif.GpsDescriptor:54,1"
      Dst: "[com.drew.metadata.exif.GpsDescriptor].getGpsAltitudeDescription()"
    - Src: "com.drew.metadata.exif.GpsDescriptor:56,1"
      Dst: "[com.drew.metadata.exif.GpsDescriptor].getGpsAltitudeRefDescription()"
    - Src: "com.drew.metadata.exif.GpsDescriptor:58,1"
      Dst: "[com.drew.metadata.exif.GpsDescriptor].getGpsStatusDescription()"
    - Src: "com.drew.metadata.exif.GpsDescriptor:60,1"
      Dst: "[com.drew.metadata.exif.GpsDescriptor].getGpsMeasureModeDescription()"
    - Src: "com.drew.metadata.exif.GpsDescriptor:62,1"
      Dst: "[com.drew.metadata.exif.GpsDescriptor].getGpsDopDescription()"
    - Src: "com.drew.metadata.exif.GpsDescriptor:64,1"
      Dst: "[com.drew.metadata.exif.GpsDescriptor].getGpsSpeedRefDescription()"
    - Src: "com.drew.metadata.exif.GpsDescriptor:66,1"
      Dst: "[com.drew.metadata.exif.GpsDescriptor].getGpsSpeedDescription()"
    - Src: "com.drew.metadata.exif.GpsDescriptor:70,1"
      Dst: "[com.drew.metadata.exif.GpsDescriptor].getGpsDirectionReferenceDescription(int)"
    - Src: "com.drew.metadata.exif.GpsDescriptor:74,1"
      Dst: "[com.drew.metadata.exif.GpsDescriptor].getGpsDirectionDescription(int)"
    - Src: "com.drew.metadata.exif.GpsDescriptor:76,1"
      Dst: "[com.drew.metadata.exif.GpsDescriptor].getGpsDestLatitudeDescription()"
    - Src: "com.drew.metadata.exif.GpsDescriptor:78,1"
      Dst: "[com.drew.metadata.exif.GpsDescriptor].getGpsDestLongitudeDescription()"
    - Src: "com.drew.metadata.exif.GpsDescriptor:80,1"
      Dst: "[com.drew.metadata.exif.GpsDescriptor].getGpsDestinationReferenceDescription()"
    - Src: "com.drew.metadata.exif.GpsDescriptor:82,1"
      Dst: "[com.drew.metadata.exif.GpsDescriptor].getGpsDestDistanceDescription()"
    - Src: "com.drew.metadata.exif.GpsDescriptor:84,1"
      Dst: "[com.drew.metadata.exif.GpsDescriptor].getGpsTimeStampDescription()"
    - Src: "com.drew.metadata.exif.GpsDescriptor:87,1"
      Dst: "[com.drew.metadata.exif.GpsDescriptor].getGpsLongitudeDescription()"
    - Src: "com.drew.metadata.exif.GpsDescriptor:90,1"
      Dst: "[com.drew.metadata.exif.GpsDescriptor].getGpsLatitudeDescription()"
    - Src: "com.drew.metadata.exif.GpsDescriptor:92,1"
      Dst: "[com.drew.metadata.exif.GpsDescriptor].getGpsProcessingMethodDescription()"
    - Src: "com.drew.metadata.exif.GpsDescriptor:94,1"
      Dst: "[com.drew.metadata.exif.GpsDescriptor].getGpsAreaInformationDescription()"
    - Src: "com.drew.metadata.exif.GpsDescriptor:96,1"
      Dst: "[com.drew.metadata.exif.GpsDescriptor].getGpsDifferentialDescription()"
    - Src: "com.drew.metadata.exif.GpsDescriptor:98,1"
      Dst: "[com.drew.metadata.exif.GpsDescriptor].getGpsHPositioningErrorDescription()"
    - Src: "com.drew.metadata.exif.GpsDescriptor:100,1"
      Dst: "[com.drew.metadata.TagDescriptor].getDescription(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: 23
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.GpsDescriptor].getGpsVersionIdDescription()"
    functionSourceFile: "com.drew.metadata.exif.GpsDescriptor"
    linkageType: ""
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getVersionBytesDescription(int,int)"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.GpsDescriptor:107,1"
      Dst: "[com.drew.metadata.TagDescriptor].getVersionBytesDescription(int,int)"
    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: "[com.drew.metadata.exif.GpsDescriptor].getGpsAltitudeDescription()"
    functionSourceFile: "com.drew.metadata.exif.GpsDescriptor"
    linkageType: ""
    functionLinenumber: 299
    functionLinenumberEnd: 302
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getRational(int)"
    - "[java.text.DecimalFormat].<init>(java.lang.String)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[com.drew.lang.Rational].doubleValue()"
    - "[java.text.NumberFormat].format(double)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 17
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.GpsDescriptor:301"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.GpsDescriptor:299"
        BranchSideFuncs:
        - "format(double)"
        - "<init>()"
        - "doubleValue()"
        - "append(java.lang.String)"
        - "toString()"
        - "<init>(java.lang.String)"
        - "getRational(int)"
    Callsites:
    - Src: "com.drew.metadata.exif.GpsDescriptor:300,1"
      Dst: "[com.drew.metadata.Directory].getRational(int)"
    - Src: "com.drew.metadata.exif.GpsDescriptor:301,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.GpsDescriptor:301,1"
      Dst: "[java.text.DecimalFormat].<init>(java.lang.String)"
    - Src: "com.drew.metadata.exif.GpsDescriptor:301,1"
      Dst: "[com.drew.lang.Rational].doubleValue()"
    - Src: "com.drew.metadata.exif.GpsDescriptor:301,1"
      Dst: "[java.text.NumberFormat].format(double)"
    - Src: "com.drew.metadata.exif.GpsDescriptor:301,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.GpsDescriptor:301,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: 4
    CyclomaticComplexity: 2
  - functionName: "[com.drew.metadata.exif.GpsDescriptor].getGpsAltitudeRefDescription()"
    functionSourceFile: "com.drew.metadata.exif.GpsDescriptor"
    linkageType: ""
    functionLinenumber: 293
    functionLinenumberEnd: 295
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.GpsDescriptor:294,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.GpsDescriptor].getGpsStatusDescription()"
    functionSourceFile: "com.drew.metadata.exif.GpsDescriptor"
    linkageType: ""
    functionLinenumber: 277
    functionLinenumberEnd: 288
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getString(int)"
    - "[java.lang.String].trim()"
    - "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 22
    EdgeCount: 9
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.GpsDescriptor:279"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.GpsDescriptor:281"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.GpsDescriptor:280"
        BranchSideFuncs:
        - "trim()"
    - Branch String: "com.drew.metadata.exif.GpsDescriptor:282"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.GpsDescriptor:284"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.GpsDescriptor:283"
        BranchSideFuncs:
        - "equalsIgnoreCase(java.lang.String)"
    - Branch String: "com.drew.metadata.exif.GpsDescriptor:284"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.GpsDescriptor:287"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.GpsDescriptor:286"
        BranchSideFuncs:
        - "<init>()"
        - "append(java.lang.String)"
        - "toString()"
    Callsites:
    - Src: "com.drew.metadata.exif.GpsDescriptor:278,1"
      Dst: "[com.drew.metadata.Directory].getString(int)"
    - Src: "com.drew.metadata.exif.GpsDescriptor:281,1"
      Dst: "[java.lang.String].trim()"
    - Src: "com.drew.metadata.exif.GpsDescriptor:282,1"
      Dst: "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - Src: "com.drew.metadata.exif.GpsDescriptor:287,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.GpsDescriptor:287,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.GpsDescriptor:287,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: 7
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.GpsDescriptor].getGpsMeasureModeDescription()"
    functionSourceFile: "com.drew.metadata.exif.GpsDescriptor"
    linkageType: ""
    functionLinenumber: 261
    functionLinenumberEnd: 272
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getString(int)"
    - "[java.lang.String].trim()"
    - "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 22
    EdgeCount: 9
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.GpsDescriptor:263"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.GpsDescriptor:265"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.GpsDescriptor:264"
        BranchSideFuncs:
        - "trim()"
    - Branch String: "com.drew.metadata.exif.GpsDescriptor:266"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.GpsDescriptor:268"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.GpsDescriptor:267"
        BranchSideFuncs:
        - "equalsIgnoreCase(java.lang.String)"
    - Branch String: "com.drew.metadata.exif.GpsDescriptor:268"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.GpsDescriptor:271"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.GpsDescriptor:270"
        BranchSideFuncs:
        - "<init>()"
        - "append(java.lang.String)"
        - "toString()"
    Callsites:
    - Src: "com.drew.metadata.exif.GpsDescriptor:262,1"
      Dst: "[com.drew.metadata.Directory].getString(int)"
    - Src: "com.drew.metadata.exif.GpsDescriptor:265,1"
      Dst: "[java.lang.String].trim()"
    - Src: "com.drew.metadata.exif.GpsDescriptor:266,1"
      Dst: "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - Src: "com.drew.metadata.exif.GpsDescriptor:271,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.GpsDescriptor:271,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.GpsDescriptor:271,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: 7
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.GpsDescriptor].getGpsDopDescription()"
    functionSourceFile: "com.drew.metadata.exif.GpsDescriptor"
    linkageType: ""
    functionLinenumber: 224
    functionLinenumberEnd: 227
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getRational(int)"
    - "[java.text.DecimalFormat].<init>(java.lang.String)"
    - "[com.drew.lang.Rational].doubleValue()"
    - "[java.text.NumberFormat].format(double)"
    functionUses: 1
    ICount: 12
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.GpsDescriptor:226"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.GpsDescriptor:224"
        BranchSideFuncs:
        - "format(double)"
        - "doubleValue()"
        - "<init>(java.lang.String)"
        - "getRational(int)"
    Callsites:
    - Src: "com.drew.metadata.exif.GpsDescriptor:225,1"
      Dst: "[com.drew.metadata.Directory].getRational(int)"
    - Src: "com.drew.metadata.exif.GpsDescriptor:226,1"
      Dst: "[java.text.DecimalFormat].<init>(java.lang.String)"
    - Src: "com.drew.metadata.exif.GpsDescriptor:226,1"
      Dst: "[com.drew.lang.Rational].doubleValue()"
    - Src: "com.drew.metadata.exif.GpsDescriptor:226,1"
      Dst: "[java.text.NumberFormat].format(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: 4
    CyclomaticComplexity: 2
  - functionName: "[com.drew.metadata.exif.GpsDescriptor].getGpsSpeedRefDescription()"
    functionSourceFile: "com.drew.metadata.exif.GpsDescriptor"
    linkageType: ""
    functionLinenumber: 231
    functionLinenumberEnd: 244
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getString(int)"
    - "[java.lang.String].trim()"
    - "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 2
    ICount: 26
    EdgeCount: 10
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.GpsDescriptor:233"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.GpsDescriptor:235"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.GpsDescriptor:234"
        BranchSideFuncs:
        - "trim()"
    - Branch String: "com.drew.metadata.exif.GpsDescriptor:236"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.GpsDescriptor:238"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.GpsDescriptor:237"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.GpsDescriptor:238"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.GpsDescriptor:240"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.GpsDescriptor:239"
        BranchSideFuncs:
        - "equalsIgnoreCase(java.lang.String)"
    - Branch String: "com.drew.metadata.exif.GpsDescriptor:240"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.GpsDescriptor:243"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.GpsDescriptor:242"
        BranchSideFuncs:
        - "<init>()"
        - "append(java.lang.String)"
        - "toString()"
    Callsites:
    - Src: "com.drew.metadata.exif.GpsDescriptor:232,1"
      Dst: "[com.drew.metadata.Directory].getString(int)"
    - Src: "com.drew.metadata.exif.GpsDescriptor:235,1"
      Dst: "[java.lang.String].trim()"
    - Src: "com.drew.metadata.exif.GpsDescriptor:236,1"
      Dst: "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - Src: "com.drew.metadata.exif.GpsDescriptor:243,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.GpsDescriptor:243,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.GpsDescriptor:243,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: 9
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.GpsDescriptor].getGpsSpeedDescription()"
    functionSourceFile: "com.drew.metadata.exif.GpsDescriptor"
    linkageType: ""
    functionLinenumber: 249
    functionLinenumberEnd: 257
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getRational(int)"
    - "[com.drew.metadata.exif.GpsDescriptor].getGpsSpeedRefDescription()"
    - "[java.text.DecimalFormat].<init>(java.lang.String)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[com.drew.lang.Rational].doubleValue()"
    - "[java.text.NumberFormat].format(double)"
    - "[java.lang.String].toLowerCase()"
    functionUses: 1
    ICount: 20
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.GpsDescriptor:251"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.GpsDescriptor:253"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.GpsDescriptor:252"
        BranchSideFuncs:
        - "format(double)"
        - "doubleValue()"
        - "format(java.lang.String,java.lang.Object[])"
        - "toLowerCase()"
        - "getGpsSpeedRefDescription()"
        - "<init>(java.lang.String)"
    - Branch String: "com.drew.metadata.exif.GpsDescriptor:256"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.GpsDescriptor:252"
        BranchSideFuncs:
        - "format(double)"
        - "doubleValue()"
        - "format(java.lang.String,java.lang.Object[])"
        - "toLowerCase()"
        - "getGpsSpeedRefDescription()"
        - "<init>(java.lang.String)"
    Callsites:
    - Src: "com.drew.metadata.exif.GpsDescriptor:250,1"
      Dst: "[com.drew.metadata.Directory].getRational(int)"
    - Src: "com.drew.metadata.exif.GpsDescriptor:253,1"
      Dst: "[com.drew.metadata.exif.GpsDescriptor].getGpsSpeedRefDescription()"
    - Src: "com.drew.metadata.exif.GpsDescriptor:254,1"
      Dst: "[java.text.DecimalFormat].<init>(java.lang.String)"
    - Src: "com.drew.metadata.exif.GpsDescriptor:255,1"
      Dst: "[com.drew.lang.Rational].doubleValue()"
    - Src: "com.drew.metadata.exif.GpsDescriptor:255,1"
      Dst: "[java.text.NumberFormat].format(double)"
    - Src: "com.drew.metadata.exif.GpsDescriptor:256,1"
      Dst: "[java.lang.String].toLowerCase()"
    - Src: "com.drew.metadata.exif.GpsDescriptor:254,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: 6
    CyclomaticComplexity: 2
  - functionName: "[com.drew.metadata.exif.GpsDescriptor].getGpsDirectionReferenceDescription(int)"
    functionSourceFile: "com.drew.metadata.exif.GpsDescriptor"
    linkageType: ""
    functionLinenumber: 208
    functionLinenumberEnd: 219
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getString(int)"
    - "[java.lang.String].trim()"
    - "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 23
    EdgeCount: 9
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.GpsDescriptor:210"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.GpsDescriptor:212"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.GpsDescriptor:211"
        BranchSideFuncs:
        - "trim()"
    - Branch String: "com.drew.metadata.exif.GpsDescriptor:213"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.GpsDescriptor:215"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.GpsDescriptor:214"
        BranchSideFuncs:
        - "equalsIgnoreCase(java.lang.String)"
    - Branch String: "com.drew.metadata.exif.GpsDescriptor:215"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.GpsDescriptor:218"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.GpsDescriptor:217"
        BranchSideFuncs:
        - "<init>()"
        - "append(java.lang.String)"
        - "toString()"
    Callsites:
    - Src: "com.drew.metadata.exif.GpsDescriptor:209,1"
      Dst: "[com.drew.metadata.Directory].getString(int)"
    - Src: "com.drew.metadata.exif.GpsDescriptor:212,1"
      Dst: "[java.lang.String].trim()"
    - Src: "com.drew.metadata.exif.GpsDescriptor:213,1"
      Dst: "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - Src: "com.drew.metadata.exif.GpsDescriptor:218,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.GpsDescriptor:218,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.GpsDescriptor:218,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: 7
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.GpsDescriptor].getGpsDirectionDescription(int)"
    functionSourceFile: "com.drew.metadata.exif.GpsDescriptor"
    linkageType: ""
    functionLinenumber: 197
    functionLinenumberEnd: 204
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getRational(int)"
    - "[java.text.DecimalFormat].<init>(java.lang.String)"
    - "[com.drew.lang.Rational].doubleValue()"
    - "[java.text.NumberFormat].format(double)"
    - "[com.drew.metadata.Directory].getString(int)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.String].length()"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.String].trim()"
    functionUses: 1
    ICount: 27
    EdgeCount: 12
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.GpsDescriptor:200"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.GpsDescriptor:202"
        BranchSideFuncs:
        - "format(double)"
        - "doubleValue()"
        - "<init>(java.lang.String)"
      - BranchSide: "com.drew.metadata.exif.GpsDescriptor:201"
        BranchSideFuncs:
        - "getString(int)"
    - Branch String: "com.drew.metadata.exif.GpsDescriptor:203"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.GpsDescriptor:202"
        BranchSideFuncs:
        - "<init>()"
        - "append(java.lang.String)"
        - "toString()"
        - "trim()"
        - "length()"
    - Branch String: "com.drew.metadata.exif.GpsDescriptor:203"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.GpsDescriptor:202"
        BranchSideFuncs:
        - "<init>()"
        - "append(java.lang.String)"
        - "toString()"
        - "trim()"
        - "length()"
    Callsites:
    - Src: "com.drew.metadata.exif.GpsDescriptor:198,1"
      Dst: "[com.drew.metadata.Directory].getRational(int)"
    - Src: "com.drew.metadata.exif.GpsDescriptor:201,1"
      Dst: "[java.text.DecimalFormat].<init>(java.lang.String)"
    - Src: "com.drew.metadata.exif.GpsDescriptor:201,1"
      Dst: "[com.drew.lang.Rational].doubleValue()"
    - Src: "com.drew.metadata.exif.GpsDescriptor:201,1"
      Dst: "[java.text.NumberFormat].format(double)"
    - Src: "com.drew.metadata.exif.GpsDescriptor:202,1"
      Dst: "[com.drew.metadata.Directory].getString(int)"
    - Src: "com.drew.metadata.exif.GpsDescriptor:203,1"
      Dst: "[java.lang.String].trim()"
    - Src: "com.drew.metadata.exif.GpsDescriptor:203,1"
      Dst: "[java.lang.String].length()"
    - Src: "com.drew.metadata.exif.GpsDescriptor:203,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.GpsDescriptor:203,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.GpsDescriptor:203,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: 8
    CyclomaticComplexity: 4
  - functionName: "[com.drew.metadata.exif.GpsDescriptor].getGpsDestLatitudeDescription()"
    functionSourceFile: "com.drew.metadata.exif.GpsDescriptor"
    linkageType: ""
    functionLinenumber: 140
    functionLinenumberEnd: 142
    functionDepth: 3
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.GpsDescriptor].getGeoLocationDimension(int,int,java.lang.String)"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.GpsDescriptor:141,1"
      Dst: "[com.drew.metadata.exif.GpsDescriptor].getGeoLocationDimension(int,int,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: "[com.drew.metadata.exif.GpsDescriptor].getGeoLocationDimension(int,int,java.lang.String)"
    functionSourceFile: "com.drew.metadata.exif.GpsDescriptor"
    linkageType: ""
    functionLinenumber: 152
    functionLinenumberEnd: 163
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 3
    argTypes:
    - "int"
    - "int"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getRationalArray(int)"
    - "[com.drew.metadata.Directory].getString(int)"
    - "[com.drew.lang.GeoLocation].degreesMinutesSecondsToDecimal(com.drew.lang.Rational,com.drew.lang.Rational,com.drew.lang.Rational,boolean)"
    - "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - "[com.drew.lang.GeoLocation].decimalToDegreesMinutesSecondsString(double)"
    - "[java.lang.Double].doubleValue()"
    functionUses: 2
    ICount: 26
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.GpsDescriptor:156"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.GpsDescriptor:157"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.GpsDescriptor:156"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.GpsDescriptor:156"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.GpsDescriptor:157"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.GpsDescriptor:156"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.GpsDescriptor:156"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.GpsDescriptor:160"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.GpsDescriptor:159"
        BranchSideFuncs:
        - "doubleValue()"
        - "decimalToDegreesMinutesSecondsString(double)"
        - "equalsIgnoreCase(java.lang.String)"
    - Branch String: "com.drew.metadata.exif.GpsDescriptor:162"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.GpsDescriptor:159"
        BranchSideFuncs:
        - "doubleValue()"
        - "decimalToDegreesMinutesSecondsString(double)"
        - "equalsIgnoreCase(java.lang.String)"
    Callsites:
    - Src: "com.drew.metadata.exif.GpsDescriptor:153,1"
      Dst: "[com.drew.metadata.Directory].getRationalArray(int)"
    - Src: "com.drew.metadata.exif.GpsDescriptor:154,1"
      Dst: "[com.drew.metadata.Directory].getString(int)"
    - Src: "com.drew.metadata.exif.GpsDescriptor:160,1"
      Dst: "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - Src: "com.drew.metadata.exif.GpsDescriptor:159,1"
      Dst: "[com.drew.lang.GeoLocation].degreesMinutesSecondsToDecimal(com.drew.lang.Rational,com.drew.lang.Rational,com.drew.lang.Rational,boolean)"
    - Src: "com.drew.metadata.exif.GpsDescriptor:162,1"
      Dst: "[java.lang.Double].doubleValue()"
    - Src: "com.drew.metadata.exif.GpsDescriptor:162,1"
      Dst: "[com.drew.lang.GeoLocation].decimalToDegreesMinutesSecondsString(double)"
    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: "[com.drew.metadata.exif.GpsDescriptor].getGpsDestLongitudeDescription()"
    functionSourceFile: "com.drew.metadata.exif.GpsDescriptor"
    linkageType: ""
    functionLinenumber: 146
    functionLinenumberEnd: 148
    functionDepth: 3
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.GpsDescriptor].getGeoLocationDimension(int,int,java.lang.String)"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.GpsDescriptor:147,1"
      Dst: "[com.drew.metadata.exif.GpsDescriptor].getGeoLocationDimension(int,int,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: "[com.drew.metadata.exif.GpsDescriptor].getGpsDestinationReferenceDescription()"
    functionSourceFile: "com.drew.metadata.exif.GpsDescriptor"
    linkageType: ""
    functionLinenumber: 167
    functionLinenumberEnd: 180
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getString(int)"
    - "[java.lang.String].trim()"
    - "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 2
    ICount: 26
    EdgeCount: 10
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.GpsDescriptor:169"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.GpsDescriptor:171"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.GpsDescriptor:170"
        BranchSideFuncs:
        - "trim()"
    - Branch String: "com.drew.metadata.exif.GpsDescriptor:172"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.GpsDescriptor:174"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.GpsDescriptor:173"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.GpsDescriptor:174"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.GpsDescriptor:176"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.GpsDescriptor:175"
        BranchSideFuncs:
        - "equalsIgnoreCase(java.lang.String)"
    - Branch String: "com.drew.metadata.exif.GpsDescriptor:176"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.GpsDescriptor:179"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.GpsDescriptor:178"
        BranchSideFuncs:
        - "<init>()"
        - "append(java.lang.String)"
        - "toString()"
    Callsites:
    - Src: "com.drew.metadata.exif.GpsDescriptor:168,1"
      Dst: "[com.drew.metadata.Directory].getString(int)"
    - Src: "com.drew.metadata.exif.GpsDescriptor:171,1"
      Dst: "[java.lang.String].trim()"
    - Src: "com.drew.metadata.exif.GpsDescriptor:172,1"
      Dst: "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - Src: "com.drew.metadata.exif.GpsDescriptor:179,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.GpsDescriptor:179,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.GpsDescriptor:179,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: 9
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.GpsDescriptor].getGpsDestDistanceDescription()"
    functionSourceFile: "com.drew.metadata.exif.GpsDescriptor"
    linkageType: ""
    functionLinenumber: 185
    functionLinenumberEnd: 193
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getRational(int)"
    - "[com.drew.metadata.exif.GpsDescriptor].getGpsDestinationReferenceDescription()"
    - "[java.text.DecimalFormat].<init>(java.lang.String)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[com.drew.lang.Rational].doubleValue()"
    - "[java.text.NumberFormat].format(double)"
    - "[java.lang.String].toLowerCase()"
    functionUses: 1
    ICount: 20
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.GpsDescriptor:187"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.GpsDescriptor:189"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.GpsDescriptor:188"
        BranchSideFuncs:
        - "getGpsDestinationReferenceDescription()"
        - "format(double)"
        - "doubleValue()"
        - "format(java.lang.String,java.lang.Object[])"
        - "toLowerCase()"
        - "<init>(java.lang.String)"
    - Branch String: "com.drew.metadata.exif.GpsDescriptor:192"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.GpsDescriptor:188"
        BranchSideFuncs:
        - "getGpsDestinationReferenceDescription()"
        - "format(double)"
        - "doubleValue()"
        - "format(java.lang.String,java.lang.Object[])"
        - "toLowerCase()"
        - "<init>(java.lang.String)"
    Callsites:
    - Src: "com.drew.metadata.exif.GpsDescriptor:186,1"
      Dst: "[com.drew.metadata.Directory].getRational(int)"
    - Src: "com.drew.metadata.exif.GpsDescriptor:189,1"
      Dst: "[com.drew.metadata.exif.GpsDescriptor].getGpsDestinationReferenceDescription()"
    - Src: "com.drew.metadata.exif.GpsDescriptor:190,1"
      Dst: "[java.text.DecimalFormat].<init>(java.lang.String)"
    - Src: "com.drew.metadata.exif.GpsDescriptor:191,1"
      Dst: "[com.drew.lang.Rational].doubleValue()"
    - Src: "com.drew.metadata.exif.GpsDescriptor:191,1"
      Dst: "[java.text.NumberFormat].format(double)"
    - Src: "com.drew.metadata.exif.GpsDescriptor:192,1"
      Dst: "[java.lang.String].toLowerCase()"
    - Src: "com.drew.metadata.exif.GpsDescriptor:190,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: 6
    CyclomaticComplexity: 2
  - functionName: "[com.drew.metadata.exif.GpsDescriptor].getGpsTimeStampDescription()"
    functionSourceFile: "com.drew.metadata.exif.GpsDescriptor"
    linkageType: ""
    functionLinenumber: 127
    functionLinenumberEnd: 136
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getRationalArray(int)"
    - "[java.text.DecimalFormat].<init>(java.lang.String)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[com.drew.lang.Rational].intValue()"
    - "[java.lang.Integer].valueOf(int)"
    - "[com.drew.lang.Rational].doubleValue()"
    - "[java.text.NumberFormat].format(double)"
    functionUses: 1
    ICount: 24
    EdgeCount: 9
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.GpsDescriptor:130"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.GpsDescriptor:132"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.GpsDescriptor:131"
        BranchSideFuncs:
        - "format(java.lang.String,java.lang.Object[])"
    Callsites:
    - Src: "com.drew.metadata.exif.GpsDescriptor:128,1"
      Dst: "[com.drew.metadata.Directory].getRationalArray(int)"
    - Src: "com.drew.metadata.exif.GpsDescriptor:129,1"
      Dst: "[java.text.DecimalFormat].<init>(java.lang.String)"
    - Src: "com.drew.metadata.exif.GpsDescriptor:133,1"
      Dst: "[com.drew.lang.Rational].intValue()"
    - Src: "com.drew.metadata.exif.GpsDescriptor:133,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.drew.metadata.exif.GpsDescriptor:135,1"
      Dst: "[com.drew.lang.Rational].doubleValue()"
    - Src: "com.drew.metadata.exif.GpsDescriptor:135,1"
      Dst: "[java.text.NumberFormat].format(double)"
    - Src: "com.drew.metadata.exif.GpsDescriptor:132,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: 4
    CyclomaticComplexity: 2
  - functionName: "[com.drew.metadata.exif.GpsDescriptor].getGpsLongitudeDescription()"
    functionSourceFile: "com.drew.metadata.exif.GpsDescriptor"
    linkageType: ""
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionDepth: 3
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.GpsDirectory].getGeoLocation()"
    - "[com.drew.lang.GeoLocation].decimalToDegreesMinutesSecondsString(double)"
    - "[com.drew.lang.GeoLocation].getLongitude()"
    functionUses: 1
    ICount: 10
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.GpsDescriptor:121"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.GpsDescriptor:119"
        BranchSideFuncs:
        - "getLongitude()"
        - "decimalToDegreesMinutesSecondsString(double)"
        - "getGeoLocation()"
    Callsites:
    - Src: "com.drew.metadata.exif.GpsDescriptor:120,1"
      Dst: "[com.drew.metadata.exif.GpsDirectory].getGeoLocation()"
    - Src: "com.drew.metadata.exif.GpsDescriptor:121,1"
      Dst: "[com.drew.lang.GeoLocation].getLongitude()"
    - Src: "com.drew.metadata.exif.GpsDescriptor:121,1"
      Dst: "[com.drew.lang.GeoLocation].decimalToDegreesMinutesSecondsString(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: 4
    CyclomaticComplexity: 2
  - functionName: "[com.drew.metadata.exif.GpsDirectory].getGeoLocation()"
    functionSourceFile: "com.drew.metadata.exif.GpsDirectory"
    linkageType: ""
    functionLinenumber: 176
    functionLinenumberEnd: 198
    functionDepth: 2
    returnType: "com.drew.lang.GeoLocation"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getRationalArray(int)"
    - "[com.drew.metadata.Directory].getString(int)"
    - "[com.drew.lang.GeoLocation].degreesMinutesSecondsToDecimal(com.drew.lang.Rational,com.drew.lang.Rational,com.drew.lang.Rational,boolean)"
    - "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - "[com.drew.lang.GeoLocation].<init>(double,double)"
    - "[java.lang.Double].doubleValue()"
    functionUses: 2
    ICount: 34
    EdgeCount: 11
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.GpsDirectory:183"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.GpsDirectory:184"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.GpsDirectory:183"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.GpsDirectory:183"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.GpsDirectory:185"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.GpsDirectory:184"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.GpsDirectory:185"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.GpsDirectory:186"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.GpsDirectory:185"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.GpsDirectory:185"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.GpsDirectory:187"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.GpsDirectory:186"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.GpsDirectory:187"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.GpsDirectory:188"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.GpsDirectory:187"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.GpsDirectory:187"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.GpsDirectory:190"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.GpsDirectory:189"
        BranchSideFuncs:
        - "degreesMinutesSecondsToDecimal(com.drew.lang.Rational,com.drew.lang.Rational,com.drew.lang.Rational,boolean)"
        - "equalsIgnoreCase(java.lang.String)"
    - Branch String: "com.drew.metadata.exif.GpsDirectory:194"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.GpsDirectory:195"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.GpsDirectory:194"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.GpsDirectory:194"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.GpsDirectory:197"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.GpsDirectory:196"
        BranchSideFuncs:
        - "<init>(double,double)"
        - "doubleValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.GpsDirectory:177,1"
      Dst: "[com.drew.metadata.Directory].getRationalArray(int)"
    - Src: "com.drew.metadata.exif.GpsDirectory:179,1"
      Dst: "[com.drew.metadata.Directory].getString(int)"
    - Src: "com.drew.metadata.exif.GpsDirectory:190,1"
      Dst: "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - Src: "com.drew.metadata.exif.GpsDirectory:190,1"
      Dst: "[com.drew.lang.GeoLocation].degreesMinutesSecondsToDecimal(com.drew.lang.Rational,com.drew.lang.Rational,com.drew.lang.Rational,boolean)"
    - Src: "com.drew.metadata.exif.GpsDirectory:197,1"
      Dst: "[java.lang.Double].doubleValue()"
    - Src: "com.drew.metadata.exif.GpsDirectory:197,1"
      Dst: "[com.drew.lang.GeoLocation].<init>(double,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: 13
    CyclomaticComplexity: 5
  - functionName: "[com.drew.metadata.exif.GpsDescriptor].getGpsLatitudeDescription()"
    functionSourceFile: "com.drew.metadata.exif.GpsDescriptor"
    linkageType: ""
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionDepth: 3
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.GpsDirectory].getGeoLocation()"
    - "[com.drew.lang.GeoLocation].decimalToDegreesMinutesSecondsString(double)"
    - "[com.drew.lang.GeoLocation].getLatitude()"
    functionUses: 1
    ICount: 10
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.GpsDescriptor:114"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.GpsDescriptor:112"
        BranchSideFuncs:
        - "getLatitude()"
        - "decimalToDegreesMinutesSecondsString(double)"
        - "getGeoLocation()"
    Callsites:
    - Src: "com.drew.metadata.exif.GpsDescriptor:113,1"
      Dst: "[com.drew.metadata.exif.GpsDirectory].getGeoLocation()"
    - Src: "com.drew.metadata.exif.GpsDescriptor:114,1"
      Dst: "[com.drew.lang.GeoLocation].getLatitude()"
    - Src: "com.drew.metadata.exif.GpsDescriptor:114,1"
      Dst: "[com.drew.lang.GeoLocation].decimalToDegreesMinutesSecondsString(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: 4
    CyclomaticComplexity: 2
  - functionName: "[com.drew.metadata.exif.GpsDescriptor].getGpsProcessingMethodDescription()"
    functionSourceFile: "com.drew.metadata.exif.GpsDescriptor"
    linkageType: ""
    functionLinenumber: 306
    functionLinenumberEnd: 308
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getEncodedTextDescription(int)"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.GpsDescriptor:307,1"
      Dst: "[com.drew.metadata.TagDescriptor].getEncodedTextDescription(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: "[com.drew.metadata.exif.GpsDescriptor].getGpsAreaInformationDescription()"
    functionSourceFile: "com.drew.metadata.exif.GpsDescriptor"
    linkageType: ""
    functionLinenumber: 312
    functionLinenumberEnd: 314
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getEncodedTextDescription(int)"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.GpsDescriptor:313,1"
      Dst: "[com.drew.metadata.TagDescriptor].getEncodedTextDescription(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: "[com.drew.metadata.exif.GpsDescriptor].getGpsDifferentialDescription()"
    functionSourceFile: "com.drew.metadata.exif.GpsDescriptor"
    linkageType: ""
    functionLinenumber: 318
    functionLinenumberEnd: 320
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.GpsDescriptor:319,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.GpsDescriptor].getGpsHPositioningErrorDescription()"
    functionSourceFile: "com.drew.metadata.exif.GpsDescriptor"
    linkageType: ""
    functionLinenumber: 324
    functionLinenumberEnd: 327
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getRational(int)"
    - "[java.text.DecimalFormat].<init>(java.lang.String)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[com.drew.lang.Rational].doubleValue()"
    - "[java.text.NumberFormat].format(double)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 17
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.GpsDescriptor:326"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.GpsDescriptor:324"
        BranchSideFuncs:
        - "format(double)"
        - "<init>()"
        - "doubleValue()"
        - "append(java.lang.String)"
        - "toString()"
        - "<init>(java.lang.String)"
        - "getRational(int)"
    Callsites:
    - Src: "com.drew.metadata.exif.GpsDescriptor:325,1"
      Dst: "[com.drew.metadata.Directory].getRational(int)"
    - Src: "com.drew.metadata.exif.GpsDescriptor:326,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.GpsDescriptor:326,1"
      Dst: "[java.text.DecimalFormat].<init>(java.lang.String)"
    - Src: "com.drew.metadata.exif.GpsDescriptor:326,1"
      Dst: "[com.drew.lang.Rational].doubleValue()"
    - Src: "com.drew.metadata.exif.GpsDescriptor:326,1"
      Dst: "[java.text.NumberFormat].format(double)"
    - Src: "com.drew.metadata.exif.GpsDescriptor:326,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.GpsDescriptor:326,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: 4
    CyclomaticComplexity: 2
  - functionName: "[com.drew.metadata.exif.GpsDescriptor].getDegreesMinutesSecondsDescription()"
    functionSourceFile: "com.drew.metadata.exif.GpsDescriptor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.GpsDirectory].getGeoLocation()"
    - "[com.drew.lang.GeoLocation].toDMSString()"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.GpsDescriptor:333"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.GpsDescriptor:331"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.exif.GpsDescriptor:332,1"
      Dst: "[com.drew.metadata.exif.GpsDirectory].getGeoLocation()"
    - Src: "com.drew.metadata.exif.GpsDescriptor:333,1"
      Dst: "[com.drew.lang.GeoLocation].toDMSString()"
    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: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDirectory)"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:48,1"
      Dst: "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    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: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getDescription(int)"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 54
    functionLinenumberEnd: 176
    functionDepth: 5
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getCameraSettingsVersionDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getPreviewImageValidDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getExposureModeDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getAeLockDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getMeteringModeDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getExposureShiftDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getNdFilterDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getMacroModeDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getFocusModeDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getFocusProcessDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getAfSearchDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getAfAreasDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getAfPointSelectedDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getAfFineTuneDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getFlashModeDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getFlashRemoteControlDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getFlashControlModeDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getFlashIntensityDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getManualFlashStrengthDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getWhiteBalance2Description()"
    - "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getWhiteBalanceTemperatureDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getCustomSaturationDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getModifiedSaturationDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getContrastSettingDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getSharpnessSettingDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getColorSpaceDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getSceneModeDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getNoiseReductionDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getDistortionCorrectionDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getShadingCompensationDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getGradationDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getPictureModeDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getPictureModeSaturationDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getPictureModeContrastDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getPictureModeSharpnessDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getPictureModeBWFilterDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getPictureModeToneDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getNoiseFilterDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getArtFilterDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getMagicFilterDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getPictureModeEffectDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getToneLevelDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getArtFilterEffectDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getColorCreatorEffectDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getDriveModeDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getPanoramaModeDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getImageQuality2Description()"
    - "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getImageStabilizationDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getStackedImageDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getManometerPressureDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getManometerReadingDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getExtendedWBDetectDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getRollAngleDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getPitchAngleDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getDateTimeUTCDescription()"
    - "[com.drew.metadata.TagDescriptor].getDescription(int)"
    functionUses: 1
    ICount: 115
    EdgeCount: 56
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:57,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getCameraSettingsVersionDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:59,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getPreviewImageValidDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:62,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getExposureModeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:64,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getAeLockDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:66,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getMeteringModeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:68,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getExposureShiftDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:70,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getNdFilterDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:73,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getMacroModeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:75,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getFocusModeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:77,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getFocusProcessDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:79,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getAfSearchDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:81,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getAfAreasDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:83,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getAfPointSelectedDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:85,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getAfFineTuneDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:88,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getFlashModeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:90,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getFlashRemoteControlDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:92,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getFlashControlModeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:94,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getFlashIntensityDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:96,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getManualFlashStrengthDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:99,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getWhiteBalance2Description()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:101,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getWhiteBalanceTemperatureDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:103,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getCustomSaturationDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:105,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getModifiedSaturationDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:107,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getContrastSettingDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:109,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getSharpnessSettingDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:111,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getColorSpaceDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:113,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getSceneModeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:115,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getNoiseReductionDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:117,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getDistortionCorrectionDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:119,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getShadingCompensationDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:121,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getGradationDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:123,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getPictureModeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:125,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getPictureModeSaturationDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:127,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getPictureModeContrastDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:129,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getPictureModeSharpnessDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:131,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getPictureModeBWFilterDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:133,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getPictureModeToneDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:135,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getNoiseFilterDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:137,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getArtFilterDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:139,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getMagicFilterDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:141,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getPictureModeEffectDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:143,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getToneLevelDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:145,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getArtFilterEffectDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:147,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getColorCreatorEffectDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:150,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getDriveModeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:152,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getPanoramaModeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:154,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getImageQuality2Description()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:156,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getImageStabilizationDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:159,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getStackedImageDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:162,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getManometerPressureDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:164,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getManometerReadingDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:166,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getExtendedWBDetectDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:168,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getRollAngleDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:170,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getPitchAngleDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:172,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getDateTimeUTCDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:175,1"
      Dst: "[com.drew.metadata.TagDescriptor].getDescription(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: 57
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getCameraSettingsVersionDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 181
    functionLinenumberEnd: 183
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getVersionBytesDescription(int,int)"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:182,1"
      Dst: "[com.drew.metadata.TagDescriptor].getVersionBytesDescription(int,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: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getPreviewImageValidDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 187
    functionLinenumberEnd: 189
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:188,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getExposureModeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 194
    functionLinenumberEnd: 196
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,java.lang.String[])"
    functionUses: 1
    ICount: 9
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:195,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,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: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getAeLockDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 201
    functionLinenumberEnd: 203
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:202,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getMeteringModeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 208
    functionLinenumberEnd: 228
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 21
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:210"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:213"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:212"
        BranchSideFuncs:
        - "intValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:209,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:213,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:227,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:227,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:227,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:227,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: 10
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getExposureShiftDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 233
    functionLinenumberEnd: 235
    functionDepth: 4
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getRationalOrDoubleString(int)"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:234,1"
      Dst: "[com.drew.metadata.TagDescriptor].getRationalOrDoubleString(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: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getNdFilterDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 239
    functionLinenumberEnd: 241
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:240,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getMacroModeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 245
    functionLinenumberEnd: 247
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:246,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getFocusModeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 251
    functionLinenumberEnd: 310
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getIntArray(int)"
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(int)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.StringBuilder].length()"
    - "[java.lang.StringBuilder].setLength(int)"
    functionUses: 1
    ICount: 81
    EdgeCount: 28
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:253"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:261"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:256"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:259"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:258"
        BranchSideFuncs:
        - "intValue()"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:262"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:265"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:264"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:290"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:309"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:308"
        BranchSideFuncs:
        - "toString()"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:294"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:297"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:296"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:297"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:298"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:297"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:298"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:299"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:298"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:299"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:300"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:299"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:300"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:301"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:300"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:301"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:302"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:301"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:302"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:303"
        BranchSideFuncs:
        - "append(java.lang.String)"
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:302"
        BranchSideFuncs:
        - "append(java.lang.String)"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:303"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:304"
        BranchSideFuncs:
        - "setLength(int)"
        - "length()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:252,1"
      Dst: "[com.drew.metadata.Directory].getIntArray(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:255,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:259,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:265,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:268,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:286,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:286,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:305,1"
      Dst: "[java.lang.StringBuilder].length()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:305,1"
      Dst: "[java.lang.StringBuilder].setLength(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: 33
    CyclomaticComplexity: 17
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getFocusProcessDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 314
    functionLinenumberEnd: 346
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getIntArray(int)"
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(int)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 45
    EdgeCount: 18
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:316"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:324"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:319"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:322"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:321"
        BranchSideFuncs:
        - "intValue()"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:325"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:328"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:327"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:342"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:345"
        BranchSideFuncs:
        - "<init>()"
        - "append(java.lang.String)"
        - "append(int)"
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:344"
        BranchSideFuncs:
        - "toString()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:315,1"
      Dst: "[com.drew.metadata.Directory].getIntArray(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:318,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:322,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:328,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:332,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:338,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:338,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: 13
    CyclomaticComplexity: 5
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getAfSearchDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 350
    functionLinenumberEnd: 352
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:351,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getAfAreasDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 357
    functionLinenumberEnd: 384
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getObject(int)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].length()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.lang.Long].valueOf(long)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 58
    EdgeCount: 15
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:359"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:360"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:359"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:359"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:362"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:361"
        BranchSideFuncs:
        - "<init>()"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:363"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:383"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:382"
        BranchSideFuncs:
        - "toString()"
        - "length()"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:364"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:366"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:365"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:366"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:369"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:368"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:369"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:371"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:370"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:371"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:373"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:372"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:373"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:376"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:375"
        BranchSideFuncs:
        - "append(java.lang.String)"
        - "format(java.lang.String,java.lang.Object[])"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:383"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:382"
        BranchSideFuncs:
        - "toString()"
        - "length()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:358,1"
      Dst: "[com.drew.metadata.Directory].getObject(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:362,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:366,1"
      Dst: "[java.lang.StringBuilder].length()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:367,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:377,1"
      Dst: "[java.lang.Long].valueOf(long)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:376,1"
      Dst: "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:383,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: 21
    CyclomaticComplexity: 9
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getAfPointSelectedDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 389
    functionLinenumberEnd: 410
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getRationalArray(int)"
    - "[com.drew.lang.Rational].longValue()"
    - "[com.drew.lang.Rational].doubleValue()"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.lang.Integer].valueOf(int)"
    functionUses: 1
    ICount: 60
    EdgeCount: 11
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:391"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:394"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:393"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:394"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:397"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:396"
        BranchSideFuncs:
        - "longValue()"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:398"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:400"
        BranchSideFuncs:
        - "doubleValue()"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:398"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:400"
        BranchSideFuncs:
        - "doubleValue()"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:406"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:409"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:408"
        BranchSideFuncs:
        - "format(java.lang.String,java.lang.Object[])"
        - "valueOf(int)"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:390,1"
      Dst: "[com.drew.metadata.Directory].getRationalArray(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:398,1"
      Dst: "[com.drew.lang.Rational].longValue()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:401,1"
      Dst: "[com.drew.lang.Rational].doubleValue()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:409,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:409,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: 10
    CyclomaticComplexity: 3
  - functionName: "[com.drew.lang.Rational].longValue()"
    functionSourceFile: "com.drew.lang.Rational"
    linkageType: ""
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionDepth: 1
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.Rational].doubleValue()"
    functionUses: 3
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.lang.Rational:129,1"
      Dst: "[com.drew.lang.Rational].doubleValue()"
    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: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getAfFineTuneDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 414
    functionLinenumberEnd: 416
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:415,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getFlashModeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 420
    functionLinenumberEnd: 439
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].length()"
    - "[java.lang.StringBuilder].substring(int,int)"
    functionUses: 1
    ICount: 39
    EdgeCount: 12
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:422"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:425"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:424"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:425"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:428"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:427"
        BranchSideFuncs:
        - "<init>()"
        - "intValue()"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:431"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:432"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:431"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:432"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:433"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:432"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:433"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:434"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:433"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:434"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:435"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:434"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:435"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:436"
        BranchSideFuncs:
        - "append(java.lang.String)"
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:435"
        BranchSideFuncs:
        - "append(java.lang.String)"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:436"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:437"
        BranchSideFuncs:
        - "length()"
        - "substring(int,int)"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:421,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:425,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:428,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:431,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:438,1"
      Dst: "[java.lang.StringBuilder].length()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:438,1"
      Dst: "[java.lang.StringBuilder].substring(int,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: 17
    CyclomaticComplexity: 7
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getFlashRemoteControlDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 443
    functionLinenumberEnd: 478
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 28
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:445"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:448"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:447"
        BranchSideFuncs:
        - "intValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:444,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:448,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:477,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:477,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:477,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:477,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: 17
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getFlashControlModeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 484
    functionLinenumberEnd: 516
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getIntArray(int)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(int)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 35
    EdgeCount: 12
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:486"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:489"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:488"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:489"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:492"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:491"
        BranchSideFuncs:
        - "<init>()"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:512"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:514"
        BranchSideFuncs:
        - "toString()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:485,1"
      Dst: "[com.drew.metadata.Directory].getIntArray(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:492,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:496,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:508,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:515,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: 14
    CyclomaticComplexity: 6
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getFlashIntensityDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 521
    functionLinenumberEnd: 539
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getRationalArray(int)"
    - "[com.drew.lang.Rational].getDenominator()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].length()"
    - "[java.lang.StringBuilder].substring(int,int)"
    functionUses: 1
    ICount: 56
    EdgeCount: 13
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:523"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:524"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:523"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:523"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:526"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:525"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:526"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:529"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:528"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:527"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:534"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:533"
        BranchSideFuncs:
        - "<init>()"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:527"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:534"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:533"
        BranchSideFuncs:
        - "<init>()"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:527"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:534"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:533"
        BranchSideFuncs:
        - "<init>()"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:529"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:534"
        BranchSideFuncs:
        - "getDenominator()"
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:533"
        BranchSideFuncs:
        - "<init>()"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:530"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:534"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:533"
        BranchSideFuncs:
        - "<init>()"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:530"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:534"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:533"
        BranchSideFuncs:
        - "<init>()"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:530"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:534"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:533"
        BranchSideFuncs:
        - "<init>()"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:530"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:534"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:533"
        BranchSideFuncs:
        - "<init>()"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:535"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:537"
        BranchSideFuncs:
        - "length()"
        - "substring(int,int)"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:522,1"
      Dst: "[com.drew.metadata.Directory].getRationalArray(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:527,1"
      Dst: "[com.drew.lang.Rational].getDenominator()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:534,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:536,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:536,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:538,1"
      Dst: "[java.lang.StringBuilder].length()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:538,1"
      Dst: "[java.lang.StringBuilder].substring(int,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: 18
    CyclomaticComplexity: 10
  - functionName: "[com.drew.lang.Rational].getDenominator()"
    functionSourceFile: "com.drew.lang.Rational"
    linkageType: ""
    functionLinenumber: 149
    functionLinenumberEnd: 151
    functionDepth: 0
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 21
    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: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getManualFlashStrengthDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 543
    functionLinenumberEnd: 561
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getRationalArray(int)"
    - "[com.drew.lang.Rational].getDenominator()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].length()"
    - "[java.lang.StringBuilder].substring(int,int)"
    functionUses: 1
    ICount: 56
    EdgeCount: 13
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:545"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:546"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:545"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:545"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:548"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:547"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:548"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:551"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:550"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:549"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:556"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:555"
        BranchSideFuncs:
        - "<init>()"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:549"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:556"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:555"
        BranchSideFuncs:
        - "<init>()"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:549"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:556"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:555"
        BranchSideFuncs:
        - "<init>()"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:551"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:556"
        BranchSideFuncs:
        - "getDenominator()"
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:555"
        BranchSideFuncs:
        - "<init>()"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:552"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:556"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:555"
        BranchSideFuncs:
        - "<init>()"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:552"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:556"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:555"
        BranchSideFuncs:
        - "<init>()"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:552"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:556"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:555"
        BranchSideFuncs:
        - "<init>()"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:552"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:556"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:555"
        BranchSideFuncs:
        - "<init>()"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:557"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:559"
        BranchSideFuncs:
        - "length()"
        - "substring(int,int)"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:544,1"
      Dst: "[com.drew.metadata.Directory].getRationalArray(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:549,1"
      Dst: "[com.drew.lang.Rational].getDenominator()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:556,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:558,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:558,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:560,1"
      Dst: "[java.lang.StringBuilder].length()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:560,1"
      Dst: "[java.lang.StringBuilder].substring(int,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: 18
    CyclomaticComplexity: 10
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getWhiteBalance2Description()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 565
    functionLinenumberEnd: 619
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 38
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:567"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:570"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:569"
        BranchSideFuncs:
        - "intValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:566,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:570,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:618,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:618,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:618,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:618,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: 27
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getWhiteBalanceTemperatureDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 624
    functionLinenumberEnd: 631
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.Integer].toString()"
    functionUses: 1
    ICount: 11
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:626"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:628"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:627"
        BranchSideFuncs:
        - "intValue()"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:628"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:630"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:629"
        BranchSideFuncs:
        - "toString()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:625,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:628,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:630,1"
      Dst: "[java.lang.Integer].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: 5
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getCustomSaturationDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 638
    functionLinenumberEnd: 640
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getValueMinMaxDescription(int)"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:639,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getValueMinMaxDescription(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: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getValueMinMaxDescription(int)"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 1302
    functionLinenumberEnd: 1308
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getIntArray(int)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.lang.Integer].valueOf(int)"
    functionUses: 6
    ICount: 21
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1304"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1305"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1304"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1304"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1307"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1306"
        BranchSideFuncs:
        - "format(java.lang.String,java.lang.Object[])"
        - "valueOf(int)"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1303,1"
      Dst: "[com.drew.metadata.Directory].getIntArray(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1307,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1307,1"
      Dst: "[java.lang.String].format(java.lang.String,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: 4
    CyclomaticComplexity: 2
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getModifiedSaturationDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 644
    functionLinenumberEnd: 646
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 9
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:645,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getContrastSettingDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 651
    functionLinenumberEnd: 653
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getValueMinMaxDescription(int)"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:652,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getValueMinMaxDescription(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: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getSharpnessSettingDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 657
    functionLinenumberEnd: 659
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getValueMinMaxDescription(int)"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:658,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getValueMinMaxDescription(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: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getColorSpaceDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 663
    functionLinenumberEnd: 665
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:664,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getSceneModeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 670
    functionLinenumberEnd: 792
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 72
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:672"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:675"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:674"
        BranchSideFuncs:
        - "intValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:671,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:675,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:791,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:791,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:791,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:791,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: 61
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getNoiseReductionDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 797
    functionLinenumberEnd: 815
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].length()"
    - "[java.lang.StringBuilder].substring(int,int)"
    functionUses: 1
    ICount: 35
    EdgeCount: 11
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:799"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:802"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:801"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:802"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:805"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:804"
        BranchSideFuncs:
        - "<init>()"
        - "intValue()"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:808"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:809"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:808"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:809"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:810"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:809"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:810"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:811"
        BranchSideFuncs:
        - "append(java.lang.String)"
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:810"
        BranchSideFuncs:
        - "append(java.lang.String)"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:811"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:812"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:813"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:813"
        BranchSideFuncs:
        - "length()"
        - "substring(int,int)"
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:812"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:798,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:802,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:805,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:808,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:813,1"
      Dst: "[java.lang.StringBuilder].length()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:814,1"
      Dst: "[java.lang.StringBuilder].substring(int,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: 16
    CyclomaticComplexity: 6
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getDistortionCorrectionDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 820
    functionLinenumberEnd: 822
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:821,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getShadingCompensationDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 826
    functionLinenumberEnd: 828
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:827,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getGradationDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 833
    functionLinenumberEnd: 861
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getIntArray(int)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.lang.Integer].valueOf(int)"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 59
    EdgeCount: 22
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:835"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:836"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:835"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:835"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:838"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:837"
        BranchSideFuncs:
        - "format(java.lang.String,java.lang.Object[])"
        - "valueOf(int)"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:841"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:843"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:842"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:843"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:845"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:844"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:845"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:847"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:846"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:847"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:850"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:849"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:853"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:860"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:859"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:854"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:856"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:855"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:856"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:860"
        BranchSideFuncs:
        - "<init>()"
        - "append(java.lang.String)"
        - "toString()"
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:859"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:834,1"
      Dst: "[com.drew.metadata.Directory].getIntArray(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:838,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:838,1"
      Dst: "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:841,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:850,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:850,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:850,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: 18
    CyclomaticComplexity: 9
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getPictureModeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 866
    functionLinenumberEnd: 912
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getIntArray(int)"
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(int)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 47
    EdgeCount: 17
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:868"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:876"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:871"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:874"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:873"
        BranchSideFuncs:
        - "intValue()"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:877"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:880"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:879"
        BranchSideFuncs:
        - "<init>()"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:908"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:911"
        BranchSideFuncs:
        - "append(java.lang.String)"
        - "append(int)"
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:910"
        BranchSideFuncs:
        - "toString()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:867,1"
      Dst: "[com.drew.metadata.Directory].getIntArray(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:870,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:874,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:880,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:883,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:904,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:911,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: 18
    CyclomaticComplexity: 10
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getPictureModeSaturationDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 916
    functionLinenumberEnd: 918
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getValueMinMaxDescription(int)"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:917,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getValueMinMaxDescription(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: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getPictureModeContrastDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 922
    functionLinenumberEnd: 924
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getValueMinMaxDescription(int)"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:923,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getValueMinMaxDescription(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: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getPictureModeSharpnessDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 928
    functionLinenumberEnd: 930
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getValueMinMaxDescription(int)"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:929,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getValueMinMaxDescription(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: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getPictureModeBWFilterDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 934
    functionLinenumberEnd: 936
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 10
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:935,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getPictureModeToneDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 941
    functionLinenumberEnd: 943
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 10
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:942,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getNoiseFilterDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 948
    functionLinenumberEnd: 966
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getIntArray(int)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.lang.Integer].valueOf(int)"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 39
    EdgeCount: 15
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:950"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:953"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:952"
        BranchSideFuncs:
        - "format(java.lang.String,java.lang.Object[])"
        - "valueOf(int)"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:955"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:957"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:956"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:957"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:959"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:958"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:959"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:961"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:960"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:961"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:963"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:962"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:963"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:965"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:964"
        BranchSideFuncs:
        - "<init>()"
        - "append(java.lang.String)"
        - "toString()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:949,1"
      Dst: "[com.drew.metadata.Directory].getIntArray(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:953,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:953,1"
      Dst: "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:955,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:965,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:965,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:965,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: 13
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getArtFilterDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 970
    functionLinenumberEnd: 972
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getFiltersDescription(int)"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:971,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getFiltersDescription(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: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getFiltersDescription(int)"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 1312
    functionLinenumberEnd: 1327
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getIntArray(int)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.util.HashMap].containsKey(java.lang.Object)"
    - "[java.util.HashMap].get(java.lang.Object)"
    - "[java.util.LinkedHashMap].get(java.lang.Object)"
    - "[java.lang.Integer].valueOf(int)"
    - "[java.lang.StringBuilder].append(int)"
    - "[java.lang.StringBuilder].length()"
    - "[java.lang.StringBuilder].substring(int,int)"
    functionUses: 2
    ICount: 38
    EdgeCount: 12
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1314"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1315"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1314"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1314"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1317"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1316"
        BranchSideFuncs:
        - "<init>()"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1318"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1326"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1325"
        BranchSideFuncs:
        - "length()"
        - "substring(int,int)"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1319"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1322"
        BranchSideFuncs:
        - "containsKey(java.lang.Object)"
        - "valueOf(int)"
        - "get(java.lang.Object)"
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1321"
        BranchSideFuncs:
        - "append(int)"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1320"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1319"
        BranchSideFuncs:
        - "containsKey(java.lang.Object)"
        - "valueOf(int)"
        - "get(java.lang.Object)"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1313,1"
      Dst: "[com.drew.metadata.Directory].getIntArray(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1317,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1320,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1320,1"
      Dst: "[java.util.HashMap].containsKey(java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1320,1"
      Dst: "[java.util.HashMap].get(java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1320,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1322,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1326,1"
      Dst: "[java.lang.StringBuilder].length()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1326,1"
      Dst: "[java.lang.StringBuilder].substring(int,int)"
    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: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getMagicFilterDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 976
    functionLinenumberEnd: 978
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getFiltersDescription(int)"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:977,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getFiltersDescription(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: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getPictureModeEffectDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 982
    functionLinenumberEnd: 997
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getIntArray(int)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.lang.Integer].valueOf(int)"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 36
    EdgeCount: 14
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:984"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:987"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:986"
        BranchSideFuncs:
        - "format(java.lang.String,java.lang.Object[])"
        - "valueOf(int)"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:988"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:990"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:989"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:990"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:992"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:991"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:992"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:994"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:993"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:994"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:996"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:995"
        BranchSideFuncs:
        - "<init>()"
        - "append(java.lang.String)"
        - "toString()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:983,1"
      Dst: "[com.drew.metadata.Directory].getIntArray(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:987,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:987,1"
      Dst: "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:988,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:996,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:996,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:996,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: 11
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getToneLevelDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 1001
    functionLinenumberEnd: 1015
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getIntArray(int)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.util.HashMap].get(java.lang.Object)"
    - "[java.util.LinkedHashMap].get(java.lang.Object)"
    - "[java.lang.Integer].valueOf(int)"
    - "[java.lang.StringBuilder].append(int)"
    - "[java.lang.StringBuilder].length()"
    - "[java.lang.StringBuilder].substring(int,int)"
    functionUses: 1
    ICount: 37
    EdgeCount: 11
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1003"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1004"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1003"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1003"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1006"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1005"
        BranchSideFuncs:
        - "<init>()"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1007"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1014"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1013"
        BranchSideFuncs:
        - "length()"
        - "substring(int,int)"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1008"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1009"
        BranchSideFuncs:
        - "valueOf(int)"
        - "get(java.lang.Object)"
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1008"
        BranchSideFuncs:
        - "valueOf(int)"
        - "get(java.lang.Object)"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1008"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1009"
        BranchSideFuncs:
        - "valueOf(int)"
        - "get(java.lang.Object)"
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1008"
        BranchSideFuncs:
        - "valueOf(int)"
        - "get(java.lang.Object)"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1008"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1009"
        BranchSideFuncs:
        - "valueOf(int)"
        - "get(java.lang.Object)"
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1008"
        BranchSideFuncs:
        - "valueOf(int)"
        - "get(java.lang.Object)"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1008"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1009"
        BranchSideFuncs:
        - "valueOf(int)"
        - "get(java.lang.Object)"
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1008"
        BranchSideFuncs:
        - "valueOf(int)"
        - "get(java.lang.Object)"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1008"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1009"
        BranchSideFuncs:
        - "valueOf(int)"
        - "get(java.lang.Object)"
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1008"
        BranchSideFuncs:
        - "valueOf(int)"
        - "get(java.lang.Object)"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1008"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1009"
        BranchSideFuncs:
        - "valueOf(int)"
        - "get(java.lang.Object)"
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1008"
        BranchSideFuncs:
        - "valueOf(int)"
        - "get(java.lang.Object)"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1008"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1011"
        BranchSideFuncs:
        - "valueOf(int)"
        - "get(java.lang.Object)"
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1010"
        BranchSideFuncs:
        - "append(java.lang.String)"
        - "append(int)"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1002,1"
      Dst: "[com.drew.metadata.Directory].getIntArray(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1006,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1009,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1009,1"
      Dst: "[java.util.HashMap].get(java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1009,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1011,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1014,1"
      Dst: "[java.lang.StringBuilder].length()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1014,1"
      Dst: "[java.lang.StringBuilder].substring(int,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: 16
    CyclomaticComplexity: 10
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getArtFilterEffectDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 1019
    functionLinenumberEnd: 1086
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getIntArray(int)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.util.HashMap].containsKey(java.lang.Object)"
    - "[java.util.HashMap].get(java.lang.Object)"
    - "[java.util.LinkedHashMap].get(java.lang.Object)"
    - "[java.lang.Integer].valueOf(int)"
    - "[java.lang.StringBuilder].append(int)"
    - "[java.lang.StringBuilder].length()"
    - "[java.lang.StringBuilder].substring(int,int)"
    functionUses: 1
    ICount: 84
    EdgeCount: 36
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1021"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1024"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1023"
        BranchSideFuncs:
        - "<init>()"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1025"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1085"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1084"
        BranchSideFuncs:
        - "length()"
        - "substring(int,int)"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1026"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1028"
        BranchSideFuncs:
        - "containsKey(java.lang.Object)"
        - "valueOf(int)"
        - "get(java.lang.Object)"
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1027"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1027"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1027"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1026"
        BranchSideFuncs:
        - "containsKey(java.lang.Object)"
        - "valueOf(int)"
        - "get(java.lang.Object)"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1028"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1030"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1029"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1030"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1058"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1057"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1058"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1081"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1080"
        BranchSideFuncs:
        - "append(java.lang.String)"
        - "append(int)"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1020,1"
      Dst: "[com.drew.metadata.Directory].getIntArray(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1024,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1027,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1027,1"
      Dst: "[java.util.HashMap].containsKey(java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1027,1"
      Dst: "[java.util.HashMap].get(java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1027,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1029,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1085,1"
      Dst: "[java.lang.StringBuilder].length()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1085,1"
      Dst: "[java.lang.StringBuilder].substring(int,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: 34
    CyclomaticComplexity: 19
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getColorCreatorEffectDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 1090
    functionLinenumberEnd: 1107
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getIntArray(int)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(int)"
    - "[java.lang.StringBuilder].length()"
    - "[java.lang.StringBuilder].substring(int,int)"
    functionUses: 1
    ICount: 32
    EdgeCount: 12
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1092"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1095"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1094"
        BranchSideFuncs:
        - "<init>()"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1096"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1106"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1105"
        BranchSideFuncs:
        - "length()"
        - "substring(int,int)"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1097"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1099"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1098"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1099"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1102"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1101"
        BranchSideFuncs:
        - "append(java.lang.String)"
        - "append(int)"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1091,1"
      Dst: "[com.drew.metadata.Directory].getIntArray(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1095,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1098,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1098,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1106,1"
      Dst: "[java.lang.StringBuilder].length()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1106,1"
      Dst: "[java.lang.StringBuilder].substring(int,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: 11
    CyclomaticComplexity: 4
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getDriveModeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 1112
    functionLinenumberEnd: 1154
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getIntArray(int)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(int)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 58
    EdgeCount: 18
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1114"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1117"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1116"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1117"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1118"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1117"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1117"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1120"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1119"
        BranchSideFuncs:
        - "<init>()"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1122"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1132"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1131"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1122"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1132"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1131"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1124"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1125"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1124"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1125"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1126"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1125"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1126"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1127"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1126"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1127"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1128"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1127"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1128"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1129"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1113,1"
      Dst: "[com.drew.metadata.Directory].getIntArray(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1120,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1124,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1146,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1153,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: 25
    CyclomaticComplexity: 13
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getPanoramaModeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 1159
    functionLinenumberEnd: 1187
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getIntArray(int)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(int)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.lang.Integer].valueOf(int)"
    functionUses: 1
    ICount: 35
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1161"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1164"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1163"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1164"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1165"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1164"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1164"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1168"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1167"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1160,1"
      Dst: "[com.drew.metadata.Directory].getIntArray(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1182,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1182,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1182,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1182,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1186,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1186,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: 12
    CyclomaticComplexity: 6
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getImageQuality2Description()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 1191
    functionLinenumberEnd: 1193
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,java.lang.String[])"
    functionUses: 1
    ICount: 9
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1192,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,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: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getImageStabilizationDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 1198
    functionLinenumberEnd: 1200
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 9
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1199,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getStackedImageDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 1205
    functionLinenumberEnd: 1219
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getIntArray(int)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.lang.Integer].valueOf(int)"
    functionUses: 1
    ICount: 23
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1207"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1208"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1207"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1207"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1210"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1209"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1213"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1215"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1214"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1213"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1215"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1214"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1215"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1218"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1217"
        BranchSideFuncs:
        - "format(java.lang.String,java.lang.Object[])"
        - "valueOf(int)"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1215"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1218"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1217"
        BranchSideFuncs:
        - "format(java.lang.String,java.lang.Object[])"
        - "valueOf(int)"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1206,1"
      Dst: "[com.drew.metadata.Directory].getIntArray(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1218,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1218,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: 10
    CyclomaticComplexity: 4
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getManometerPressureDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 1227
    functionLinenumberEnd: 1233
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.text.DecimalFormat].<init>(java.lang.String)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.text.NumberFormat].format(double)"
    - "[java.lang.Integer].intValue()"
    functionUses: 1
    ICount: 16
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1229"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1232"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1231"
        BranchSideFuncs:
        - "format(double)"
        - "intValue()"
        - "format(java.lang.String,java.lang.Object[])"
        - "<init>(java.lang.String)"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1228,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1232,1"
      Dst: "[java.text.DecimalFormat].<init>(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1232,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1232,1"
      Dst: "[java.text.NumberFormat].format(double)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1232,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: 3
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getManometerReadingDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 1241
    functionLinenumberEnd: 1250
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getIntArray(int)"
    - "[java.text.DecimalFormat].<init>(java.lang.String)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.text.NumberFormat].format(double)"
    functionUses: 1
    ICount: 23
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1243"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1244"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1243"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1243"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1246"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1245"
        BranchSideFuncs:
        - "format(java.lang.String,java.lang.Object[])"
        - "<init>(java.lang.String)"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1242,1"
      Dst: "[com.drew.metadata.Directory].getIntArray(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1246,1"
      Dst: "[java.text.DecimalFormat].<init>(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1248,1"
      Dst: "[java.text.NumberFormat].format(double)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1247,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: 4
    CyclomaticComplexity: 2
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getExtendedWBDetectDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 1254
    functionLinenumberEnd: 1256
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1255,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getRollAngleDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 1262
    functionLinenumberEnd: 1272
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getIntArray(int)"
    - "[java.lang.Double].toString(double)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.lang.Integer].valueOf(int)"
    functionUses: 1
    ICount: 24
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1264"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1265"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1264"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1264"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1267"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1266"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1267"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1268"
        BranchSideFuncs:
        - "toString(double)"
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1267"
        BranchSideFuncs:
        - "toString(double)"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1263,1"
      Dst: "[com.drew.metadata.Directory].getIntArray(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1268,1"
      Dst: "[java.lang.Double].toString(double)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1271,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1271,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: 7
    CyclomaticComplexity: 3
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getPitchAngleDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 1278
    functionLinenumberEnd: 1289
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getIntArray(int)"
    - "[java.lang.Double].toString(double)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.lang.Integer].valueOf(int)"
    functionUses: 1
    ICount: 23
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1280"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1281"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1280"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1280"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1284"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1283"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1284"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1285"
        BranchSideFuncs:
        - "toString(double)"
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1284"
        BranchSideFuncs:
        - "toString(double)"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1279,1"
      Dst: "[com.drew.metadata.Directory].getIntArray(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1285,1"
      Dst: "[java.lang.Double].toString(double)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1288,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1288,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: 7
    CyclomaticComplexity: 3
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].getDateTimeUTCDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 1293
    functionLinenumberEnd: 1298
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getObject(int)"
    - "[java.time.ZoneId].toString()"
    - "[java.util.concurrent.ConcurrentHashMap$Node].toString()"
    - "[java.time.LocalDate].toString()"
    - "[java.net.URLConnection].toString()"
    - "[java.net.URL].toString()"
    - "[com.drew.metadata.Face].toString()"
    - "[java.util.HashMap$Node].toString()"
    - "[java.math.BigDecimal].toString()"
    - "[java.time.zone.ZoneOffsetTransition].toString()"
    - "[java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock].toString()"
    - "[com.drew.metadata.Age].toString()"
    - "[java.util.concurrent.ConcurrentHashMap].toString()"
    - "[java.lang.Short].toString()"
    - "[java.lang.invoke.MethodTypeForm].toString()"
    - "[java.nio.charset.CodingErrorAction].toString()"
    - "[com.drew.metadata.StringValue].toString()"
    - "[java.io.StringWriter].toString()"
    - "[java.lang.module.ModuleDescriptor$Provides].toString()"
    - "[java.util.AbstractCollection].toString()"
    - "[java.time.ZoneOffset].toString()"
    - "[com.drew.metadata.Metadata].toString()"
    - "[java.lang.StringBuffer].toString()"
    - "[java.nio.LongBuffer].toString()"
    - "[java.util.ServiceLoader].toString()"
    - "[java.util.concurrent.atomic.AtomicLong].toString()"
    - "[java.lang.ProcessBuilder$Redirect$3].toString()"
    - "[java.time.zone.ZoneRules].toString()"
    - "[java.lang.ModuleLayer].toString()"
    - "[java.util.Optional].toString()"
    - "[java.lang.Boolean].toString()"
    - "[java.lang.Object].toString()"
    - "[java.security.PrivilegedActionException].toString()"
    - "[sun.util.calendar.Era].toString()"
    - "[java.lang.ProcessImpl].toString()"
    - "[java.time.Period].toString()"
    - "[java.util.OptionalDouble].toString()"
    - "[sun.security.util.LazyCodeSourcePermissionCollection].toString()"
    - "[sun.util.calendar.CalendarDate].toString()"
    - "[java.lang.StackTraceElement].toString()"
    - "[java.util.concurrent.ThreadPoolExecutor].toString()"
    - "[java.math.BigInteger].toString()"
    - "[java.text.FieldPosition].toString()"
    - "[java.io.File].toString()"
    - "[java.lang.invoke.LambdaFormEditor$Transform].toString()"
    - "[java.time.Instant].toString()"
    - "[java.lang.invoke.MemberName].toString()"
    - "[com.adobe.internal.xmp.impl.XMPMetaImpl$1].toString()"
    - "[java.lang.reflect.Constructor].toString()"
    - "[java.net.Socket].toString()"
    - "[java.time.format.Parsed].toString()"
    - "[java.lang.Long].toString()"
    - "[java.nio.channels.FileLock].toString()"
    - "[java.util.OptionalLong].toString()"
    - "[java.io.ByteArrayOutputStream].toString()"
    - "[java.lang.invoke.ClassSpecializer$SpeciesData].toString()"
    - "[java.net.NetworkInterface].toString()"
    - "[sun.reflect.annotation.TypeAnnotation$TypeAnnotationTargetInfo].toString()"
    - "[com.drew.metadata.bmp.BmpHeaderDirectory$BitmapType].toString()"
    - "[java.lang.module.Configuration].toString()"
    - "[java.net.InterfaceAddress].toString()"
    - "[com.adobe.internal.xmp.impl.XMPSchemaRegistryImpl$1].toString()"
    - "[java.io.ObjectOutputStream$DebugTraceInfoStack].toString()"
    - "[java.lang.invoke.LambdaForm$NamedFunction].toString()"
    - "[java.lang.Enum].toString()"
    - "[java.lang.ProcessBuilder$Redirect$6].toString()"
    - "[java.lang.invoke.LambdaForm$Name].toString()"
    - "[java.util.TreeMap$Entry].toString()"
    - "[java.security.Provider].toString()"
    - "[java.security.Permission].toString()"
    - "[java.lang.Character$Subset].toString()"
    - "[java.util.concurrent.CompletableFuture].toString()"
    - "[java.io.ObjectStreamClass].toString()"
    - "[java.time.format.DateTimeFormatterBuilder$NumberPrinterParser].toString()"
    - "[com.drew.lang.Rational].toString()"
    - "[java.nio.ByteBuffer].toString()"
    - "[com.drew.metadata.gif.GifControlDirectory$DisposalMethod].toString()"
    - "[java.util.ResourceBundle$CacheKey].toString()"
    - "[java.math.MathContext].toString()"
    - "[java.lang.ProcessBuilder$Redirect$4].toString()"
    - "[java.util.concurrent.CopyOnWriteArrayList].toString()"
    - "[jdk.internal.module.ModuleResolution].toString()"
    - "[java.security.cert.CertPath].toString()"
    - "[jdk.internal.jmod.JmodFile$Entry].toString()"
    - "[com.drew.lang.KeyValuePair].toString()"
    - "[java.lang.module.ModuleDescriptor$Requires].toString()"
    - "[java.security.PermissionCollection].toString()"
    - "[java.util.LongSummaryStatistics].toString()"
    - "[java.util.Formatter].toString()"
    - "[java.time.temporal.ValueRange].toString()"
    - "[java.net.Proxy].toString()"
    - "[java.util.Hashtable$Entry].toString()"
    - "[java.lang.ProcessBuilder$Redirect$5].toString()"
    - "[java.lang.ProcessHandleImpl].toString()"
    - "[java.io.ObjectStreamField].toString()"
    - "[com.drew.metadata.bmp.BmpHeaderDirectory$ColorSpaceType].toString()"
    - "[java.util.regex.Matcher].toString()"
    - "[com.drew.metadata.Directory].toString()"
    - "[java.security.MessageDigest].toString()"
    - "[java.text.DigitList].toString()"
    - "[sun.util.locale.Extension].toString()"
    - "[java.security.CodeSource].toString()"
    - "[java.time.zone.ZoneOffsetTransitionRule].toString()"
    - "[java.util.concurrent.locks.ReentrantLock].toString()"
    - "[java.util.jar.Attributes$Name].toString()"
    - "[java.util.StringJoiner].toString()"
    - "[java.util.IntSummaryStatistics].toString()"
    - "[sun.reflect.annotation.AnnotationType].toString()"
    - "[java.util.Vector].toString()"
    - "[java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock].toString()"
    - "[java.nio.DoubleBuffer].toString()"
    - "[java.lang.invoke.MethodHandle].toString()"
    - "[com.adobe.internal.xmp.impl.xpath.XMPPathSegment].toString()"
    - "[java.util.Calendar].toString()"
    - "[java.lang.Package].toString()"
    - "[java.lang.ProcessBuilder$RedirectPipeImpl].toString()"
    - "[java.nio.charset.Charset].toString()"
    - "[java.util.concurrent.locks.AbstractQueuedSynchronizer].toString()"
    - "[java.lang.StackFrameInfo].toString()"
    - "[java.nio.ShortBuffer].toString()"
    - "[java.net.URI].toString()"
    - "[java.util.concurrent.atomic.AtomicBoolean].toString()"
    - "[java.time.temporal.ChronoField].toString()"
    - "[java.time.ZonedDateTime].toString()"
    - "[java.lang.Thread].toString()"
    - "[java.time.OffsetTime].toString()"
    - "[java.lang.invoke.SerializedLambda].toString()"
    - "[java.lang.Module].toString()"
    - "[java.util.Hashtable].toString()"
    - "[java.lang.Integer].toString()"
    - "[java.time.format.DateTimeParseContext].toString()"
    - "[java.util.concurrent.atomic.AtomicInteger].toString()"
    - "[sun.nio.fs.UnixPath].toString()"
    - "[java.lang.StringBuilder].toString()"
    - "[java.util.Currency].toString()"
    - "[java.util.AbstractMap].toString()"
    - "[java.lang.module.ModuleDescriptor].toString()"
    - "[java.net.HttpCookie].toString()"
    - "[sun.security.util.JarConstraintsParameters].toString()"
    - "[com.adobe.internal.xmp.impl.XMPDateTimeImpl].toString()"
    - "[com.drew.metadata.Tag].toString()"
    - "[java.time.LocalTime].toString()"
    - "[java.time.format.DecimalStyle].toString()"
    - "[java.lang.module.ModuleDescriptor$Opens].toString()"
    - "[java.lang.Float].toString()"
    - "[java.lang.invoke.MethodHandleImpl$LoopClauses].toString()"
    - "[java.lang.Character].toString()"
    - "[java.nio.FloatBuffer].toString()"
    - "[java.lang.ProcessBuilder$Redirect$1].toString()"
    - "[com.drew.metadata.bmp.BmpHeaderDirectory$RenderingHalftoningAlgorithm].toString()"
    - "[java.util.Properties].toString()"
    - "[com.adobe.internal.xmp.impl.XMPMetaImpl$2].toString()"
    - "[jdk.internal.module.ModuleReferenceImpl].toString()"
    - "[java.nio.channels.FileChannel$MapMode].toString()"
    - "[java.time.temporal.ChronoUnit].toString()"
    - "[java.lang.invoke.MethodType].toString()"
    - "[jdk.internal.math.FDBigInteger].toString()"
    - "[java.time.LocalDateTime].toString()"
    - "[java.net.ServerSocket].toString()"
    - "[javax.security.auth.Subject].toString()"
    - "[java.lang.Throwable].toString()"
    - "[jdk.internal.org.objectweb.asm.Handle].toString()"
    - "[java.util.concurrent.locks.ReentrantReadWriteLock].toString()"
    - "[java.security.Signature].toString()"
    - "[java.lang.String].toString()"
    - "[java.nio.CharBuffer].toString()"
    - "[jdk.internal.perf.PerfCounter].toString()"
    - "[java.util.SimpleTimeZone].toString()"
    - "[jdk.internal.misc.Signal].toString()"
    - "[com.adobe.internal.xmp.XMPMetaFactory$1].toString()"
    - "[java.util.UUID].toString()"
    - "[java.lang.module.ModuleDescriptor$Version].toString()"
    - "[jdk.internal.misc.Signal$NativeHandler].toString()"
    - "[java.net.InetAddress].toString()"
    - "[java.nio.ByteOrder].toString()"
    - "[java.lang.ProcessBuilder$Redirect$2].toString()"
    - "[java.util.zip.ZipEntry].toString()"
    - "[java.lang.Runtime$Version].toString()"
    - "[jdk.internal.module.ModuleHashes].toString()"
    - "[java.net.SocketImpl].toString()"
    - "[com.drew.imaging.tiff.TiffDataFormat].toString()"
    - "[com.drew.lang.GeoLocation].toString()"
    - "[java.lang.reflect.Method].toString()"
    - "[sun.net.www.MessageHeader].toString()"
    - "[com.drew.metadata.bmp.BmpHeaderDirectory$RenderingIntent].toString()"
    - "[jdk.internal.org.objectweb.asm.TypePath].toString()"
    - "[java.time.Duration].toString()"
    - "[jdk.internal.jimage.ImageReader$Node].toString()"
    - "[java.text.ParsePosition].toString()"
    - "[java.nio.file.attribute.FileTime].toString()"
    - "[java.lang.reflect.Field].toString()"
    - "[sun.util.locale.BaseLocale].toString()"
    - "[java.math.MutableBigInteger].toString()"
    - "[java.util.DoubleSummaryStatistics].toString()"
    - "[java.time.chrono.AbstractChronology].toString()"
    - "[java.util.concurrent.LinkedBlockingQueue].toString()"
    - "[java.text.CalendarBuilder].toString()"
    - "[java.nio.IntBuffer].toString()"
    - "[java.security.SecureRandom].toString()"
    - "[javax.crypto.CryptoPermission].toString()"
    - "[sun.reflect.annotation.TypeAnnotation].toString()"
    - "[java.lang.ThreadGroup].toString()"
    - "[java.lang.Byte].toString()"
    - "[org.xml.sax.SAXException].toString()"
    - "[java.lang.invoke.MethodHandles$Lookup].toString()"
    - "[java.lang.module.ModuleDescriptor$Exports].toString()"
    - "[com.adobe.internal.xmp.options.Options].toString()"
    - "[java.security.AlgorithmParameters].toString()"
    - "[sun.nio.fs.UnixFileStore].toString()"
    - "[java.lang.reflect.Parameter].toString()"
    - "[java.util.WeakHashMap$Entry].toString()"
    - "[sun.util.locale.LocaleExtensions].toString()"
    - "[java.time.format.DateTimeFormatter].toString()"
    - "[com.drew.lang.CompoundException].toString()"
    - "[com.drew.metadata.bmp.BmpHeaderDirectory$Compression].toString()"
    - "[sun.util.calendar.JulianCalendar$Date].toString()"
    - "[java.security.ProtectionDomain].toString()"
    - "[java.security.Provider$Service].toString()"
    - "[java.nio.charset.CoderResult].toString()"
    - "[com.adobe.internal.xmp.impl.xpath.XMPPath].toString()"
    - "[java.text.AttributedCharacterIterator$Attribute].toString()"
    - "[java.time.format.DateTimeFormatterBuilder$CompositePrinterParser].toString()"
    - "[java.util.concurrent.ConcurrentHashMap$CollectionView].toString()"
    - "[com.drew.imaging.png.PngChunkType].toString()"
    - "[java.lang.Class].toString()"
    - "[com.drew.metadata.jpeg.JpegComponent].toString()"
    - "[java.util.Date].toString()"
    - "[java.security.Timestamp].toString()"
    - "[java.util.OptionalInt].toString()"
    - "[java.time.OffsetDateTime].toString()"
    - "[java.util.regex.Pattern].toString()"
    - "[java.lang.Double].toString()"
    - "[java.lang.module.ResolvedModule].toString()"
    - "[java.security.SecureRandomSpi].toString()"
    - "[java.security.CodeSigner].toString()"
    - "[jdk.internal.org.objectweb.asm.Type].toString()"
    - "[java.lang.invoke.Invokers].toString()"
    - "[java.util.Locale].toString()"
    - "[org.xml.sax.SAXParseException].toString()"
    - "[java.time.format.DateTimePrintContext].toString()"
    - "[jdk.internal.org.objectweb.asm.Label].toString()"
    - "[java.util.concurrent.ForkJoinPool].toString()"
    - "[java.lang.invoke.LambdaForm].toString()"
    functionUses: 1
    ICount: 8
    EdgeCount: 243
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1295"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1297"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1296"
        BranchSideFuncs:
        - "toString()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1294,1"
      Dst: "[com.drew.metadata.Directory].getObject(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor:1297,1"
      Dst: "[java.lang.Object].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: 3
    CyclomaticComplexity: 1
  - functionName: "[com.drew.imaging.png.PngProcessingException].<init>(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "com.drew.imaging.png.PngProcessingException"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.imaging.ImageProcessingException].<init>(java.lang.String,java.lang.Throwable)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.png.PngProcessingException:42,1"
      Dst: "[com.drew.imaging.ImageProcessingException].<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: "[com.drew.metadata.photoshop.PhotoshopDescriptor].getDescription(int)"
    functionSourceFile: "com.drew.metadata.photoshop.PhotoshopDescriptor"
    linkageType: ""
    functionLinenumber: 51
    functionLinenumberEnd: 86
    functionDepth: 3
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.photoshop.PhotoshopDescriptor].getThumbnailDescription(int)"
    - "[com.drew.metadata.photoshop.PhotoshopDescriptor].getSimpleString(int)"
    - "[com.drew.metadata.photoshop.PhotoshopDescriptor].getBinaryDataString(int)"
    - "[com.drew.metadata.photoshop.PhotoshopDescriptor].getSlicesDescription()"
    - "[com.drew.metadata.photoshop.PhotoshopDescriptor].getVersionDescription()"
    - "[com.drew.metadata.photoshop.PhotoshopDescriptor].getBooleanString(int)"
    - "[com.drew.metadata.photoshop.PhotoshopDescriptor].getResolutionInfoDescription()"
    - "[com.drew.metadata.photoshop.PhotoshopDescriptor].get32BitNumberString(int)"
    - "[com.drew.metadata.photoshop.PhotoshopDescriptor].getJpegQualityString()"
    - "[com.drew.metadata.photoshop.PhotoshopDescriptor].getPrintScaleDescription()"
    - "[com.drew.metadata.photoshop.PhotoshopDescriptor].getPixelAspectRatioString()"
    - "[com.drew.metadata.photoshop.PhotoshopDescriptor].getClippingPathNameString(int)"
    - "[com.drew.metadata.photoshop.PhotoshopDescriptor].getPathString(int)"
    - "[com.drew.metadata.TagDescriptor].getDescription(int)"
    functionUses: 1
    ICount: 33
    EdgeCount: 14
    BranchProfiles:
    - Branch String: "com.drew.metadata.photoshop.PhotoshopDescriptor:83"
      Branch Sides:
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopDescriptor:85"
        BranchSideFuncs:
        - "getPathString(int)"
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopDescriptor:84"
        BranchSideFuncs:
        - "getDescription(int)"
    - Branch String: "com.drew.metadata.photoshop.PhotoshopDescriptor:83"
      Branch Sides:
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopDescriptor:85"
        BranchSideFuncs:
        - "getPathString(int)"
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopDescriptor:84"
        BranchSideFuncs:
        - "getDescription(int)"
    Callsites:
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:55,1"
      Dst: "[com.drew.metadata.photoshop.PhotoshopDescriptor].getThumbnailDescription(int)"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:58,1"
      Dst: "[com.drew.metadata.photoshop.PhotoshopDescriptor].getSimpleString(int)"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:60,1"
      Dst: "[com.drew.metadata.photoshop.PhotoshopDescriptor].getBinaryDataString(int)"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:62,1"
      Dst: "[com.drew.metadata.photoshop.PhotoshopDescriptor].getSlicesDescription()"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:64,1"
      Dst: "[com.drew.metadata.photoshop.PhotoshopDescriptor].getVersionDescription()"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:66,1"
      Dst: "[com.drew.metadata.photoshop.PhotoshopDescriptor].getBooleanString(int)"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:68,1"
      Dst: "[com.drew.metadata.photoshop.PhotoshopDescriptor].getResolutionInfoDescription()"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:73,1"
      Dst: "[com.drew.metadata.photoshop.PhotoshopDescriptor].get32BitNumberString(int)"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:75,1"
      Dst: "[com.drew.metadata.photoshop.PhotoshopDescriptor].getJpegQualityString()"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:77,1"
      Dst: "[com.drew.metadata.photoshop.PhotoshopDescriptor].getPrintScaleDescription()"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:79,1"
      Dst: "[com.drew.metadata.photoshop.PhotoshopDescriptor].getPixelAspectRatioString()"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:81,1"
      Dst: "[com.drew.metadata.photoshop.PhotoshopDescriptor].getClippingPathNameString(int)"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:84,1"
      Dst: "[com.drew.metadata.photoshop.PhotoshopDescriptor].getPathString(int)"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:85,1"
      Dst: "[com.drew.metadata.TagDescriptor].getDescription(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: 17
    CyclomaticComplexity: 2
  - functionName: "[com.drew.metadata.photoshop.PhotoshopDescriptor].getThumbnailDescription(int)"
    functionSourceFile: "com.drew.metadata.photoshop.PhotoshopDescriptor"
    linkageType: ""
    functionLinenumber: 268
    functionLinenumberEnd: 286
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getByteArray(int)"
    - "[com.drew.lang.ByteArrayReader].<init>(byte[])"
    - "[com.drew.lang.RandomAccessReader].getInt32(int)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.lang.Integer].valueOf(int)"
    functionUses: 1
    ICount: 35
    EdgeCount: 14
    BranchProfiles:
    - Branch String: "com.drew.metadata.photoshop.PhotoshopDescriptor:270"
      Branch Sides:
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopDescriptor:272"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopDescriptor:271"
        BranchSideFuncs:
        - "format(java.lang.String,java.lang.Object[])"
        - "<init>(byte[])"
        - "getInt32(int)"
    - Branch String: "com.drew.metadata.photoshop.PhotoshopDescriptor:282"
      Branch Sides:
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopDescriptor:272"
        BranchSideFuncs:
        - "format(java.lang.String,java.lang.Object[])"
        - "valueOf(int)"
        - "<init>(byte[])"
        - "getInt32(int)"
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopDescriptor:271"
        BranchSideFuncs:
        - "format(java.lang.String,java.lang.Object[])"
        - "<init>(byte[])"
        - "getInt32(int)"
    Callsites:
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:269,1"
      Dst: "[com.drew.metadata.Directory].getByteArray(int)"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:272,1"
      Dst: "[com.drew.lang.ByteArrayReader].<init>(byte[])"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:273,1"
      Dst: "[com.drew.lang.RandomAccessReader].getInt32(int)"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:283,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:281,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: 7
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.photoshop.PhotoshopDescriptor].getSimpleString(int)"
    functionSourceFile: "com.drew.metadata.photoshop.PhotoshopDescriptor"
    linkageType: ""
    functionLinenumber: 314
    functionLinenumberEnd: 319
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getByteArray(int)"
    - "[java.lang.String].<init>(byte[])"
    functionUses: 1
    ICount: 10
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.drew.metadata.photoshop.PhotoshopDescriptor:316"
      Branch Sides:
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopDescriptor:318"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopDescriptor:317"
        BranchSideFuncs:
        - "<init>(byte[])"
    Callsites:
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:315,1"
      Dst: "[com.drew.metadata.Directory].getByteArray(int)"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:318,1"
      Dst: "[java.lang.String].<init>(byte[])"
    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: "[com.drew.metadata.photoshop.PhotoshopDescriptor].getBinaryDataString(int)"
    functionSourceFile: "com.drew.metadata.photoshop.PhotoshopDescriptor"
    linkageType: ""
    functionLinenumber: 323
    functionLinenumberEnd: 328
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getByteArray(int)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.lang.Integer].valueOf(int)"
    functionUses: 1
    ICount: 13
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.drew.metadata.photoshop.PhotoshopDescriptor:325"
      Branch Sides:
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopDescriptor:327"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopDescriptor:326"
        BranchSideFuncs:
        - "format(java.lang.String,java.lang.Object[])"
        - "valueOf(int)"
    Callsites:
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:324,1"
      Dst: "[com.drew.metadata.Directory].getByteArray(int)"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:327,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:327,1"
      Dst: "[java.lang.String].format(java.lang.String,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: 1
  - functionName: "[com.drew.metadata.photoshop.PhotoshopDescriptor].getSlicesDescription()"
    functionSourceFile: "com.drew.metadata.photoshop.PhotoshopDescriptor"
    linkageType: ""
    functionLinenumber: 249
    functionLinenumberEnd: 262
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getByteArray(int)"
    - "[com.drew.lang.ByteArrayReader].<init>(byte[])"
    - "[com.drew.lang.RandomAccessReader].getInt32(int)"
    - "[com.drew.lang.RandomAccessReader].getString(int,int,java.lang.String)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.lang.Integer].valueOf(int)"
    functionUses: 1
    ICount: 34
    EdgeCount: 15
    BranchProfiles:
    - Branch String: "com.drew.metadata.photoshop.PhotoshopDescriptor:251"
      Branch Sides:
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopDescriptor:253"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopDescriptor:252"
        BranchSideFuncs:
        - "format(java.lang.String,java.lang.Object[])"
        - "<init>(byte[])"
        - "getString(int,int,java.lang.String)"
    Callsites:
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:250,1"
      Dst: "[com.drew.metadata.Directory].getByteArray(int)"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:253,1"
      Dst: "[com.drew.lang.ByteArrayReader].<init>(byte[])"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:254,1"
      Dst: "[com.drew.lang.RandomAccessReader].getInt32(int)"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:255,1"
      Dst: "[com.drew.lang.RandomAccessReader].getString(int,int,java.lang.String)"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:259,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:258,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: 4
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.photoshop.PhotoshopDescriptor].getVersionDescription()"
    functionSourceFile: "com.drew.metadata.photoshop.PhotoshopDescriptor"
    linkageType: ""
    functionLinenumber: 222
    functionLinenumberEnd: 243
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getByteArray(int)"
    - "[com.drew.lang.ByteArrayReader].<init>(byte[])"
    - "[com.drew.lang.RandomAccessReader].getInt32(int)"
    - "[com.drew.lang.RandomAccessReader].getString(int,int,java.lang.String)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.lang.Integer].valueOf(int)"
    functionUses: 1
    ICount: 32
    EdgeCount: 11
    BranchProfiles:
    - Branch String: "com.drew.metadata.photoshop.PhotoshopDescriptor:224"
      Branch Sides:
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopDescriptor:226"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopDescriptor:225"
        BranchSideFuncs:
        - "format(java.lang.String,java.lang.Object[])"
        - "valueOf(int)"
        - "<init>(byte[])"
        - "getString(int,int,java.lang.String)"
        - "getInt32(int)"
    Callsites:
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:223,1"
      Dst: "[com.drew.metadata.Directory].getByteArray(int)"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:226,1"
      Dst: "[com.drew.lang.ByteArrayReader].<init>(byte[])"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:228,1"
      Dst: "[com.drew.lang.RandomAccessReader].getInt32(int)"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:233,1"
      Dst: "[com.drew.lang.RandomAccessReader].getString(int,int,java.lang.String)"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:240,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:240,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: 4
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.photoshop.PhotoshopDescriptor].getBooleanString(int)"
    functionSourceFile: "com.drew.metadata.photoshop.PhotoshopDescriptor"
    linkageType: ""
    functionLinenumber: 291
    functionLinenumberEnd: 296
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getByteArray(int)"
    functionUses: 1
    ICount: 15
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "com.drew.metadata.photoshop.PhotoshopDescriptor:293"
      Branch Sides:
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopDescriptor:294"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopDescriptor:293"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.photoshop.PhotoshopDescriptor:293"
      Branch Sides:
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopDescriptor:295"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopDescriptor:294"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.photoshop.PhotoshopDescriptor:295"
      Branch Sides:
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopDescriptor:294"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:292,1"
      Dst: "[com.drew.metadata.Directory].getByteArray(int)"
    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: "[com.drew.metadata.photoshop.PhotoshopDescriptor].getResolutionInfoDescription()"
    functionSourceFile: "com.drew.metadata.photoshop.PhotoshopDescriptor"
    linkageType: ""
    functionLinenumber: 205
    functionLinenumberEnd: 216
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getByteArray(int)"
    - "[com.drew.lang.ByteArrayReader].<init>(byte[])"
    - "[com.drew.lang.RandomAccessReader].getS15Fixed16(int)"
    - "[java.text.DecimalFormat].<init>(java.lang.String)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.text.NumberFormat].format(double)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 26
    EdgeCount: 13
    BranchProfiles:
    - Branch String: "com.drew.metadata.photoshop.PhotoshopDescriptor:207"
      Branch Sides:
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopDescriptor:209"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopDescriptor:208"
        BranchSideFuncs:
        - "format(double)"
        - "<init>()"
        - "append(java.lang.String)"
        - "toString()"
        - "<init>(byte[])"
        - "<init>(java.lang.String)"
        - "getS15Fixed16(int)"
    Callsites:
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:206,1"
      Dst: "[com.drew.metadata.Directory].getByteArray(int)"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:209,1"
      Dst: "[com.drew.lang.ByteArrayReader].<init>(byte[])"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:210,1"
      Dst: "[com.drew.lang.RandomAccessReader].getS15Fixed16(int)"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:212,1"
      Dst: "[java.text.DecimalFormat].<init>(java.lang.String)"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:213,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:213,1"
      Dst: "[java.text.NumberFormat].format(double)"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:213,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:213,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: 4
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.photoshop.PhotoshopDescriptor].get32BitNumberString(int)"
    functionSourceFile: "com.drew.metadata.photoshop.PhotoshopDescriptor"
    linkageType: ""
    functionLinenumber: 300
    functionLinenumberEnd: 309
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getByteArray(int)"
    - "[com.drew.lang.ByteArrayReader].<init>(byte[])"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[com.drew.lang.RandomAccessReader].getInt32(int)"
    - "[java.lang.Integer].valueOf(int)"
    functionUses: 1
    ICount: 17
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "com.drew.metadata.photoshop.PhotoshopDescriptor:302"
      Branch Sides:
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopDescriptor:304"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopDescriptor:303"
        BranchSideFuncs:
        - "format(java.lang.String,java.lang.Object[])"
        - "valueOf(int)"
        - "<init>(byte[])"
        - "getInt32(int)"
    Callsites:
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:301,1"
      Dst: "[com.drew.metadata.Directory].getByteArray(int)"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:304,1"
      Dst: "[com.drew.lang.ByteArrayReader].<init>(byte[])"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:306,1"
      Dst: "[com.drew.lang.RandomAccessReader].getInt32(int)"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:306,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:306,1"
      Dst: "[java.lang.String].format(java.lang.String,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: 4
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.photoshop.PhotoshopDescriptor].getJpegQualityString()"
    functionSourceFile: "com.drew.metadata.photoshop.PhotoshopDescriptor"
    linkageType: ""
    functionLinenumber: 92
    functionLinenumberEnd: 157
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getByteArray(int)"
    - "[com.drew.metadata.Directory].getString(int)"
    - "[com.drew.lang.ByteArrayReader].<init>(byte[])"
    - "[com.drew.lang.RandomAccessReader].getUInt16(int)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.lang.Integer].valueOf(int)"
    functionUses: 1
    ICount: 69
    EdgeCount: 14
    BranchProfiles:
    - Branch String: "com.drew.metadata.photoshop.PhotoshopDescriptor:95"
      Branch Sides:
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopDescriptor:98"
        BranchSideFuncs:
        - "getString(int)"
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopDescriptor:97"
        BranchSideFuncs:
        - "getUInt16(int)"
        - "<init>(byte[])"
    - Branch String: "com.drew.metadata.photoshop.PhotoshopDescriptor:103"
      Branch Sides:
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopDescriptor:105"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopDescriptor:104"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.photoshop.PhotoshopDescriptor:103"
      Branch Sides:
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopDescriptor:105"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopDescriptor:104"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.photoshop.PhotoshopDescriptor:105"
      Branch Sides:
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopDescriptor:106"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopDescriptor:105"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.photoshop.PhotoshopDescriptor:150"
      Branch Sides:
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopDescriptor:152"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopDescriptor:151"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.photoshop.PhotoshopDescriptor:150"
      Branch Sides:
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopDescriptor:152"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopDescriptor:151"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:93,1"
      Dst: "[com.drew.metadata.Directory].getByteArray(int)"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:96,1"
      Dst: "[com.drew.metadata.Directory].getString(int)"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:98,1"
      Dst: "[com.drew.lang.ByteArrayReader].<init>(byte[])"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:99,1"
      Dst: "[com.drew.lang.RandomAccessReader].getUInt16(int)"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:147,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:147,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: 25
    CyclomaticComplexity: 12
  - functionName: "[com.drew.metadata.photoshop.PhotoshopDescriptor].getPrintScaleDescription()"
    functionSourceFile: "com.drew.metadata.photoshop.PhotoshopDescriptor"
    linkageType: ""
    functionLinenumber: 178
    functionLinenumberEnd: 199
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getByteArray(int)"
    - "[com.drew.lang.ByteArrayReader].<init>(byte[])"
    - "[com.drew.lang.RandomAccessReader].getInt32(int)"
    - "[com.drew.lang.RandomAccessReader].getFloat32(int)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(float)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.lang.Float].valueOf(float)"
    - "[java.lang.Integer].valueOf(int)"
    functionUses: 1
    ICount: 42
    EdgeCount: 19
    BranchProfiles:
    - Branch String: "com.drew.metadata.photoshop.PhotoshopDescriptor:180"
      Branch Sides:
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopDescriptor:182"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopDescriptor:181"
        BranchSideFuncs:
        - "getFloat32(int)"
        - "<init>(byte[])"
        - "getInt32(int)"
    Callsites:
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:179,1"
      Dst: "[com.drew.metadata.Directory].getByteArray(int)"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:182,1"
      Dst: "[com.drew.lang.ByteArrayReader].<init>(byte[])"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:183,1"
      Dst: "[com.drew.lang.RandomAccessReader].getInt32(int)"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:184,1"
      Dst: "[com.drew.lang.RandomAccessReader].getFloat32(int)"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:189,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:189,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:189,1"
      Dst: "[java.lang.StringBuilder].append(float)"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:189,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:193,1"
      Dst: "[java.lang.Float].valueOf(float)"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:193,1"
      Dst: "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:195,1"
      Dst: "[java.lang.Integer].valueOf(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: 8
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.photoshop.PhotoshopDescriptor].getPixelAspectRatioString()"
    functionSourceFile: "com.drew.metadata.photoshop.PhotoshopDescriptor"
    linkageType: ""
    functionLinenumber: 163
    functionLinenumberEnd: 172
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getByteArray(int)"
    - "[com.drew.lang.ByteArrayReader].<init>(byte[])"
    - "[com.drew.lang.RandomAccessReader].getDouble64(int)"
    - "[java.lang.Double].toString(double)"
    functionUses: 1
    ICount: 13
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.drew.metadata.photoshop.PhotoshopDescriptor:165"
      Branch Sides:
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopDescriptor:167"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopDescriptor:166"
        BranchSideFuncs:
        - "getDouble64(int)"
        - "toString(double)"
        - "<init>(byte[])"
    Callsites:
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:164,1"
      Dst: "[com.drew.metadata.Directory].getByteArray(int)"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:167,1"
      Dst: "[com.drew.lang.ByteArrayReader].<init>(byte[])"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:168,1"
      Dst: "[com.drew.lang.RandomAccessReader].getDouble64(int)"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:169,1"
      Dst: "[java.lang.Double].toString(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: 4
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.photoshop.PhotoshopDescriptor].getClippingPathNameString(int)"
    functionSourceFile: "com.drew.metadata.photoshop.PhotoshopDescriptor"
    linkageType: ""
    functionLinenumber: 333
    functionLinenumberEnd: 342
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getByteArray(int)"
    - "[com.drew.lang.ByteArrayReader].<init>(byte[])"
    - "[com.drew.lang.ByteArrayReader].getByte(int)"
    - "[java.lang.String].<init>(byte[],java.lang.String)"
    - "[com.drew.lang.ByteArrayReader].getBytes(int,int)"
    - "[com.drew.lang.RandomAccessReader].getByte(int)"
    - "[com.drew.lang.RandomAccessReader].getBytes(int,int)"
    functionUses: 1
    ICount: 17
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "com.drew.metadata.photoshop.PhotoshopDescriptor:335"
      Branch Sides:
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopDescriptor:337"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopDescriptor:336"
        BranchSideFuncs:
        - "getBytes(int,int)"
        - "<init>(byte[],java.lang.String)"
        - "<init>(byte[])"
        - "getByte(int)"
    Callsites:
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:334,1"
      Dst: "[com.drew.metadata.Directory].getByteArray(int)"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:337,1"
      Dst: "[com.drew.lang.ByteArrayReader].<init>(byte[])"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:338,1"
      Dst: "[com.drew.lang.RandomAccessReader].getByte(int)"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:339,1"
      Dst: "[com.drew.lang.RandomAccessReader].getBytes(int,int)"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:339,1"
      Dst: "[java.lang.String].<init>(byte[],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: 4
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.photoshop.PhotoshopDescriptor].getPathString(int)"
    functionSourceFile: "com.drew.metadata.photoshop.PhotoshopDescriptor"
    linkageType: ""
    functionLinenumber: 348
    functionLinenumberEnd: 486
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getByteArray(int)"
    - "[com.drew.lang.ByteArrayReader].<init>(byte[])"
    - "[com.drew.lang.ByteArrayReader].getByte(int)"
    - "[com.drew.lang.ByteArrayReader].getLength()"
    - "[com.drew.metadata.photoshop.Subpath].<init>()"
    - "[java.util.ArrayList].<init>()"
    - "[com.drew.lang.RandomAccessReader].getInt16(int)"
    - "[com.drew.metadata.photoshop.Subpath].size()"
    - "[java.util.ArrayList].add(java.lang.Object)"
    - "[com.drew.metadata.photoshop.Subpath].<init>(java.lang.String)"
    - "[com.drew.metadata.photoshop.Knot].<init>(java.lang.String)"
    - "[com.drew.lang.RandomAccessReader].getInt24(int)"
    - "[com.drew.lang.RandomAccessReader].getInt8(int)"
    - "[java.lang.Math].pow(double,double)"
    - "[com.drew.metadata.photoshop.Knot].setPoint(int,double)"
    - "[com.drew.metadata.photoshop.Subpath].add(com.drew.metadata.photoshop.Knot)"
    - "[com.drew.lang.RandomAccessReader].getString(int,int,java.nio.charset.Charset)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(int)"
    - "[java.util.ArrayList].size()"
    - "[com.adobe.internal.xmp.impl.XMPNode$1].hasNext()"
    - "[jdk.internal.module.ModuleBootstrap$2].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIterator].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIteratorChildren].hasNext()"
    - "[java.nio.file.FileTreeIterator].hasNext()"
    - "[java.nio.file.Files$2].hasNext()"
    - "[java.io.BufferedReader$1].hasNext()"
    - "[java.util.ArrayList].iterator()"
    - "[java.io.BufferedReader$1].next()"
    - "[jdk.internal.module.ModuleBootstrap$2].next()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIterator].next()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl].next()"
    - "[com.adobe.internal.xmp.impl.XMPNode$1].next()"
    - "[java.nio.file.Files$2].next()"
    - "[java.nio.file.FileTreeIterator].next()"
    - "[com.drew.metadata.photoshop.Subpath].getType()"
    - "[com.drew.metadata.photoshop.Subpath].getKnots()"
    - "[java.util.concurrent.ConcurrentHashMap$EntrySetView].iterator()"
    - "[java.util.concurrent.CopyOnWriteArrayList].iterator()"
    - "[java.util.concurrent.LinkedBlockingQueue].iterator()"
    - "[java.util.ServiceLoader].iterator()"
    - "[java.util.ArrayDeque].iterator()"
    - "[java.util.AbstractSequentialList].iterator()"
    - "[java.util.TreeSet].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$KeySetView].iterator()"
    - "[java.util.Vector].iterator()"
    - "[java.util.HashSet].iterator()"
    - "[java.util.AbstractList].iterator()"
    - "[java.util.TreeMap$EntrySet].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$ValuesView].iterator()"
    - "[java.util.TreeMap$KeySet].iterator()"
    - "[java.nio.file.Path].iterator()"
    - "[com.drew.metadata.photoshop.Knot].getType()"
    - "[java.lang.StringBuilder].append(double)"
    - "[com.drew.metadata.photoshop.Knot].getPoint(int)"
    - "[java.lang.StringBuilder].toString()"
    - "[com.drew.lang.RandomAccessReader].getLength()"
    - "[com.drew.lang.RandomAccessReader].getByte(int)"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.lang.Iterable].iterator()"
    functionUses: 1
    ICount: 210
    EdgeCount: 131
    BranchProfiles:
    - Branch String: "com.drew.metadata.photoshop.PhotoshopDescriptor:350"
      Branch Sides:
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopDescriptor:352"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopDescriptor:351"
        BranchSideFuncs:
        - "<init>(byte[])"
    - Branch String: "com.drew.metadata.photoshop.PhotoshopDescriptor:364"
      Branch Sides:
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopDescriptor:452"
        BranchSideFuncs:
        - "hasNext()"
        - "getInt8(int)"
        - "append(java.lang.String)"
        - "getPoint(int)"
        - "getInt16(int)"
        - "next()"
        - "pow(double,double)"
        - "getInt24(int)"
        - "append(char)"
        - "<init>()"
        - "getType()"
        - "getLength()"
        - "<init>(byte[])"
        - "getByte(int)"
        - "add(com.drew.metadata.photoshop.Knot)"
        - "add(java.lang.Object)"
        - "getString(int,int,java.nio.charset.Charset)"
        - "toString()"
        - "append(double)"
        - "append(int)"
        - "setPoint(int,double)"
        - "iterator()"
        - "getKnots()"
        - "<init>(java.lang.String)"
        - "size()"
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopDescriptor:451"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.photoshop.PhotoshopDescriptor:388"
      Branch Sides:
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopDescriptor:393"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopDescriptor:392"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.photoshop.PhotoshopDescriptor:399"
      Branch Sides:
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopDescriptor:402"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopDescriptor:401"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.photoshop.PhotoshopDescriptor:404"
      Branch Sides:
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopDescriptor:407"
        BranchSideFuncs:
        - "hasNext()"
        - "getInt8(int)"
        - "append(java.lang.String)"
        - "getPoint(int)"
        - "getInt16(int)"
        - "next()"
        - "pow(double,double)"
        - "getInt24(int)"
        - "append(char)"
        - "<init>()"
        - "getType()"
        - "getLength()"
        - "<init>(byte[])"
        - "getByte(int)"
        - "add(com.drew.metadata.photoshop.Knot)"
        - "add(java.lang.Object)"
        - "getString(int,int,java.nio.charset.Charset)"
        - "toString()"
        - "append(double)"
        - "append(int)"
        - "setPoint(int,double)"
        - "iterator()"
        - "getKnots()"
        - "<init>(java.lang.String)"
        - "size()"
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopDescriptor:406"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.photoshop.PhotoshopDescriptor:412"
      Branch Sides:
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopDescriptor:417"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopDescriptor:416"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.photoshop.PhotoshopDescriptor:423"
      Branch Sides:
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopDescriptor:426"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopDescriptor:425"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
    - Branch String: "com.drew.metadata.photoshop.PhotoshopDescriptor:428"
      Branch Sides:
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopDescriptor:431"
        BranchSideFuncs:
        - "hasNext()"
        - "getInt8(int)"
        - "append(java.lang.String)"
        - "getPoint(int)"
        - "getInt16(int)"
        - "next()"
        - "pow(double,double)"
        - "getInt24(int)"
        - "append(char)"
        - "<init>()"
        - "getType()"
        - "getLength()"
        - "<init>(byte[])"
        - "getByte(int)"
        - "add(com.drew.metadata.photoshop.Knot)"
        - "add(java.lang.Object)"
        - "getString(int,int,java.nio.charset.Charset)"
        - "toString()"
        - "append(double)"
        - "append(int)"
        - "setPoint(int,double)"
        - "iterator()"
        - "getKnots()"
        - "<init>(java.lang.String)"
        - "size()"
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopDescriptor:430"
        BranchSideFuncs:
        - "add(com.drew.metadata.photoshop.Knot)"
    - Branch String: "com.drew.metadata.photoshop.PhotoshopDescriptor:443"
      Branch Sides:
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopDescriptor:351"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopDescriptor:350"
        BranchSideFuncs:
        - "hasNext()"
        - "getInt8(int)"
        - "append(java.lang.String)"
        - "getPoint(int)"
        - "getInt16(int)"
        - "next()"
        - "pow(double,double)"
        - "getInt24(int)"
        - "append(char)"
        - "<init>()"
        - "getType()"
        - "getLength()"
        - "<init>(byte[])"
        - "getByte(int)"
        - "add(com.drew.metadata.photoshop.Knot)"
        - "add(java.lang.Object)"
        - "getString(int,int,java.nio.charset.Charset)"
        - "toString()"
        - "append(double)"
        - "append(int)"
        - "setPoint(int,double)"
        - "iterator()"
        - "getKnots()"
        - "<init>(java.lang.String)"
        - "size()"
    - Branch String: "com.drew.metadata.photoshop.PhotoshopDescriptor:452"
      Branch Sides:
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopDescriptor:454"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopDescriptor:453"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.photoshop.PhotoshopDescriptor:454"
      Branch Sides:
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopDescriptor:458"
        BranchSideFuncs:
        - "add(java.lang.Object)"
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopDescriptor:457"
        BranchSideFuncs:
        - "append(char)"
        - "<init>()"
        - "getLength()"
        - "getByte(int)"
        - "getString(int,int,java.nio.charset.Charset)"
    - Branch String: "com.drew.metadata.photoshop.PhotoshopDescriptor:467"
      Branch Sides:
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopDescriptor:470"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopDescriptor:469"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.photoshop.PhotoshopDescriptor:470"
      Branch Sides:
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopDescriptor:470"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopDescriptor:469"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.photoshop.PhotoshopDescriptor:472"
      Branch Sides:
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopDescriptor:483"
        BranchSideFuncs:
        - "append(int)"
        - "size()"
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopDescriptor:482"
        BranchSideFuncs:
        - "toString()"
    - Branch String: "com.drew.metadata.photoshop.PhotoshopDescriptor:473"
      Branch Sides:
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopDescriptor:472"
        BranchSideFuncs:
        - "hasNext()"
        - "next()"
        - "append(int)"
        - "iterator()"
        - "getKnots()"
        - "size()"
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopDescriptor:471"
        BranchSideFuncs:
        - "append(int)"
        - "size()"
    - Branch String: "com.drew.metadata.photoshop.PhotoshopDescriptor:475"
      Branch Sides:
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopDescriptor:481"
        BranchSideFuncs:
        - "hasNext()"
        - "append(java.lang.String)"
        - "getPoint(int)"
        - "next()"
        - "getType()"
        - "append(double)"
        - "iterator()"
        - "getKnots()"
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopDescriptor:480"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:349,1"
      Dst: "[com.drew.metadata.Directory].getByteArray(int)"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:352,1"
      Dst: "[com.drew.lang.ByteArrayReader].<init>(byte[])"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:353,1"
      Dst: "[com.drew.lang.RandomAccessReader].getLength()"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:353,1"
      Dst: "[com.drew.lang.RandomAccessReader].getByte(int)"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:358,1"
      Dst: "[com.drew.metadata.photoshop.Subpath].<init>()"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:361,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:367,1"
      Dst: "[com.drew.lang.RandomAccessReader].getInt16(int)"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:388,1"
      Dst: "[com.drew.metadata.photoshop.Subpath].size()"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:389,1"
      Dst: "[java.util.ArrayList].add(java.lang.Object)"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:393,1"
      Dst: "[com.drew.metadata.photoshop.Subpath].<init>(java.lang.String)"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:400,1"
      Dst: "[com.drew.metadata.photoshop.Knot].<init>(java.lang.String)"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:405,1"
      Dst: "[com.drew.lang.RandomAccessReader].getInt8(int)"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:405,1"
      Dst: "[com.drew.lang.RandomAccessReader].getInt24(int)"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:405,1"
      Dst: "[java.lang.Math].pow(double,double)"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:405,1"
      Dst: "[com.drew.metadata.photoshop.Knot].setPoint(int,double)"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:407,1"
      Dst: "[com.drew.metadata.photoshop.Subpath].add(com.drew.metadata.photoshop.Knot)"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:459,1"
      Dst: "[com.drew.lang.RandomAccessReader].getString(int,int,java.nio.charset.Charset)"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:462,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:464,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:464,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:470,1"
      Dst: "[java.util.ArrayList].size()"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:470,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:472,1"
      Dst: "[java.util.ArrayList].iterator()"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:472,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:472,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:473,1"
      Dst: "[com.drew.metadata.photoshop.Subpath].getType()"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:475,1"
      Dst: "[com.drew.metadata.photoshop.Subpath].getKnots()"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:475,1"
      Dst: "[java.lang.Iterable].iterator()"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:476,1"
      Dst: "[com.drew.metadata.photoshop.Knot].getType()"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:477,1"
      Dst: "[com.drew.metadata.photoshop.Knot].getPoint(int)"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:477,1"
      Dst: "[java.lang.StringBuilder].append(double)"
    - Src: "com.drew.metadata.photoshop.PhotoshopDescriptor:483,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: 51
    CyclomaticComplexity: 22
  - functionName: "[com.drew.metadata.photoshop.Knot].<init>(java.lang.String)"
    functionSourceFile: "com.drew.metadata.photoshop.Knot"
    linkageType: ""
    functionLinenumber: 19
    functionLinenumberEnd: 23
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 4
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.photoshop.Knot:20,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: "[com.drew.metadata.photoshop.Knot].setPoint(int,double)"
    functionSourceFile: "com.drew.metadata.photoshop.Knot"
    linkageType: ""
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "int"
    - "double"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 6
    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: "[com.drew.metadata.photoshop.Knot].getType()"
    functionSourceFile: "com.drew.metadata.photoshop.Knot"
    linkageType: ""
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionDepth: 0
    returnType: "java.lang.String"
    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: "[com.drew.metadata.photoshop.Knot].getPoint(int)"
    functionSourceFile: "com.drew.metadata.photoshop.Knot"
    linkageType: ""
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionDepth: 0
    returnType: "double"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 6
    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: "[com.drew.metadata.mov.media.QuickTimeTextHandler].createDirectory()"
    functionSourceFile: "com.drew.metadata.mov.media.QuickTimeTextHandler"
    linkageType: ""
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionDepth: 4
    returnType: "com.drew.metadata.mov.media.QuickTimeTextDirectory"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mov.media.QuickTimeTextDirectory].<init>()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.media.QuickTimeTextHandler:48,1"
      Dst: "[com.drew.metadata.mov.media.QuickTimeTextDirectory].<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: "[com.drew.metadata.mov.media.QuickTimeTextHandler].getMediaInformation()"
    functionSourceFile: "com.drew.metadata.mov.media.QuickTimeTextHandler"
    linkageType: ""
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 2
    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: "[com.drew.metadata.mov.media.QuickTimeTextHandler].processSampleDescription(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
    functionSourceFile: "com.drew.metadata.mov.media.QuickTimeTextHandler"
    linkageType: ""
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "com.drew.metadata.mov.atoms.Atom"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mov.atoms.TextSampleDescriptionAtom].<init>(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
    - "[com.drew.metadata.mov.atoms.TextSampleDescriptionAtom].addMetadata(com.drew.metadata.mov.media.QuickTimeTextDirectory)"
    functionUses: 1
    ICount: 9
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.media.QuickTimeTextHandler:60,1"
      Dst: "[com.drew.metadata.mov.atoms.TextSampleDescriptionAtom].<init>(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
    - Src: "com.drew.metadata.mov.media.QuickTimeTextHandler:61,1"
      Dst: "[com.drew.metadata.mov.atoms.TextSampleDescriptionAtom].addMetadata(com.drew.metadata.mov.media.QuickTimeTextDirectory)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.mov.media.QuickTimeTextHandler].processMediaInformation(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
    functionSourceFile: "com.drew.metadata.mov.media.QuickTimeTextHandler"
    linkageType: ""
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "com.drew.metadata.mov.atoms.Atom"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    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: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.mov.media.QuickTimeTextHandler].processTimeToSample(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom,com.drew.metadata.mov.QuickTimeContext)"
    functionSourceFile: "com.drew.metadata.mov.media.QuickTimeTextHandler"
    linkageType: ""
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "com.drew.metadata.mov.atoms.Atom"
    - "com.drew.metadata.mov.QuickTimeContext"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 5
    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: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.AppleRunTimeMakernoteDirectory].getName()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.AppleRunTimeMakernoteDirectory"
    linkageType: ""
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.exif.makernotes.AppleRunTimeMakernoteDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.AppleRunTimeMakernoteDirectory"
    linkageType: ""
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.imaging.ImageMetadataReader].readMetadata(java.io.File)"
    functionSourceFile: "com.drew.imaging.ImageMetadataReader"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 14
    returnType: "com.drew.metadata.Metadata"
    argCount: 1
    argTypes:
    - "java.io.File"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.FileInputStream].<init>(java.io.File)"
    - "[java.io.File].length()"
    - "[com.drew.imaging.ImageMetadataReader].readMetadata(java.io.InputStream,long)"
    - "[java.io.InputStream].close()"
    - "[com.drew.metadata.file.FileSystemMetadataReader].<init>()"
    - "[com.drew.metadata.file.FileSystemMetadataReader].read(java.io.File,com.drew.metadata.Metadata)"
    functionUses: 0
    ICount: 14
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.ImageMetadataReader:202,1"
      Dst: "[java.io.FileInputStream].<init>(java.io.File)"
    - Src: "com.drew.imaging.ImageMetadataReader:205,1"
      Dst: "[java.io.File].length()"
    - Src: "com.drew.imaging.ImageMetadataReader:205,1"
      Dst: "[com.drew.imaging.ImageMetadataReader].readMetadata(java.io.InputStream,long)"
    - Src: "com.drew.imaging.ImageMetadataReader:207,1"
      Dst: "[java.io.InputStream].close()"
    - Src: "com.drew.imaging.ImageMetadataReader:209,1"
      Dst: "[com.drew.metadata.file.FileSystemMetadataReader].<init>()"
    - Src: "com.drew.imaging.ImageMetadataReader:209,1"
      Dst: "[com.drew.metadata.file.FileSystemMetadataReader].read(java.io.File,com.drew.metadata.Metadata)"
    JavaMethodInfo:
      exceptions:
      - "com.drew.imaging.ImageProcessingException"
      - "java.io.IOException"
      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: "[com.drew.imaging.ImageMetadataReader].<init>()"
    functionSourceFile: "com.drew.imaging.ImageMetadataReader"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.lang.Exception].<init>(java.lang.String)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.ImageMetadataReader:214,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.drew.imaging.ImageMetadataReader:215,1"
      Dst: "[java.lang.Exception].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions:
      - "java.lang.Exception"
      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: "[com.drew.metadata.mov.atoms.VideoSampleDescriptionAtom].getSampleDescription(com.drew.lang.SequentialReader)"
    functionSourceFile: "com.drew.metadata.mov.atoms.VideoSampleDescriptionAtom"
    linkageType: ""
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionDepth: 2
    returnType: "com.drew.metadata.mov.atoms.VideoSampleDescriptionAtom$VideoSampleDescription"
    argCount: 1
    argTypes:
    - "com.drew.lang.SequentialReader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mov.atoms.VideoSampleDescriptionAtom$VideoSampleDescription].<init>(com.drew.lang.SequentialReader)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.atoms.VideoSampleDescriptionAtom:46,1"
      Dst: "[com.drew.metadata.mov.atoms.VideoSampleDescriptionAtom$VideoSampleDescription].<init>(com.drew.lang.SequentialReader)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.exif.makernotes.NikonPictureControl1Directory].getName()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.NikonPictureControl1Directory"
    linkageType: ""
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.exif.makernotes.NikonPictureControl1Directory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.NikonPictureControl1Directory"
    linkageType: ""
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.mp4.Mp4BoxHandler].getDirectory()"
    functionSourceFile: "com.drew.metadata.mp4.Mp4BoxHandler"
    linkageType: ""
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionDepth: 3
    returnType: "com.drew.metadata.mp4.Mp4Directory"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mp4.Mp4Directory].<init>()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mp4.Mp4BoxHandler:56,1"
      Dst: "[com.drew.metadata.mp4.Mp4Directory].<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: "[com.drew.metadata.mp4.Mp4Descriptor].<init>(com.drew.metadata.mp4.Mp4Directory)"
    functionSourceFile: "com.drew.metadata.mp4.Mp4Descriptor"
    linkageType: ""
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.mp4.Mp4Directory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mp4.Mp4Descriptor:36,1"
      Dst: "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    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: "[com.drew.metadata.mp4.Mp4BoxHandler].shouldAcceptBox(java.lang.String)"
    functionSourceFile: "com.drew.metadata.mp4.Mp4BoxHandler"
    linkageType: ""
    functionLinenumber: 61
    functionLinenumberEnd: 69
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].equals(java.lang.Object)"
    functionUses: 1
    ICount: 20
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "com.drew.metadata.mp4.Mp4BoxHandler:62"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mp4.Mp4BoxHandler:62"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.mp4.Mp4BoxHandler:61"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mp4.Mp4BoxHandler:63"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mp4.Mp4BoxHandler:62"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.mp4.Mp4BoxHandler:61"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mp4.Mp4BoxHandler:64"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mp4.Mp4BoxHandler:62"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.mp4.Mp4BoxHandler:61"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mp4.Mp4BoxHandler:65"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mp4.Mp4BoxHandler:62"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.mp4.Mp4BoxHandler:61"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mp4.Mp4BoxHandler:66"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mp4.Mp4BoxHandler:62"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.mp4.Mp4BoxHandler:61"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mp4.Mp4BoxHandler:67"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mp4.Mp4BoxHandler:62"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
      - BranchSide: "com.drew.metadata.mp4.Mp4BoxHandler:61"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mp4.Mp4BoxHandler:68"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mp4.Mp4BoxHandler:61"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.mp4.Mp4BoxHandler:62,1"
      Dst: "[java.lang.String].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: 10
    CyclomaticComplexity: 8
  - functionName: "[com.drew.metadata.mp4.Mp4BoxHandler].shouldAcceptContainer(java.lang.String)"
    functionSourceFile: "com.drew.metadata.mp4.Mp4BoxHandler"
    linkageType: ""
    functionLinenumber: 73
    functionLinenumberEnd: 78
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].equals(java.lang.Object)"
    functionUses: 1
    ICount: 14
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.drew.metadata.mp4.Mp4BoxHandler:74"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mp4.Mp4BoxHandler:74"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.mp4.Mp4BoxHandler:73"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mp4.Mp4BoxHandler:75"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mp4.Mp4BoxHandler:74"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.mp4.Mp4BoxHandler:73"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mp4.Mp4BoxHandler:76"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mp4.Mp4BoxHandler:74"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
      - BranchSide: "com.drew.metadata.mp4.Mp4BoxHandler:73"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mp4.Mp4BoxHandler:77"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mp4.Mp4BoxHandler:73"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.mp4.Mp4BoxHandler:74,1"
      Dst: "[java.lang.String].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: 7
    CyclomaticComplexity: 5
  - functionName: "[com.drew.metadata.mp4.Mp4BoxHandler].processBox(java.lang.String,byte[],long,com.drew.metadata.mp4.Mp4Context)"
    functionSourceFile: "com.drew.metadata.mp4.Mp4BoxHandler"
    linkageType: ""
    functionLinenumber: 82
    functionLinenumberEnd: 136
    functionDepth: 8
    returnType: "com.drew.imaging.mp4.Mp4Handler<?>"
    argCount: 4
    argTypes:
    - "java.lang.String"
    - "byte[]"
    - "long"
    - "com.drew.metadata.mp4.Mp4Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.SequentialByteArrayReader].<init>(byte[])"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[com.drew.metadata.mp4.Mp4BoxHandler].processMovieHeader(com.drew.lang.SequentialReader)"
    - "[com.drew.metadata.mp4.Mp4BoxHandler].processFileType(com.drew.lang.SequentialReader,long)"
    - "[com.drew.lang.SequentialByteArrayReader].skip(long)"
    - "[com.drew.lang.SequentialReader].getString(int)"
    - "[java.nio.charset.Charset].defaultCharset()"
    - "[com.drew.lang.SequentialReader].getNullTerminatedString(int,java.nio.charset.Charset,boolean)"
    - "[com.drew.metadata.mp4.media.Mp4SoundHandler].<init>(com.drew.metadata.Metadata,com.drew.metadata.mp4.Mp4Context)"
    - "[com.drew.metadata.mp4.media.Mp4VideoHandler].<init>(com.drew.metadata.Metadata,com.drew.metadata.mp4.Mp4Context)"
    - "[com.drew.metadata.mp4.media.Mp4HintHandler].<init>(com.drew.metadata.Metadata,com.drew.metadata.mp4.Mp4Context)"
    - "[com.drew.metadata.mp4.media.Mp4TextHandler].<init>(com.drew.metadata.Metadata,com.drew.metadata.mp4.Mp4Context)"
    - "[com.drew.metadata.mp4.media.Mp4MetaHandler].<init>(com.drew.metadata.Metadata,com.drew.metadata.mp4.Mp4Context)"
    - "[com.drew.metadata.mp4.Mp4BoxHandler].processMediaHeader(com.drew.lang.SequentialReader,com.drew.metadata.mp4.Mp4Context)"
    - "[com.drew.metadata.mp4.Mp4BoxHandler].processTrackHeader(com.drew.lang.SequentialReader)"
    - "[com.drew.metadata.mp4.media.Mp4UuidBoxHandler].<init>(com.drew.metadata.Metadata)"
    - "[com.drew.metadata.mp4.media.Mp4UuidBoxHandler].processBox(java.lang.String,byte[],long,com.drew.metadata.mp4.Mp4Context)"
    - "[com.drew.metadata.mp4.Mp4BoxHandler].processUserData(com.drew.lang.SequentialReader,int)"
    - "[com.drew.metadata.Directory].addError(java.lang.String)"
    - "[com.drew.lang.SequentialReader].skip(long)"
    functionUses: 2
    ICount: 82
    EdgeCount: 33
    BranchProfiles:
    - Branch String: "com.drew.metadata.mp4.Mp4BoxHandler:83"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mp4.Mp4BoxHandler:131"
        BranchSideFuncs:
        - "<init>(byte[])"
      - BranchSide: "com.drew.metadata.mp4.Mp4BoxHandler:130"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "com.drew.metadata.mp4.Mp4BoxHandler:85"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mp4.Mp4BoxHandler:87"
        BranchSideFuncs:
        - "processMovieHeader(com.drew.lang.SequentialReader)"
      - BranchSide: "com.drew.metadata.mp4.Mp4BoxHandler:86"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mp4.Mp4BoxHandler:87"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mp4.Mp4BoxHandler:89"
        BranchSideFuncs:
        - "processFileType(com.drew.lang.SequentialReader,long)"
      - BranchSide: "com.drew.metadata.mp4.Mp4BoxHandler:88"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mp4.Mp4BoxHandler:89"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mp4.Mp4BoxHandler:119"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mp4.Mp4BoxHandler:108"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mp4.Mp4BoxHandler:110"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.mp4.Mp4BoxHandler:109"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mp4.Mp4BoxHandler:110"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mp4.Mp4BoxHandler:112"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.mp4.Mp4BoxHandler:111"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mp4.Mp4BoxHandler:112"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mp4.Mp4BoxHandler:114"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.mp4.Mp4BoxHandler:113"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mp4.Mp4BoxHandler:114"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mp4.Mp4BoxHandler:116"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.mp4.Mp4BoxHandler:115"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mp4.Mp4BoxHandler:116"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mp4.Mp4BoxHandler:119"
        BranchSideFuncs:
        - "<init>(com.drew.metadata.Metadata,com.drew.metadata.mp4.Mp4Context)"
      - BranchSide: "com.drew.metadata.mp4.Mp4BoxHandler:118"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mp4.Mp4BoxHandler:120"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mp4.Mp4BoxHandler:122"
        BranchSideFuncs:
        - "processMediaHeader(com.drew.lang.SequentialReader,com.drew.metadata.mp4.Mp4Context)"
      - BranchSide: "com.drew.metadata.mp4.Mp4BoxHandler:121"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mp4.Mp4BoxHandler:122"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mp4.Mp4BoxHandler:124"
        BranchSideFuncs:
        - "processTrackHeader(com.drew.lang.SequentialReader)"
      - BranchSide: "com.drew.metadata.mp4.Mp4BoxHandler:123"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mp4.Mp4BoxHandler:124"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mp4.Mp4BoxHandler:124"
        BranchSideFuncs:
        - "processBox(java.lang.String,byte[],long,com.drew.metadata.mp4.Mp4Context)"
        - "<init>(com.drew.metadata.Metadata)"
      - BranchSide: "com.drew.metadata.mp4.Mp4BoxHandler:123"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mp4.Mp4BoxHandler:124"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mp4.Mp4BoxHandler:130"
        BranchSideFuncs:
        - "processBox(java.lang.String,byte[],long,com.drew.metadata.mp4.Mp4Context)"
        - "<init>(com.drew.metadata.Metadata)"
      - BranchSide: "com.drew.metadata.mp4.Mp4BoxHandler:129"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mp4.Mp4BoxHandler:131"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mp4.Mp4BoxHandler:135"
        BranchSideFuncs:
        - "addError(java.lang.String)"
      - BranchSide: "com.drew.metadata.mp4.Mp4BoxHandler:134"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.mp4.Mp4BoxHandler:84,1"
      Dst: "[com.drew.lang.SequentialByteArrayReader].<init>(byte[])"
    - Src: "com.drew.metadata.mp4.Mp4BoxHandler:85,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "com.drew.metadata.mp4.Mp4BoxHandler:86,1"
      Dst: "[com.drew.metadata.mp4.Mp4BoxHandler].processMovieHeader(com.drew.lang.SequentialReader)"
    - Src: "com.drew.metadata.mp4.Mp4BoxHandler:88,1"
      Dst: "[com.drew.metadata.mp4.Mp4BoxHandler].processFileType(com.drew.lang.SequentialReader,long)"
    - Src: "com.drew.metadata.mp4.Mp4BoxHandler:93,1"
      Dst: "[com.drew.lang.SequentialReader].skip(long)"
    - Src: "com.drew.metadata.mp4.Mp4BoxHandler:98,1"
      Dst: "[com.drew.lang.SequentialReader].getString(int)"
    - Src: "com.drew.metadata.mp4.Mp4BoxHandler:100,1"
      Dst: "[java.nio.charset.Charset].defaultCharset()"
    - Src: "com.drew.metadata.mp4.Mp4BoxHandler:100,1"
      Dst: "[com.drew.lang.SequentialReader].getNullTerminatedString(int,java.nio.charset.Charset,boolean)"
    - Src: "com.drew.metadata.mp4.Mp4BoxHandler:109,1"
      Dst: "[com.drew.metadata.mp4.media.Mp4SoundHandler].<init>(com.drew.metadata.Metadata,com.drew.metadata.mp4.Mp4Context)"
    - Src: "com.drew.metadata.mp4.Mp4BoxHandler:111,1"
      Dst: "[com.drew.metadata.mp4.media.Mp4VideoHandler].<init>(com.drew.metadata.Metadata,com.drew.metadata.mp4.Mp4Context)"
    - Src: "com.drew.metadata.mp4.Mp4BoxHandler:113,1"
      Dst: "[com.drew.metadata.mp4.media.Mp4HintHandler].<init>(com.drew.metadata.Metadata,com.drew.metadata.mp4.Mp4Context)"
    - Src: "com.drew.metadata.mp4.Mp4BoxHandler:115,1"
      Dst: "[com.drew.metadata.mp4.media.Mp4TextHandler].<init>(com.drew.metadata.Metadata,com.drew.metadata.mp4.Mp4Context)"
    - Src: "com.drew.metadata.mp4.Mp4BoxHandler:117,1"
      Dst: "[com.drew.metadata.mp4.media.Mp4MetaHandler].<init>(com.drew.metadata.Metadata,com.drew.metadata.mp4.Mp4Context)"
    - Src: "com.drew.metadata.mp4.Mp4BoxHandler:121,1"
      Dst: "[com.drew.metadata.mp4.Mp4BoxHandler].processMediaHeader(com.drew.lang.SequentialReader,com.drew.metadata.mp4.Mp4Context)"
    - Src: "com.drew.metadata.mp4.Mp4BoxHandler:123,1"
      Dst: "[com.drew.metadata.mp4.Mp4BoxHandler].processTrackHeader(com.drew.lang.SequentialReader)"
    - Src: "com.drew.metadata.mp4.Mp4BoxHandler:125,1"
      Dst: "[com.drew.metadata.mp4.media.Mp4UuidBoxHandler].<init>(com.drew.metadata.Metadata)"
    - Src: "com.drew.metadata.mp4.Mp4BoxHandler:126,1"
      Dst: "[com.drew.metadata.mp4.media.Mp4UuidBoxHandler].processBox(java.lang.String,byte[],long,com.drew.metadata.mp4.Mp4Context)"
    - Src: "com.drew.metadata.mp4.Mp4BoxHandler:128,1"
      Dst: "[com.drew.metadata.mp4.Mp4BoxHandler].processUserData(com.drew.lang.SequentialReader,int)"
    - Src: "com.drew.metadata.mp4.Mp4BoxHandler:132,1"
      Dst: "[com.drew.metadata.Directory].addError(java.lang.String)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 29
    CyclomaticComplexity: 9
  - functionName: "[com.drew.metadata.mp4.Mp4BoxHandler].processMovieHeader(com.drew.lang.SequentialReader)"
    functionSourceFile: "com.drew.metadata.mp4.Mp4BoxHandler"
    linkageType: ""
    functionLinenumber: 195
    functionLinenumberEnd: 258
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.lang.SequentialReader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.SequentialReader].getUInt8()"
    - "[com.drew.lang.StreamReader].skip(long)"
    - "[com.drew.lang.SequentialByteArrayReader].skip(long)"
    - "[com.drew.lang.SequentialReader].getInt64()"
    - "[com.drew.lang.SequentialReader].getUInt32()"
    - "[com.drew.lang.SequentialReader].getInt32()"
    - "[com.drew.lang.SequentialReader].getInt16()"
    - "[com.drew.lang.DateUtil].get1Jan1904EpochDate(long)"
    - "[com.drew.metadata.Directory].setDate(int,java.util.Date)"
    - "[com.drew.metadata.Directory].setLong(int,long)"
    - "[com.drew.lang.Rational].<init>(long,long)"
    - "[com.drew.metadata.Directory].setRational(int,com.drew.lang.Rational)"
    - "[com.drew.metadata.Directory].setIntArray(int,int[])"
    - "[java.lang.Math].pow(double,double)"
    - "[com.drew.metadata.Directory].setDouble(int,double)"
    - "[com.drew.lang.SequentialReader].skip(long)"
    functionUses: 1
    ICount: 81
    EdgeCount: 43
    BranchProfiles:
    - Branch String: "com.drew.metadata.mp4.Mp4BoxHandler:205"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mp4.Mp4BoxHandler:211"
        BranchSideFuncs:
        - "getInt64()"
      - BranchSide: "com.drew.metadata.mp4.Mp4BoxHandler:210"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.mp4.Mp4BoxHandler:196,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt8()"
    - Src: "com.drew.metadata.mp4.Mp4BoxHandler:198,1"
      Dst: "[com.drew.lang.SequentialReader].skip(long)"
    - Src: "com.drew.metadata.mp4.Mp4BoxHandler:206,1"
      Dst: "[com.drew.lang.SequentialReader].getInt64()"
    - Src: "com.drew.metadata.mp4.Mp4BoxHandler:208,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt32()"
    - Src: "com.drew.metadata.mp4.Mp4BoxHandler:217,1"
      Dst: "[com.drew.lang.SequentialReader].getInt32()"
    - Src: "com.drew.metadata.mp4.Mp4BoxHandler:218,1"
      Dst: "[com.drew.lang.SequentialReader].getInt16()"
    - Src: "com.drew.metadata.mp4.Mp4BoxHandler:236,1"
      Dst: "[com.drew.lang.DateUtil].get1Jan1904EpochDate(long)"
    - Src: "com.drew.metadata.mp4.Mp4BoxHandler:236,1"
      Dst: "[com.drew.metadata.Directory].setDate(int,java.util.Date)"
    - Src: "com.drew.metadata.mp4.Mp4BoxHandler:240,1"
      Dst: "[com.drew.metadata.Directory].setLong(int,long)"
    - Src: "com.drew.metadata.mp4.Mp4BoxHandler:242,1"
      Dst: "[com.drew.lang.Rational].<init>(long,long)"
    - Src: "com.drew.metadata.mp4.Mp4BoxHandler:242,1"
      Dst: "[com.drew.metadata.Directory].setRational(int,com.drew.lang.Rational)"
    - Src: "com.drew.metadata.mp4.Mp4BoxHandler:244,1"
      Dst: "[com.drew.metadata.Directory].setIntArray(int,int[])"
    - Src: "com.drew.metadata.mp4.Mp4BoxHandler:248,1"
      Dst: "[java.lang.Math].pow(double,double)"
    - Src: "com.drew.metadata.mp4.Mp4BoxHandler:249,1"
      Dst: "[com.drew.metadata.Directory].setDouble(int,double)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.mp4.Mp4BoxHandler].processFileType(com.drew.lang.SequentialReader,long)"
    functionSourceFile: "com.drew.metadata.mp4.Mp4BoxHandler"
    linkageType: ""
    functionLinenumber: 177
    functionLinenumberEnd: 191
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.SequentialReader].getString(int)"
    - "[com.drew.lang.SequentialReader].getUInt32()"
    - "[java.util.ArrayList].<init>()"
    - "[java.util.ArrayList].add(java.lang.Object)"
    - "[com.drew.metadata.Directory].setString(int,java.lang.String)"
    - "[com.drew.metadata.Directory].setLong(int,long)"
    - "[com.drew.metadata.Directory].setStringArray(int,java.lang.String[])"
    - "[java.util.ArrayList].size()"
    - "[java.util.ArrayList].toArray(java.lang.Object[])"
    functionUses: 1
    ICount: 27
    EdgeCount: 10
    BranchProfiles:
    - Branch String: "com.drew.metadata.mp4.Mp4BoxHandler:183"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mp4.Mp4BoxHandler:186"
        BranchSideFuncs:
        - "setLong(int,long)"
        - "toArray(java.lang.Object[])"
        - "setString(int,java.lang.String)"
        - "setStringArray(int,java.lang.String[])"
        - "size()"
    Callsites:
    - Src: "com.drew.metadata.mp4.Mp4BoxHandler:178,1"
      Dst: "[com.drew.lang.SequentialReader].getString(int)"
    - Src: "com.drew.metadata.mp4.Mp4BoxHandler:179,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt32()"
    - Src: "com.drew.metadata.mp4.Mp4BoxHandler:182,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "com.drew.metadata.mp4.Mp4BoxHandler:184,1"
      Dst: "[java.util.ArrayList].add(java.lang.Object)"
    - Src: "com.drew.metadata.mp4.Mp4BoxHandler:187,1"
      Dst: "[com.drew.metadata.Directory].setString(int,java.lang.String)"
    - Src: "com.drew.metadata.mp4.Mp4BoxHandler:188,1"
      Dst: "[com.drew.metadata.Directory].setLong(int,long)"
    - Src: "com.drew.metadata.mp4.Mp4BoxHandler:189,1"
      Dst: "[java.util.ArrayList].size()"
    - Src: "com.drew.metadata.mp4.Mp4BoxHandler:189,1"
      Dst: "[java.util.ArrayList].toArray(java.lang.Object[])"
    - Src: "com.drew.metadata.mp4.Mp4BoxHandler:189,1"
      Dst: "[com.drew.metadata.Directory].setStringArray(int,java.lang.String[])"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.mp4.media.Mp4SoundHandler].<init>(com.drew.metadata.Metadata,com.drew.metadata.mp4.Mp4Context)"
    functionSourceFile: "com.drew.metadata.mp4.media.Mp4SoundHandler"
    linkageType: ""
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.metadata.Metadata"
    - "com.drew.metadata.mp4.Mp4Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mp4.Mp4MediaHandler].<init>(com.drew.metadata.Metadata,com.drew.metadata.mp4.Mp4Context)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mp4.media.Mp4SoundHandler:37,1"
      Dst: "[com.drew.metadata.mp4.Mp4MediaHandler].<init>(com.drew.metadata.Metadata,com.drew.metadata.mp4.Mp4Context)"
    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: "[com.drew.metadata.mp4.media.Mp4HintHandler].<init>(com.drew.metadata.Metadata,com.drew.metadata.mp4.Mp4Context)"
    functionSourceFile: "com.drew.metadata.mp4.media.Mp4HintHandler"
    linkageType: ""
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.metadata.Metadata"
    - "com.drew.metadata.mp4.Mp4Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mp4.Mp4MediaHandler].<init>(com.drew.metadata.Metadata,com.drew.metadata.mp4.Mp4Context)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mp4.media.Mp4HintHandler:36,1"
      Dst: "[com.drew.metadata.mp4.Mp4MediaHandler].<init>(com.drew.metadata.Metadata,com.drew.metadata.mp4.Mp4Context)"
    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: "[com.drew.metadata.mp4.media.Mp4TextHandler].<init>(com.drew.metadata.Metadata,com.drew.metadata.mp4.Mp4Context)"
    functionSourceFile: "com.drew.metadata.mp4.media.Mp4TextHandler"
    linkageType: ""
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.metadata.Metadata"
    - "com.drew.metadata.mp4.Mp4Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mp4.Mp4MediaHandler].<init>(com.drew.metadata.Metadata,com.drew.metadata.mp4.Mp4Context)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mp4.media.Mp4TextHandler:36,1"
      Dst: "[com.drew.metadata.mp4.Mp4MediaHandler].<init>(com.drew.metadata.Metadata,com.drew.metadata.mp4.Mp4Context)"
    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: "[com.drew.metadata.mp4.media.Mp4MetaHandler].<init>(com.drew.metadata.Metadata,com.drew.metadata.mp4.Mp4Context)"
    functionSourceFile: "com.drew.metadata.mp4.media.Mp4MetaHandler"
    linkageType: ""
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.metadata.Metadata"
    - "com.drew.metadata.mp4.Mp4Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mp4.Mp4MediaHandler].<init>(com.drew.metadata.Metadata,com.drew.metadata.mp4.Mp4Context)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mp4.media.Mp4MetaHandler:36,1"
      Dst: "[com.drew.metadata.mp4.Mp4MediaHandler].<init>(com.drew.metadata.Metadata,com.drew.metadata.mp4.Mp4Context)"
    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: "[com.drew.metadata.mp4.Mp4BoxHandler].processMediaHeader(com.drew.lang.SequentialReader,com.drew.metadata.mp4.Mp4Context)"
    functionSourceFile: "com.drew.metadata.mp4.Mp4BoxHandler"
    linkageType: ""
    functionLinenumber: 262
    functionLinenumberEnd: 290
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "com.drew.metadata.mp4.Mp4Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.SequentialReader].getUInt8()"
    - "[com.drew.lang.StreamReader].skip(long)"
    - "[com.drew.lang.SequentialByteArrayReader].skip(long)"
    - "[com.drew.lang.SequentialReader].getInt64()"
    - "[java.lang.Long].valueOf(long)"
    - "[com.drew.lang.SequentialReader].getInt32()"
    - "[com.drew.lang.SequentialReader].getUInt32()"
    - "[com.drew.lang.SequentialReader].getInt16()"
    - "[java.lang.String].<init>(char[])"
    - "[com.drew.lang.SequentialReader].skip(long)"
    functionUses: 1
    ICount: 55
    EdgeCount: 21
    BranchProfiles:
    - Branch String: "com.drew.metadata.mp4.Mp4BoxHandler:269"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mp4.Mp4BoxHandler:275"
        BranchSideFuncs:
        - "getInt32()"
        - "getInt64()"
      - BranchSide: "com.drew.metadata.mp4.Mp4BoxHandler:274"
        BranchSideFuncs:
        - "getUInt32()"
        - "valueOf(long)"
    Callsites:
    - Src: "com.drew.metadata.mp4.Mp4BoxHandler:263,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt8()"
    - Src: "com.drew.metadata.mp4.Mp4BoxHandler:265,1"
      Dst: "[com.drew.lang.SequentialReader].skip(long)"
    - Src: "com.drew.metadata.mp4.Mp4BoxHandler:270,1"
      Dst: "[com.drew.lang.SequentialReader].getInt64()"
    - Src: "com.drew.metadata.mp4.Mp4BoxHandler:270,1"
      Dst: "[java.lang.Long].valueOf(long)"
    - Src: "com.drew.metadata.mp4.Mp4BoxHandler:272,1"
      Dst: "[com.drew.lang.SequentialReader].getInt32()"
    - Src: "com.drew.metadata.mp4.Mp4BoxHandler:275,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt32()"
    - Src: "com.drew.metadata.mp4.Mp4BoxHandler:281,1"
      Dst: "[com.drew.lang.SequentialReader].getInt16()"
    - Src: "com.drew.metadata.mp4.Mp4BoxHandler:283,1"
      Dst: "[java.lang.String].<init>(char[])"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.mp4.Mp4BoxHandler].processTrackHeader(com.drew.lang.SequentialReader)"
    functionSourceFile: "com.drew.metadata.mp4.Mp4BoxHandler"
    linkageType: ""
    functionLinenumber: 294
    functionLinenumberEnd: 346
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.lang.SequentialReader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.SequentialReader].getUInt8()"
    - "[com.drew.lang.StreamReader].skip(long)"
    - "[com.drew.lang.SequentialByteArrayReader].skip(long)"
    - "[com.drew.lang.SequentialReader].getInt64()"
    - "[com.drew.lang.SequentialReader].getInt32()"
    - "[com.drew.lang.SequentialReader].getUInt32()"
    - "[com.drew.lang.SequentialReader].getInt16()"
    - "[com.drew.metadata.Directory].getDoubleObject(int)"
    - "[java.lang.Math].atan2(double,double)"
    - "[java.lang.Math].toDegrees(double)"
    - "[com.drew.metadata.Directory].setDouble(int,double)"
    - "[com.drew.lang.SequentialReader].skip(long)"
    functionUses: 1
    ICount: 53
    EdgeCount: 29
    BranchProfiles:
    - Branch String: "com.drew.metadata.mp4.Mp4BoxHandler:306"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mp4.Mp4BoxHandler:313"
        BranchSideFuncs:
        - "getInt64()"
      - BranchSide: "com.drew.metadata.mp4.Mp4BoxHandler:312"
        BranchSideFuncs:
        - "getUInt32()"
    - Branch String: "com.drew.metadata.mp4.Mp4BoxHandler:329"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mp4.Mp4BoxHandler:332"
        BranchSideFuncs:
        - "getInt32()"
        - "getDoubleObject(int)"
    - Branch String: "com.drew.metadata.mp4.Mp4BoxHandler:337"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mp4.Mp4BoxHandler:345"
        BranchSideFuncs:
        - "toDegrees(double)"
        - "atan2(double,double)"
        - "setDouble(int,double)"
      - BranchSide: "com.drew.metadata.mp4.Mp4BoxHandler:344"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mp4.Mp4BoxHandler:337"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mp4.Mp4BoxHandler:345"
        BranchSideFuncs:
        - "toDegrees(double)"
        - "atan2(double,double)"
        - "setDouble(int,double)"
      - BranchSide: "com.drew.metadata.mp4.Mp4BoxHandler:344"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mp4.Mp4BoxHandler:337"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mp4.Mp4BoxHandler:345"
        BranchSideFuncs:
        - "toDegrees(double)"
        - "atan2(double,double)"
        - "setDouble(int,double)"
      - BranchSide: "com.drew.metadata.mp4.Mp4BoxHandler:344"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.mp4.Mp4BoxHandler:295,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt8()"
    - Src: "com.drew.metadata.mp4.Mp4BoxHandler:297,1"
      Dst: "[com.drew.lang.SequentialReader].skip(long)"
    - Src: "com.drew.metadata.mp4.Mp4BoxHandler:307,1"
      Dst: "[com.drew.lang.SequentialReader].getInt64()"
    - Src: "com.drew.metadata.mp4.Mp4BoxHandler:309,1"
      Dst: "[com.drew.lang.SequentialReader].getInt32()"
    - Src: "com.drew.metadata.mp4.Mp4BoxHandler:313,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt32()"
    - Src: "com.drew.metadata.mp4.Mp4BoxHandler:322,1"
      Dst: "[com.drew.lang.SequentialReader].getInt16()"
    - Src: "com.drew.metadata.mp4.Mp4BoxHandler:337,1"
      Dst: "[com.drew.metadata.Directory].getDoubleObject(int)"
    - Src: "com.drew.metadata.mp4.Mp4BoxHandler:340,1"
      Dst: "[java.lang.Math].atan2(double,double)"
    - Src: "com.drew.metadata.mp4.Mp4BoxHandler:341,1"
      Dst: "[java.lang.Math].toDegrees(double)"
    - Src: "com.drew.metadata.mp4.Mp4BoxHandler:343,1"
      Dst: "[com.drew.metadata.Directory].setDouble(int,double)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.mp4.Mp4BoxHandler].processUserData(com.drew.lang.SequentialReader,int)"
    functionSourceFile: "com.drew.metadata.mp4.Mp4BoxHandler"
    linkageType: ""
    functionLinenumber: 143
    functionLinenumberEnd: 173
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.StreamReader].getPosition()"
    - "[com.drew.lang.SequentialByteArrayReader].getPosition()"
    - "[com.drew.lang.SequentialReader].getUInt32()"
    - "[com.drew.lang.SequentialReader].getInt32()"
    - "[com.drew.lang.SequentialReader].getUInt16()"
    - "[com.drew.lang.StreamReader].skip(long)"
    - "[com.drew.lang.SequentialByteArrayReader].skip(long)"
    - "[com.drew.lang.SequentialReader].getString(int,java.lang.String)"
    - "[java.util.regex.Pattern].matcher(java.lang.CharSequence)"
    - "[java.util.regex.Matcher].find()"
    - "[java.util.regex.Matcher].group(int)"
    - "[java.lang.Double].parseDouble(java.lang.String)"
    - "[com.drew.metadata.Directory].setDouble(int,double)"
    - "[com.drew.lang.SequentialReader].getPosition()"
    - "[com.drew.lang.SequentialReader].skip(long)"
    functionUses: 1
    ICount: 42
    EdgeCount: 18
    BranchProfiles:
    - Branch String: "com.drew.metadata.mp4.Mp4BoxHandler:146"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mp4.Mp4BoxHandler:162"
        BranchSideFuncs:
        - "getUInt32()"
      - BranchSide: "com.drew.metadata.mp4.Mp4BoxHandler:161"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mp4.Mp4BoxHandler:148"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mp4.Mp4BoxHandler:150"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.mp4.Mp4BoxHandler:149"
        BranchSideFuncs:
        - "getInt32()"
    - Branch String: "com.drew.metadata.mp4.Mp4BoxHandler:151"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mp4.Mp4BoxHandler:150"
        BranchSideFuncs:
        - "getString(int,java.lang.String)"
        - "getUInt16()"
      - BranchSide: "com.drew.metadata.mp4.Mp4BoxHandler:149"
        BranchSideFuncs:
        - "getInt32()"
    - Branch String: "com.drew.metadata.mp4.Mp4BoxHandler:151"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mp4.Mp4BoxHandler:158"
        BranchSideFuncs:
        - "getString(int,java.lang.String)"
        - "getUInt16()"
      - BranchSide: "com.drew.metadata.mp4.Mp4BoxHandler:157"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mp4.Mp4BoxHandler:162"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mp4.Mp4BoxHandler:172"
        BranchSideFuncs:
        - "find()"
        - "matcher(java.lang.CharSequence)"
      - BranchSide: "com.drew.metadata.mp4.Mp4BoxHandler:171"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mp4.Mp4BoxHandler:164"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mp4.Mp4BoxHandler:172"
        BranchSideFuncs:
        - "setDouble(int,double)"
        - "group(int)"
        - "parseDouble(java.lang.String)"
      - BranchSide: "com.drew.metadata.mp4.Mp4BoxHandler:171"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.mp4.Mp4BoxHandler:146,1"
      Dst: "[com.drew.lang.SequentialReader].getPosition()"
    - Src: "com.drew.metadata.mp4.Mp4BoxHandler:147,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt32()"
    - Src: "com.drew.metadata.mp4.Mp4BoxHandler:150,1"
      Dst: "[com.drew.lang.SequentialReader].getInt32()"
    - Src: "com.drew.metadata.mp4.Mp4BoxHandler:152,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt16()"
    - Src: "com.drew.metadata.mp4.Mp4BoxHandler:153,1"
      Dst: "[com.drew.lang.SequentialReader].skip(long)"
    - Src: "com.drew.metadata.mp4.Mp4BoxHandler:154,1"
      Dst: "[com.drew.lang.SequentialReader].getString(int,java.lang.String)"
    - Src: "com.drew.metadata.mp4.Mp4BoxHandler:163,1"
      Dst: "[java.util.regex.Pattern].matcher(java.lang.CharSequence)"
    - Src: "com.drew.metadata.mp4.Mp4BoxHandler:164,1"
      Dst: "[java.util.regex.Matcher].find()"
    - Src: "com.drew.metadata.mp4.Mp4BoxHandler:165,1"
      Dst: "[java.util.regex.Matcher].group(int)"
    - Src: "com.drew.metadata.mp4.Mp4BoxHandler:165,1"
      Dst: "[java.lang.Double].parseDouble(java.lang.String)"
    - Src: "com.drew.metadata.mp4.Mp4BoxHandler:168,1"
      Dst: "[com.drew.metadata.Directory].setDouble(int,double)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 14
    CyclomaticComplexity: 6
  - functionName: "[com.drew.imaging.png.PngColorType].getAllowedBitDepths()"
    functionSourceFile: "com.drew.imaging.png.PngColorType"
    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: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.heif.HeifPictureHandler].shouldAcceptBox(com.drew.metadata.heif.boxes.Box)"
    functionSourceFile: "com.drew.metadata.heif.HeifPictureHandler"
    linkageType: ""
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "com.drew.metadata.heif.boxes.Box"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.AbstractCollection:java.util.HashSet:java.util.TreeMap$EntrySet:java.util.TreeMap$KeySet:java.util.TreeSet:java.util.concurrent.ConcurrentHashMap$EntrySetView:java.util.concurrent.ConcurrentHashMap$KeySetView].contains(java.lang.Object)"
    - "[java.util.Set].contains(java.lang.Object)"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.heif.HeifPictureHandler:79,1"
      Dst: "[java.util.Set].contains(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: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.heif.HeifPictureHandler].shouldAcceptContainer(com.drew.metadata.heif.boxes.Box)"
    functionSourceFile: "com.drew.metadata.heif.HeifPictureHandler"
    linkageType: ""
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "com.drew.metadata.heif.boxes.Box"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.AbstractCollection:java.util.HashSet:java.util.TreeMap$EntrySet:java.util.TreeMap$KeySet:java.util.TreeSet:java.util.concurrent.ConcurrentHashMap$EntrySetView:java.util.concurrent.ConcurrentHashMap$KeySetView].contains(java.lang.Object)"
    - "[java.util.Set].contains(java.lang.Object)"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.heif.HeifPictureHandler:85,1"
      Dst: "[java.util.Set].contains(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: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.heif.HeifPictureHandler].processBox(com.drew.metadata.heif.boxes.Box,byte[])"
    functionSourceFile: "com.drew.metadata.heif.HeifPictureHandler"
    linkageType: ""
    functionLinenumber: 90
    functionLinenumberEnd: 117
    functionDepth: 6
    returnType: "com.drew.imaging.heif.HeifHandler<?>"
    argCount: 2
    argTypes:
    - "com.drew.metadata.heif.boxes.Box"
    - "byte[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.SequentialByteArrayReader].<init>(byte[])"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[com.drew.metadata.heif.boxes.ItemProtectionBox].<init>(com.drew.lang.SequentialReader,com.drew.metadata.heif.boxes.Box)"
    - "[com.drew.metadata.heif.boxes.PrimaryItemBox].<init>(com.drew.lang.SequentialReader,com.drew.metadata.heif.boxes.Box)"
    - "[com.drew.metadata.heif.boxes.ItemInfoBox].<init>(com.drew.lang.SequentialReader,com.drew.metadata.heif.boxes.Box)"
    - "[com.drew.metadata.heif.boxes.ItemInfoBox].addMetadata(com.drew.metadata.heif.HeifDirectory)"
    - "[com.drew.metadata.heif.boxes.ItemLocationBox].<init>(com.drew.lang.SequentialReader,com.drew.metadata.heif.boxes.Box)"
    - "[com.drew.metadata.heif.boxes.ImageSpatialExtentsProperty].<init>(com.drew.lang.SequentialReader,com.drew.metadata.heif.boxes.Box)"
    - "[com.drew.metadata.heif.boxes.ImageSpatialExtentsProperty].addMetadata(com.drew.metadata.heif.HeifDirectory)"
    - "[com.drew.metadata.heif.boxes.AuxiliaryTypeProperty].<init>(com.drew.lang.SequentialReader,com.drew.metadata.heif.boxes.Box)"
    - "[com.drew.metadata.heif.boxes.ImageRotationBox].<init>(com.drew.lang.SequentialReader,com.drew.metadata.heif.boxes.Box)"
    - "[com.drew.metadata.heif.boxes.ImageRotationBox].addMetadata(com.drew.metadata.heif.HeifDirectory)"
    - "[com.drew.metadata.heif.boxes.ColourInformationBox].<init>(com.drew.lang.SequentialReader,com.drew.metadata.heif.boxes.Box,com.drew.metadata.Metadata)"
    - "[com.drew.metadata.heif.boxes.ColourInformationBox].addMetadata(com.drew.metadata.heif.HeifDirectory)"
    - "[com.drew.metadata.heif.boxes.PixelInformationBox].<init>(com.drew.lang.SequentialReader,com.drew.metadata.heif.boxes.Box)"
    - "[com.drew.metadata.heif.boxes.PixelInformationBox].addMetadata(com.drew.metadata.heif.HeifDirectory)"
    functionUses: 1
    ICount: 75
    EdgeCount: 24
    BranchProfiles:
    - Branch String: "com.drew.metadata.heif.HeifPictureHandler:92"
      Branch Sides:
      - BranchSide: "com.drew.metadata.heif.HeifPictureHandler:94"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.heif.HeifPictureHandler:93"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.heif.HeifPictureHandler:94"
      Branch Sides:
      - BranchSide: "com.drew.metadata.heif.HeifPictureHandler:96"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.heif.HeifPictureHandler:95"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.heif.HeifPictureHandler:96"
      Branch Sides:
      - BranchSide: "com.drew.metadata.heif.HeifPictureHandler:99"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.heif.HeifPictureHandler:98"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.heif.HeifPictureHandler:99"
      Branch Sides:
      - BranchSide: "com.drew.metadata.heif.HeifPictureHandler:101"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.heif.HeifPictureHandler:100"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "com.drew.metadata.heif.HeifPictureHandler:101"
      Branch Sides:
      - BranchSide: "com.drew.metadata.heif.HeifPictureHandler:101"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.heif.HeifPictureHandler:100"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "com.drew.metadata.heif.HeifPictureHandler:101"
      Branch Sides:
      - BranchSide: "com.drew.metadata.heif.HeifPictureHandler:101"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.heif.HeifPictureHandler:100"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "com.drew.metadata.heif.HeifPictureHandler:101"
      Branch Sides:
      - BranchSide: "com.drew.metadata.heif.HeifPictureHandler:101"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.heif.HeifPictureHandler:100"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "com.drew.metadata.heif.HeifPictureHandler:101"
      Branch Sides:
      - BranchSide: "com.drew.metadata.heif.HeifPictureHandler:101"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.heif.HeifPictureHandler:100"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "com.drew.metadata.heif.HeifPictureHandler:101"
      Branch Sides:
      - BranchSide: "com.drew.metadata.heif.HeifPictureHandler:116"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.heif.HeifPictureHandler:115"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.heif.HeifPictureHandler:91,1"
      Dst: "[com.drew.lang.SequentialByteArrayReader].<init>(byte[])"
    - Src: "com.drew.metadata.heif.HeifPictureHandler:92,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "com.drew.metadata.heif.HeifPictureHandler:93,1"
      Dst: "[com.drew.metadata.heif.boxes.ItemProtectionBox].<init>(com.drew.lang.SequentialReader,com.drew.metadata.heif.boxes.Box)"
    - Src: "com.drew.metadata.heif.HeifPictureHandler:95,1"
      Dst: "[com.drew.metadata.heif.boxes.PrimaryItemBox].<init>(com.drew.lang.SequentialReader,com.drew.metadata.heif.boxes.Box)"
    - Src: "com.drew.metadata.heif.HeifPictureHandler:97,1"
      Dst: "[com.drew.metadata.heif.boxes.ItemInfoBox].<init>(com.drew.lang.SequentialReader,com.drew.metadata.heif.boxes.Box)"
    - Src: "com.drew.metadata.heif.HeifPictureHandler:98,1"
      Dst: "[com.drew.metadata.heif.boxes.ItemInfoBox].addMetadata(com.drew.metadata.heif.HeifDirectory)"
    - Src: "com.drew.metadata.heif.HeifPictureHandler:100,1"
      Dst: "[com.drew.metadata.heif.boxes.ItemLocationBox].<init>(com.drew.lang.SequentialReader,com.drew.metadata.heif.boxes.Box)"
    - Src: "com.drew.metadata.heif.HeifPictureHandler:102,1"
      Dst: "[com.drew.metadata.heif.boxes.ImageSpatialExtentsProperty].<init>(com.drew.lang.SequentialReader,com.drew.metadata.heif.boxes.Box)"
    - Src: "com.drew.metadata.heif.HeifPictureHandler:103,1"
      Dst: "[com.drew.metadata.heif.boxes.ImageSpatialExtentsProperty].addMetadata(com.drew.metadata.heif.HeifDirectory)"
    - Src: "com.drew.metadata.heif.HeifPictureHandler:105,1"
      Dst: "[com.drew.metadata.heif.boxes.AuxiliaryTypeProperty].<init>(com.drew.lang.SequentialReader,com.drew.metadata.heif.boxes.Box)"
    - Src: "com.drew.metadata.heif.HeifPictureHandler:107,1"
      Dst: "[com.drew.metadata.heif.boxes.ImageRotationBox].<init>(com.drew.lang.SequentialReader,com.drew.metadata.heif.boxes.Box)"
    - Src: "com.drew.metadata.heif.HeifPictureHandler:108,1"
      Dst: "[com.drew.metadata.heif.boxes.ImageRotationBox].addMetadata(com.drew.metadata.heif.HeifDirectory)"
    - Src: "com.drew.metadata.heif.HeifPictureHandler:110,1"
      Dst: "[com.drew.metadata.heif.boxes.ColourInformationBox].<init>(com.drew.lang.SequentialReader,com.drew.metadata.heif.boxes.Box,com.drew.metadata.Metadata)"
    - Src: "com.drew.metadata.heif.HeifPictureHandler:111,1"
      Dst: "[com.drew.metadata.heif.boxes.ColourInformationBox].addMetadata(com.drew.metadata.heif.HeifDirectory)"
    - Src: "com.drew.metadata.heif.HeifPictureHandler:113,1"
      Dst: "[com.drew.metadata.heif.boxes.PixelInformationBox].<init>(com.drew.lang.SequentialReader,com.drew.metadata.heif.boxes.Box)"
    - Src: "com.drew.metadata.heif.HeifPictureHandler:114,1"
      Dst: "[com.drew.metadata.heif.boxes.PixelInformationBox].addMetadata(com.drew.metadata.heif.HeifDirectory)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 19
    CyclomaticComplexity: 10
  - functionName: "[com.drew.metadata.heif.boxes.ItemProtectionBox].<init>(com.drew.lang.SequentialReader,com.drew.metadata.heif.boxes.Box)"
    functionSourceFile: "com.drew.metadata.heif.boxes.ItemProtectionBox"
    linkageType: ""
    functionLinenumber: 37
    functionLinenumberEnd: 46
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "com.drew.metadata.heif.boxes.Box"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.heif.boxes.FullBox].<init>(com.drew.lang.SequentialReader,com.drew.metadata.heif.boxes.Box)"
    - "[com.drew.lang.SequentialReader].getUInt16()"
    - "[java.util.ArrayList].<init>(int)"
    - "[com.drew.metadata.heif.boxes.ItemProtectionBox$ProtectionSchemeInfoBox].<init>(com.drew.lang.SequentialReader,com.drew.metadata.heif.boxes.Box)"
    - "[java.util.ArrayList].add(java.lang.Object)"
    functionUses: 1
    ICount: 20
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "com.drew.metadata.heif.boxes.ItemProtectionBox:42"
      Branch Sides:
      - BranchSide: "com.drew.metadata.heif.boxes.ItemProtectionBox:44"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.heif.boxes.ItemProtectionBox:38,1"
      Dst: "[com.drew.metadata.heif.boxes.FullBox].<init>(com.drew.lang.SequentialReader,com.drew.metadata.heif.boxes.Box)"
    - Src: "com.drew.metadata.heif.boxes.ItemProtectionBox:40,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt16()"
    - Src: "com.drew.metadata.heif.boxes.ItemProtectionBox:41,1"
      Dst: "[java.util.ArrayList].<init>(int)"
    - Src: "com.drew.metadata.heif.boxes.ItemProtectionBox:43,1"
      Dst: "[com.drew.metadata.heif.boxes.ItemProtectionBox$ProtectionSchemeInfoBox].<init>(com.drew.lang.SequentialReader,com.drew.metadata.heif.boxes.Box)"
    - Src: "com.drew.metadata.heif.boxes.ItemProtectionBox:43,1"
      Dst: "[java.util.ArrayList].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.heif.boxes.ImageSpatialExtentsProperty].<init>(com.drew.lang.SequentialReader,com.drew.metadata.heif.boxes.Box)"
    functionSourceFile: "com.drew.metadata.heif.boxes.ImageSpatialExtentsProperty"
    linkageType: ""
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "com.drew.metadata.heif.boxes.Box"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.heif.boxes.FullBox].<init>(com.drew.lang.SequentialReader,com.drew.metadata.heif.boxes.Box)"
    - "[com.drew.lang.SequentialReader].getUInt32()"
    functionUses: 1
    ICount: 9
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.heif.boxes.ImageSpatialExtentsProperty:38,1"
      Dst: "[com.drew.metadata.heif.boxes.FullBox].<init>(com.drew.lang.SequentialReader,com.drew.metadata.heif.boxes.Box)"
    - Src: "com.drew.metadata.heif.boxes.ImageSpatialExtentsProperty:40,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt32()"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.heif.boxes.ImageSpatialExtentsProperty].addMetadata(com.drew.metadata.heif.HeifDirectory)"
    functionSourceFile: "com.drew.metadata.heif.boxes.ImageSpatialExtentsProperty"
    linkageType: ""
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.heif.HeifDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].containsTag(int)"
    - "[com.drew.metadata.Directory].setLong(int,long)"
    functionUses: 1
    ICount: 11
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.drew.metadata.heif.boxes.ImageSpatialExtentsProperty:46"
      Branch Sides:
      - BranchSide: "com.drew.metadata.heif.boxes.ImageSpatialExtentsProperty:50"
        BranchSideFuncs:
        - "setLong(int,long)"
      - BranchSide: "com.drew.metadata.heif.boxes.ImageSpatialExtentsProperty:49"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.heif.boxes.ImageSpatialExtentsProperty:46"
      Branch Sides:
      - BranchSide: "com.drew.metadata.heif.boxes.ImageSpatialExtentsProperty:50"
        BranchSideFuncs:
        - "setLong(int,long)"
      - BranchSide: "com.drew.metadata.heif.boxes.ImageSpatialExtentsProperty:49"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.heif.boxes.ImageSpatialExtentsProperty:46,1"
      Dst: "[com.drew.metadata.Directory].containsTag(int)"
    - Src: "com.drew.metadata.heif.boxes.ImageSpatialExtentsProperty:47,1"
      Dst: "[com.drew.metadata.Directory].setLong(int,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: 3
  - functionName: "[com.drew.metadata.heif.boxes.PixelInformationBox].<init>(com.drew.lang.SequentialReader,com.drew.metadata.heif.boxes.Box)"
    functionSourceFile: "com.drew.metadata.heif.boxes.PixelInformationBox"
    linkageType: ""
    functionLinenumber: 17
    functionLinenumberEnd: 26
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "com.drew.metadata.heif.boxes.Box"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.heif.boxes.FullBox].<init>(com.drew.lang.SequentialReader,com.drew.metadata.heif.boxes.Box)"
    - "[com.drew.lang.SequentialReader].getUInt8()"
    functionUses: 1
    ICount: 21
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.drew.metadata.heif.boxes.PixelInformationBox:22"
      Branch Sides:
      - BranchSide: "com.drew.metadata.heif.boxes.PixelInformationBox:24"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.heif.boxes.PixelInformationBox:18,1"
      Dst: "[com.drew.metadata.heif.boxes.FullBox].<init>(com.drew.lang.SequentialReader,com.drew.metadata.heif.boxes.Box)"
    - Src: "com.drew.metadata.heif.boxes.PixelInformationBox:20,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt8()"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.heif.boxes.PixelInformationBox].addMetadata(com.drew.metadata.heif.HeifDirectory)"
    functionSourceFile: "com.drew.metadata.heif.boxes.PixelInformationBox"
    linkageType: ""
    functionLinenumber: 28
    functionLinenumberEnd: 33
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.heif.HeifDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].containsTag(int)"
    - "[com.drew.metadata.Directory].setIntArray(int,int[])"
    functionUses: 1
    ICount: 7
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.drew.metadata.heif.boxes.PixelInformationBox:29"
      Branch Sides:
      - BranchSide: "com.drew.metadata.heif.boxes.PixelInformationBox:32"
        BranchSideFuncs:
        - "setIntArray(int,int[])"
      - BranchSide: "com.drew.metadata.heif.boxes.PixelInformationBox:31"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.heif.boxes.PixelInformationBox:29,1"
      Dst: "[com.drew.metadata.Directory].containsTag(int)"
    - Src: "com.drew.metadata.heif.boxes.PixelInformationBox:30,1"
      Dst: "[com.drew.metadata.Directory].setIntArray(int,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: 3
    CyclomaticComplexity: 2
  - functionName: "[com.drew.metadata.heif.HeifPictureHandler].processContainer(com.drew.metadata.heif.boxes.Box,com.drew.lang.SequentialReader)"
    functionSourceFile: "com.drew.metadata.heif.HeifPictureHandler"
    linkageType: ""
    functionLinenumber: 121
    functionLinenumberEnd: 138
    functionDepth: 9
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.metadata.heif.boxes.Box"
    - "com.drew.lang.SequentialReader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].equals(java.lang.Object)"
    - "[com.drew.metadata.heif.boxes.ItemLocationBox].getExtents()"
    - "[com.adobe.internal.xmp.impl.XMPNode$1].hasNext()"
    - "[jdk.internal.module.ModuleBootstrap$2].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIterator].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIteratorChildren].hasNext()"
    - "[java.util.TreeMap$KeySet].iterator()"
    - "[jdk.internal.module.ModuleBootstrap$2].next()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIterator].next()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl].next()"
    - "[com.adobe.internal.xmp.impl.XMPNode$1].next()"
    - "[java.io.BufferedReader$1].next()"
    - "[com.drew.metadata.heif.boxes.ItemInfoBox].getEntry(long)"
    - "[com.drew.metadata.heif.boxes.ItemLocationBox$Extent].getItemId()"
    - "[com.drew.metadata.heif.boxes.ItemLocationBox$Extent].getOffset()"
    - "[com.drew.lang.StreamReader].getPosition()"
    - "[com.drew.lang.SequentialByteArrayReader].getPosition()"
    - "[com.drew.lang.StreamReader].skip(long)"
    - "[com.drew.lang.SequentialByteArrayReader].skip(long)"
    - "[com.drew.metadata.heif.HeifPictureHandler].shouldHandleItem(com.drew.metadata.heif.boxes.ItemInfoBox$ItemInfoEntry)"
    - "[com.drew.lang.SequentialByteArrayReader].<init>(byte[])"
    - "[com.drew.lang.SequentialByteArrayReader].getBytes(int)"
    - "[com.drew.lang.StreamReader].getBytes(int)"
    - "[com.drew.metadata.heif.boxes.ItemLocationBox$Extent].getLength()"
    - "[com.drew.metadata.heif.HeifPictureHandler].handleItem(com.drew.metadata.heif.boxes.ItemInfoBox$ItemInfoEntry,com.drew.lang.SequentialByteArrayReader)"
    - "[java.util.Set].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[com.drew.lang.SequentialReader].getPosition()"
    - "[com.drew.lang.SequentialReader].skip(long)"
    - "[com.drew.lang.SequentialReader].getBytes(int)"
    functionUses: 1
    ICount: 37
    EdgeCount: 26
    BranchProfiles:
    - Branch String: "com.drew.metadata.heif.HeifPictureHandler:122"
      Branch Sides:
      - BranchSide: "com.drew.metadata.heif.HeifPictureHandler:136"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.heif.HeifPictureHandler:122"
      Branch Sides:
      - BranchSide: "com.drew.metadata.heif.HeifPictureHandler:136"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.heif.HeifPictureHandler:122"
      Branch Sides:
      - BranchSide: "com.drew.metadata.heif.HeifPictureHandler:136"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.heif.HeifPictureHandler:126"
      Branch Sides:
      - BranchSide: "com.drew.metadata.heif.HeifPictureHandler:137"
        BranchSideFuncs:
        - "getEntry(long)"
        - "getOffset()"
        - "getItemId()"
        - "hasNext()"
        - "next()"
        - "getPosition()"
        - "iterator()"
        - "getExtents()"
      - BranchSide: "com.drew.metadata.heif.HeifPictureHandler:136"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.heif.HeifPictureHandler:129"
      Branch Sides:
      - BranchSide: "com.drew.metadata.heif.HeifPictureHandler:132"
        BranchSideFuncs:
        - "skip(long)"
      - BranchSide: "com.drew.metadata.heif.HeifPictureHandler:131"
        BranchSideFuncs:
        - "shouldHandleItem(com.drew.metadata.heif.boxes.ItemInfoBox$ItemInfoEntry)"
    - Branch String: "com.drew.metadata.heif.HeifPictureHandler:132"
      Branch Sides:
      - BranchSide: "com.drew.metadata.heif.HeifPictureHandler:135"
        BranchSideFuncs:
        - "handleItem(com.drew.metadata.heif.boxes.ItemInfoBox$ItemInfoEntry,com.drew.lang.SequentialByteArrayReader)"
        - "getLength()"
        - "<init>(byte[])"
        - "getBytes(int)"
      - BranchSide: "com.drew.metadata.heif.HeifPictureHandler:134"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.heif.HeifPictureHandler:122,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "com.drew.metadata.heif.HeifPictureHandler:126,1"
      Dst: "[com.drew.metadata.heif.boxes.ItemLocationBox].getExtents()"
    - Src: "com.drew.metadata.heif.HeifPictureHandler:126,1"
      Dst: "[java.util.Set].iterator()"
    - Src: "com.drew.metadata.heif.HeifPictureHandler:126,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.drew.metadata.heif.HeifPictureHandler:126,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.drew.metadata.heif.HeifPictureHandler:127,1"
      Dst: "[com.drew.metadata.heif.boxes.ItemLocationBox$Extent].getItemId()"
    - Src: "com.drew.metadata.heif.HeifPictureHandler:127,1"
      Dst: "[com.drew.metadata.heif.boxes.ItemInfoBox].getEntry(long)"
    - Src: "com.drew.metadata.heif.HeifPictureHandler:128,1"
      Dst: "[com.drew.metadata.heif.boxes.ItemLocationBox$Extent].getOffset()"
    - Src: "com.drew.metadata.heif.HeifPictureHandler:128,1"
      Dst: "[com.drew.lang.SequentialReader].getPosition()"
    - Src: "com.drew.metadata.heif.HeifPictureHandler:130,1"
      Dst: "[com.drew.lang.SequentialReader].skip(long)"
    - Src: "com.drew.metadata.heif.HeifPictureHandler:132,1"
      Dst: "[com.drew.metadata.heif.HeifPictureHandler].shouldHandleItem(com.drew.metadata.heif.boxes.ItemInfoBox$ItemInfoEntry)"
    - Src: "com.drew.metadata.heif.HeifPictureHandler:133,1"
      Dst: "[com.drew.metadata.heif.boxes.ItemLocationBox$Extent].getLength()"
    - Src: "com.drew.metadata.heif.HeifPictureHandler:133,1"
      Dst: "[com.drew.lang.SequentialReader].getBytes(int)"
    - Src: "com.drew.metadata.heif.HeifPictureHandler:133,1"
      Dst: "[com.drew.lang.SequentialByteArrayReader].<init>(byte[])"
    - Src: "com.drew.metadata.heif.HeifPictureHandler:133,1"
      Dst: "[com.drew.metadata.heif.HeifPictureHandler].handleItem(com.drew.metadata.heif.boxes.ItemInfoBox$ItemInfoEntry,com.drew.lang.SequentialByteArrayReader)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 11
    CyclomaticComplexity: 7
  - functionName: "[com.drew.metadata.heif.HeifPictureHandler].shouldHandleItem(com.drew.metadata.heif.boxes.ItemInfoBox$ItemInfoEntry)"
    functionSourceFile: "com.drew.metadata.heif.HeifPictureHandler"
    linkageType: ""
    functionLinenumber: 139
    functionLinenumberEnd: 141
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "com.drew.metadata.heif.boxes.ItemInfoBox$ItemInfoEntry"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.ConcurrentHashMap$EntrySetView].contains(java.lang.Object)"
    - "[java.util.TreeSet].contains(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentHashMap$KeySetView].contains(java.lang.Object)"
    - "[java.util.HashSet].contains(java.lang.Object)"
    - "[java.util.TreeMap$EntrySet].contains(java.lang.Object)"
    - "[java.util.TreeMap$KeySet].contains(java.lang.Object)"
    - "[java.util.AbstractCollection].contains(java.lang.Object)"
    - "[com.drew.metadata.heif.boxes.ItemInfoBox$ItemInfoEntry].getItemType()"
    - "[java.util.Set].contains(java.lang.Object)"
    functionUses: 1
    ICount: 6
    EdgeCount: 8
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.heif.HeifPictureHandler:140,1"
      Dst: "[com.drew.metadata.heif.boxes.ItemInfoBox$ItemInfoEntry].getItemType()"
    - Src: "com.drew.metadata.heif.HeifPictureHandler:140,1"
      Dst: "[java.util.Set].contains(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: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.heif.HeifPictureHandler].handleItem(com.drew.metadata.heif.boxes.ItemInfoBox$ItemInfoEntry,com.drew.lang.SequentialByteArrayReader)"
    functionSourceFile: "com.drew.metadata.heif.HeifPictureHandler"
    linkageType: ""
    functionLinenumber: 144
    functionLinenumberEnd: 157
    functionDepth: 8
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.metadata.heif.boxes.ItemInfoBox$ItemInfoEntry"
    - "com.drew.lang.SequentialByteArrayReader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].equals(java.lang.Object)"
    - "[com.drew.metadata.heif.boxes.ItemInfoBox$ItemInfoEntry].getItemType()"
    - "[com.drew.lang.SequentialReader].getUInt32()"
    - "[com.drew.lang.SequentialByteArrayReader].available()"
    - "[com.drew.lang.SequentialByteArrayReader].skip(long)"
    - "[java.io.ByteArrayInputStream].<init>(byte[])"
    - "[com.drew.lang.SequentialByteArrayReader].getBytes(int)"
    - "[com.drew.lang.RandomAccessStreamReader].<init>(java.io.InputStream)"
    - "[com.drew.metadata.exif.ExifReader].<init>()"
    - "[com.drew.metadata.exif.ExifReader].extract(com.drew.lang.RandomAccessReader,com.drew.metadata.Metadata)"
    functionUses: 1
    ICount: 25
    EdgeCount: 11
    BranchProfiles:
    - Branch String: "com.drew.metadata.heif.HeifPictureHandler:145"
      Branch Sides:
      - BranchSide: "com.drew.metadata.heif.HeifPictureHandler:155"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.heif.HeifPictureHandler:148"
      Branch Sides:
      - BranchSide: "com.drew.metadata.heif.HeifPictureHandler:151"
        BranchSideFuncs:
        - "available()"
        - "skip(long)"
        - "<init>()"
        - "extract(com.drew.lang.RandomAccessReader,com.drew.metadata.Metadata)"
        - "<init>(byte[])"
        - "getBytes(int)"
        - "<init>(java.io.InputStream)"
    Callsites:
    - Src: "com.drew.metadata.heif.HeifPictureHandler:145,1"
      Dst: "[com.drew.metadata.heif.boxes.ItemInfoBox$ItemInfoEntry].getItemType()"
    - Src: "com.drew.metadata.heif.HeifPictureHandler:145,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "com.drew.metadata.heif.HeifPictureHandler:147,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt32()"
    - Src: "com.drew.metadata.heif.HeifPictureHandler:148,1"
      Dst: "[com.drew.lang.SequentialByteArrayReader].available()"
    - Src: "com.drew.metadata.heif.HeifPictureHandler:152,1"
      Dst: "[com.drew.lang.SequentialByteArrayReader].skip(long)"
    - Src: "com.drew.metadata.heif.HeifPictureHandler:153,1"
      Dst: "[com.drew.lang.SequentialByteArrayReader].getBytes(int)"
    - Src: "com.drew.metadata.heif.HeifPictureHandler:153,1"
      Dst: "[java.io.ByteArrayInputStream].<init>(byte[])"
    - Src: "com.drew.metadata.heif.HeifPictureHandler:154,1"
      Dst: "[com.drew.metadata.exif.ExifReader].<init>()"
    - Src: "com.drew.metadata.heif.HeifPictureHandler:154,1"
      Dst: "[com.drew.lang.RandomAccessStreamReader].<init>(java.io.InputStream)"
    - Src: "com.drew.metadata.heif.HeifPictureHandler:154,1"
      Dst: "[com.drew.metadata.exif.ExifReader].extract(com.drew.lang.RandomAccessReader,com.drew.metadata.Metadata)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[com.drew.lang.SequentialByteArrayReader].available()"
    functionSourceFile: "com.drew.lang.SequentialByteArrayReader"
    linkageType: ""
    functionLinenumber: 127
    functionLinenumberEnd: 129
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 5
    ICount: 6
    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: "[com.drew.metadata.exif.ExifReader].extract(com.drew.lang.RandomAccessReader,com.drew.metadata.Metadata)"
    functionSourceFile: "com.drew.metadata.exif.ExifReader"
    linkageType: ""
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionDepth: 7
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.lang.RandomAccessReader"
    - "com.drew.metadata.Metadata"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.ExifReader].extract(com.drew.lang.RandomAccessReader,com.drew.metadata.Metadata,int)"
    functionUses: 2
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.ExifReader:78,1"
      Dst: "[com.drew.metadata.exif.ExifReader].extract(com.drew.lang.RandomAccessReader,com.drew.metadata.Metadata,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: "[com.drew.metadata.exif.ExifReader].extract(com.drew.lang.RandomAccessReader,com.drew.metadata.Metadata,int)"
    functionSourceFile: "com.drew.metadata.exif.ExifReader"
    linkageType: ""
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionDepth: 6
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.drew.lang.RandomAccessReader"
    - "com.drew.metadata.Metadata"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.ExifReader].extract(com.drew.lang.RandomAccessReader,com.drew.metadata.Metadata,int,com.drew.metadata.Directory)"
    functionUses: 2
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.ExifReader:84,1"
      Dst: "[com.drew.metadata.exif.ExifReader].extract(com.drew.lang.RandomAccessReader,com.drew.metadata.Metadata,int,com.drew.metadata.Directory)"
    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: "[com.drew.metadata.heif.HeifPictureHandler].getDirectory()"
    functionSourceFile: "com.drew.metadata.heif.HeifPictureHandler"
    linkageType: ""
    functionLinenumber: 160
    functionLinenumberEnd: 162
    functionDepth: 3
    returnType: "com.drew.metadata.heif.HeifDirectory"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.heif.HeifDirectory].<init>()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.heif.HeifPictureHandler:161,1"
      Dst: "[com.drew.metadata.heif.HeifDirectory].<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: "[com.drew.lang.StringUtil].<init>()"
    functionSourceFile: "com.drew.lang.StringUtil"
    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: "com.drew.lang.StringUtil: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: "[com.drew.lang.StringUtil].join(java.lang.Iterable<? extends CharSequence>,java.lang.String)"
    functionSourceFile: "com.drew.lang.StringUtil"
    linkageType: ""
    functionLinenumber: 40
    functionLinenumberEnd: 58
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 2
    argTypes:
    - "java.lang.Iterable<? extends CharSequence>"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].length()"
    - "[java.util.concurrent.ConcurrentHashMap$EntrySetView].iterator()"
    - "[com.adobe.internal.xmp.impl.XMPNode$1].hasNext()"
    - "[jdk.internal.module.ModuleBootstrap$2].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIterator].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIteratorChildren].hasNext()"
    - "[jdk.internal.module.ModuleBootstrap$2].next()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIterator].next()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl].next()"
    - "[com.adobe.internal.xmp.impl.XMPNode$1].next()"
    - "[java.io.BufferedReader$1:java.lang.AbstractStringBuilder:java.lang.StringBuffer:java.lang.StringBuilder:java.nio.CharBuffer:java.nio.file.FileTreeIterator:java.nio.file.Files$2:java.nio.file.Path:java.util.AbstractList:java.util.AbstractSequentialList:java.util.ArrayDeque:java.util.ArrayList:java.util.HashSet:java.util.ServiceLoader:java.util.TreeMap$EntrySet:java.util.TreeMap$KeySet:java.util.TreeSet:java.util.Vector:java.util.concurrent.ConcurrentHashMap$EntrySetView:java.util.concurrent.ConcurrentHashMap$KeySetView:java.util.concurrent.ConcurrentHashMap$ValuesView:java.util.concurrent.CopyOnWriteArrayList:java.util.concurrent.LinkedBlockingQueue].next()"
    - "[java.lang.StringBuilder].<init>(int)"
    - "[java.lang.StringBuilder].append(java.lang.CharSequence)"
    - "[java.io.BufferedReader$1].next()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.Iterable].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.lang.CharSequence].length()"
    functionUses: 1
    ICount: 29
    EdgeCount: 39
    BranchProfiles:
    - Branch String: "com.drew.lang.StringUtil:45"
      Branch Sides:
      - BranchSide: "com.drew.lang.StringUtil:48"
        BranchSideFuncs:
        - "length()"
      - BranchSide: "com.drew.lang.StringUtil:47"
        BranchSideFuncs:
        - "<init>(int)"
        - "iterator()"
    - Branch String: "com.drew.lang.StringUtil:50"
      Branch Sides:
      - BranchSide: "com.drew.lang.StringUtil:57"
        BranchSideFuncs: []
      - BranchSide: "com.drew.lang.StringUtil:56"
        BranchSideFuncs:
        - "toString()"
    - Branch String: "com.drew.lang.StringUtil:52"
      Branch Sides:
      - BranchSide: "com.drew.lang.StringUtil:57"
        BranchSideFuncs:
        - "append(java.lang.String)"
        - "next()"
        - "append(java.lang.CharSequence)"
      - BranchSide: "com.drew.lang.StringUtil:56"
        BranchSideFuncs:
        - "toString()"
    Callsites:
    - Src: "com.drew.lang.StringUtil:42,1"
      Dst: "[java.lang.String].length()"
    - Src: "com.drew.lang.StringUtil:44,1"
      Dst: "[java.lang.Iterable].iterator()"
    - Src: "com.drew.lang.StringUtil:45,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.drew.lang.StringUtil:46,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.drew.lang.StringUtil:46,1"
      Dst: "[java.lang.CharSequence].length()"
    - Src: "com.drew.lang.StringUtil:48,1"
      Dst: "[java.lang.StringBuilder].<init>(int)"
    - Src: "com.drew.lang.StringUtil:51,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.CharSequence)"
    - Src: "com.drew.lang.StringUtil:53,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.lang.StringUtil:57,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: 7
    CyclomaticComplexity: 4
  - functionName: "[com.drew.lang.StringUtil].fromStream(java.io.InputStream)"
    functionSourceFile: "com.drew.lang.StringUtil"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.io.InputStream"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.InputStreamReader].<init>(java.io.InputStream)"
    - "[java.io.BufferedReader].<init>(java.io.Reader)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.io.BufferedReader].readLine()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.lang.StringUtil:87"
      Branch Sides:
      - BranchSide: "com.drew.lang.StringUtil:90"
        BranchSideFuncs: []
      - BranchSide: "com.drew.lang.StringUtil:89"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.lang.StringUtil:84,1"
      Dst: "[java.io.InputStreamReader].<init>(java.io.InputStream)"
    - Src: "com.drew.lang.StringUtil:84,1"
      Dst: "[java.io.BufferedReader].<init>(java.io.Reader)"
    - Src: "com.drew.lang.StringUtil:85,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.lang.StringUtil:87,1"
      Dst: "[java.io.BufferedReader].readLine()"
    - Src: "com.drew.lang.StringUtil:88,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.lang.StringUtil:90,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.lang.StringUtil].urlEncode(java.lang.String)"
    functionSourceFile: "com.drew.lang.StringUtil"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].replace(java.lang.CharSequence,java.lang.CharSequence)"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.lang.StringUtil:113,1"
      Dst: "[java.lang.String].replace(java.lang.CharSequence,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: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.imaging.tiff.TiffProcessingException].<init>(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "com.drew.imaging.tiff.TiffProcessingException"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.imaging.ImageProcessingException].<init>(java.lang.String,java.lang.Throwable)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.tiff.TiffProcessingException:44,1"
      Dst: "[com.drew.imaging.ImageProcessingException].<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: "[com.drew.imaging.tiff.TiffProcessingException].<init>(java.lang.Throwable)"
    functionSourceFile: "com.drew.imaging.tiff.TiffProcessingException"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.imaging.ImageProcessingException].<init>(java.lang.Throwable)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.tiff.TiffProcessingException:49,1"
      Dst: "[com.drew.imaging.ImageProcessingException].<init>(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: "[com.drew.lang.Rational].floatValue()"
    functionSourceFile: "com.drew.lang.Rational"
    linkageType: ""
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionDepth: 0
    returnType: "float"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.lang.Rational:85"
      Branch Sides:
      - BranchSide: "com.drew.lang.Rational:null"
        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: "[com.drew.lang.Rational].byteValue()"
    functionSourceFile: "com.drew.lang.Rational"
    linkageType: ""
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionDepth: 1
    returnType: "byte"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.Rational].doubleValue()"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.lang.Rational:101,1"
      Dst: "[com.drew.lang.Rational].doubleValue()"
    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: "[com.drew.lang.Rational].shortValue()"
    functionSourceFile: "com.drew.lang.Rational"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "short"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.Rational].doubleValue()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.lang.Rational:143,1"
      Dst: "[com.drew.lang.Rational].doubleValue()"
    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: "[com.drew.lang.Rational].getReciprocal()"
    functionSourceFile: "com.drew.lang.Rational"
    linkageType: ""
    functionLinenumber: 166
    functionLinenumberEnd: 168
    functionDepth: 1
    returnType: "com.drew.lang.Rational"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.Rational].<init>(long,long)"
    functionUses: 2
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.lang.Rational:167,1"
      Dst: "[com.drew.lang.Rational].<init>(long,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: "[com.drew.lang.Rational].getAbsolute()"
    functionSourceFile: "com.drew.lang.Rational"
    linkageType: ""
    functionLinenumber: 176
    functionLinenumberEnd: 178
    functionDepth: 1
    returnType: "com.drew.lang.Rational"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.Rational].<init>(long,long)"
    - "[java.lang.Math].abs(long)"
    functionUses: 3
    ICount: 8
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.lang.Rational:177,1"
      Dst: "[java.lang.Math].abs(long)"
    - Src: "com.drew.lang.Rational:177,1"
      Dst: "[com.drew.lang.Rational].<init>(long,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: "[com.drew.lang.Rational].isPositive()"
    functionSourceFile: "com.drew.lang.Rational"
    linkageType: ""
    functionLinenumber: 196
    functionLinenumberEnd: 198
    functionDepth: 1
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.Rational].isZero()"
    functionUses: 3
    ICount: 22
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "com.drew.lang.Rational:197"
      Branch Sides:
      - BranchSide: "com.drew.lang.Rational:196"
        BranchSideFuncs:
        - "isZero()"
    - Branch String: "com.drew.lang.Rational:197"
      Branch Sides:
      - BranchSide: "com.drew.lang.Rational:196"
        BranchSideFuncs:
        - "isZero()"
    - Branch String: "com.drew.lang.Rational:197"
      Branch Sides:
      - BranchSide: "com.drew.lang.Rational:-2"
        BranchSideFuncs: []
    - Branch String: "com.drew.lang.Rational:197"
      Branch Sides:
      - BranchSide: "com.drew.lang.Rational:196"
        BranchSideFuncs:
        - "isZero()"
    Callsites:
    - Src: "com.drew.lang.Rational:197,1"
      Dst: "[com.drew.lang.Rational].isZero()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 11
    CyclomaticComplexity: 5
  - functionName: "[com.drew.lang.Rational].compareTo(com.drew.lang.Rational)"
    functionSourceFile: "com.drew.lang.Rational"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "int"
    argCount: 1
    argTypes:
    - "com.drew.lang.Rational"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.Rational].doubleValue()"
    - "[java.lang.Double].compare(double,double)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.lang.Rational:245,1"
      Dst: "[com.drew.lang.Rational].doubleValue()"
    - Src: "com.drew.lang.Rational:245,1"
      Dst: "[java.lang.Double].compare(double,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: "[com.drew.lang.Rational].equalsExact(com.drew.lang.Rational)"
    functionSourceFile: "com.drew.lang.Rational"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "com.drew.lang.Rational"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.Rational].getDenominator()"
    - "[com.drew.lang.Rational].getNumerator()"
    functionUses: 0
    ICount: 14
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.lang.Rational:273"
      Branch Sides:
      - BranchSide: "com.drew.lang.Rational:272"
        BranchSideFuncs: []
    - Branch String: "com.drew.lang.Rational:273"
      Branch Sides:
      - BranchSide: "com.drew.lang.Rational:272"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.lang.Rational:273,1"
      Dst: "[com.drew.lang.Rational].getDenominator()"
    - Src: "com.drew.lang.Rational:273,1"
      Dst: "[com.drew.lang.Rational].getNumerator()"
    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: "[com.drew.lang.Rational].equals(java.lang.Object)"
    functionSourceFile: "com.drew.lang.Rational"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.Rational].doubleValue()"
    functionUses: 0
    ICount: 14
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.lang.Rational:287"
      Branch Sides:
      - BranchSide: "com.drew.lang.Rational:289"
        BranchSideFuncs: []
      - BranchSide: "com.drew.lang.Rational:288"
        BranchSideFuncs: []
    - Branch String: "com.drew.lang.Rational:290"
      Branch Sides:
      - BranchSide: "com.drew.lang.Rational:288"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.lang.Rational:290,1"
      Dst: "[com.drew.lang.Rational].doubleValue()"
    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: 2
  - functionName: "[com.drew.lang.Rational].hashCode()"
    functionSourceFile: "com.drew.lang.Rational"
    linkageType: ""
    functionLinenumber: 295
    functionLinenumberEnd: 297
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 8
    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: "[com.drew.lang.Rational].compareTo(java.lang.Object)"
    functionSourceFile: "com.drew.lang.Rational"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "int"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.Rational].compareTo(com.drew.lang.Rational)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.lang.Rational:38,1"
      Dst: "[com.drew.lang.Rational].compareTo(com.drew.lang.Rational)"
    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: "[com.drew.metadata.exif.ExifReader].getSegmentTypes()"
    functionSourceFile: "com.drew.metadata.exif.ExifReader"
    linkageType: ""
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionDepth: 0
    returnType: "java.lang.Iterable"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Collections].singletonList(java.lang.Object)"
    functionUses: 4
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.ExifReader:53,1"
      Dst: "[java.util.Collections].singletonList(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: "[com.drew.metadata.exif.ExifReader].readJpegSegments(java.lang.Iterable<byte[]>,com.drew.metadata.Metadata,com.drew.imaging.jpeg.JpegSegmentType)"
    functionSourceFile: "com.drew.metadata.exif.ExifReader"
    linkageType: ""
    functionLinenumber: 57
    functionLinenumberEnd: 67
    functionDepth: 7
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.Iterable<byte[]>"
    - "com.drew.metadata.Metadata"
    - "com.drew.imaging.jpeg.JpegSegmentType"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.AssertionError].<init>()"
    - "[com.adobe.internal.xmp.impl.XMPNode$1].hasNext()"
    - "[jdk.internal.module.ModuleBootstrap$2].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIterator].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIteratorChildren].hasNext()"
    - "[java.nio.file.FileTreeIterator].hasNext()"
    - "[java.util.concurrent.ConcurrentHashMap$EntrySetView].iterator()"
    - "[jdk.internal.module.ModuleBootstrap$2].next()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIterator].next()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl].next()"
    - "[com.adobe.internal.xmp.impl.XMPNode$1].next()"
    - "[java.io.BufferedReader$1:java.nio.file.FileTreeIterator:java.nio.file.Files$2].next()"
    - "[com.drew.metadata.exif.ExifReader].startsWithJpegExifPreamble(byte[])"
    - "[com.drew.lang.ByteArrayReader].<init>(byte[])"
    - "[com.drew.metadata.exif.ExifReader].extract(com.drew.lang.RandomAccessReader,com.drew.metadata.Metadata,int)"
    - "[java.lang.String].length()"
    - "[java.lang.Iterable].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    functionUses: 2
    ICount: 25
    EdgeCount: 17
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.ExifReader:58"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifReader:59"
        BranchSideFuncs:
        - "hasNext()"
        - "iterator()"
        - "next()"
    - Branch String: "com.drew.metadata.exif.ExifReader:58"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifReader:59"
        BranchSideFuncs:
        - "hasNext()"
        - "iterator()"
        - "next()"
    - Branch String: "com.drew.metadata.exif.ExifReader:60"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifReader:66"
        BranchSideFuncs:
        - "hasNext()"
        - "iterator()"
        - "next()"
        - "startsWithJpegExifPreamble(byte[])"
      - BranchSide: "com.drew.metadata.exif.ExifReader:65"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifReader:62"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifReader:65"
        BranchSideFuncs:
        - "<init>(byte[])"
        - "length()"
        - "extract(com.drew.lang.RandomAccessReader,com.drew.metadata.Metadata,int)"
      - BranchSide: "com.drew.metadata.exif.ExifReader:64"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.exif.ExifReader:58,1"
      Dst: "[java.lang.AssertionError].<init>()"
    - Src: "com.drew.metadata.exif.ExifReader:60,1"
      Dst: "[java.lang.Iterable].iterator()"
    - Src: "com.drew.metadata.exif.ExifReader:60,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.drew.metadata.exif.ExifReader:60,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.drew.metadata.exif.ExifReader:62,1"
      Dst: "[com.drew.metadata.exif.ExifReader].startsWithJpegExifPreamble(byte[])"
    - Src: "com.drew.metadata.exif.ExifReader:63,1"
      Dst: "[com.drew.lang.ByteArrayReader].<init>(byte[])"
    - Src: "com.drew.metadata.exif.ExifReader:63,1"
      Dst: "[java.lang.String].length()"
    - Src: "com.drew.metadata.exif.ExifReader:63,1"
      Dst: "[com.drew.metadata.exif.ExifReader].extract(com.drew.lang.RandomAccessReader,com.drew.metadata.Metadata,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: 9
    CyclomaticComplexity: 4
  - functionName: "[com.drew.metadata.exif.ExifReader].startsWithJpegExifPreamble(byte[])"
    functionSourceFile: "com.drew.metadata.exif.ExifReader"
    linkageType: ""
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "byte[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].length()"
    - "[java.lang.String].<init>(byte[],int,int)"
    - "[java.lang.String].equals(java.lang.Object)"
    functionUses: 2
    ICount: 15
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.ExifReader:71"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifReader:71"
        BranchSideFuncs:
        - "<init>(byte[],int,int)"
        - "equals(java.lang.Object)"
        - "length()"
      - BranchSide: "com.drew.metadata.exif.ExifReader:70"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.ExifReader:72"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifReader:70"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.exif.ExifReader:71,1"
      Dst: "[java.lang.String].length()"
    - Src: "com.drew.metadata.exif.ExifReader:72,1"
      Dst: "[java.lang.String].<init>(byte[],int,int)"
    - Src: "com.drew.metadata.exif.ExifReader:72,1"
      Dst: "[java.lang.String].equals(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: 5
    CyclomaticComplexity: 3
  - functionName: "[com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row].<init>(java.io.File,com.drew.metadata.Metadata,java.lang.String)"
    functionSourceFile: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.io.File"
    - "com.drew.metadata.Metadata"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[com.drew.metadata.Metadata].getFirstDirectoryOfType(java.lang.Class)"
    - "[com.drew.metadata.Directory].getDescription(int)"
    - "[com.drew.metadata.Directory].containsTag(int)"
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[com.drew.metadata.Metadata].getDirectories()"
    - "[java.lang.Iterable].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.lang.Object].getClass()"
    - "[java.lang.Class].getName()"
    - "[java.lang.String].contains(java.lang.CharSequence)"
    - "[com.drew.metadata.Directory].getName()"
    - "[java.lang.String].replace(java.lang.CharSequence,java.lang.CharSequence)"
    - "[java.lang.String].trim()"
    functionUses: 0
    ICount: 62
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row:557"
      Branch Sides:
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row:561"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row:560"
        BranchSideFuncs: []
    - Branch String: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row:562"
      Branch Sides:
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row:566"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row:565"
        BranchSideFuncs: []
    - Branch String: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row:566"
      Branch Sides:
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row:573"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row:572"
        BranchSideFuncs: []
    - Branch String: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row:569"
      Branch Sides:
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row:571"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row:570"
        BranchSideFuncs: []
    - Branch String: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row:569"
      Branch Sides:
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row:571"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row:570"
        BranchSideFuncs: []
    - Branch String: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row:573"
      Branch Sides:
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row:579"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row:578"
        BranchSideFuncs: []
    - Branch String: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row:574"
      Branch Sides:
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row:578"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row:577"
        BranchSideFuncs: []
    - Branch String: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row:579"
      Branch Sides:
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row:582"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row:581"
        BranchSideFuncs: []
    - Branch String: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row:580"
      Branch Sides:
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row:579"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row:549,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row:554,1"
      Dst: "[com.drew.metadata.Metadata].getFirstDirectoryOfType(java.lang.Class)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row:558,1"
      Dst: "[com.drew.metadata.Directory].getDescription(int)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row:564,1"
      Dst: "[com.drew.metadata.Directory].containsTag(int)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row:567,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row:570,1"
      Dst: "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row:573,1"
      Dst: "[com.drew.metadata.Metadata].getDirectories()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row:573,1"
      Dst: "[java.lang.Iterable].iterator()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row:573,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row:573,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row:574,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row:574,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row:574,1"
      Dst: "[java.lang.String].contains(java.lang.CharSequence)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row:575,1"
      Dst: "[com.drew.metadata.Directory].getName()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row:575,1"
      Dst: "[java.lang.String].replace(java.lang.CharSequence,java.lang.CharSequence)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row:575,1"
      Dst: "[java.lang.String].trim()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 21
    CyclomaticComplexity: 10
  - functionName: "[com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row].access$200(com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row)"
    functionSourceFile: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    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: "[com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row].access$300(com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row)"
    functionSourceFile: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    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: "[com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row].access$400(com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row)"
    functionSourceFile: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    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: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDirectory].<init>()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDirectory"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].<init>()"
    - "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDirectory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDirectory:184,1"
      Dst: "[com.drew.metadata.Directory].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDirectory:185,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDirectory)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDirectory:185,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDirectory].getName()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDirectory"
    linkageType: ""
    functionLinenumber: 191
    functionLinenumberEnd: 193
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusCameraSettingsMakernoteDirectory"
    linkageType: ""
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.mp4.media.Mp4HintHandler].getDirectory()"
    functionSourceFile: "com.drew.metadata.mp4.media.Mp4HintHandler"
    linkageType: ""
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionDepth: 3
    returnType: "com.drew.metadata.mp4.media.Mp4HintDirectory"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mp4.media.Mp4HintDirectory].<init>()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mp4.media.Mp4HintHandler:43,1"
      Dst: "[com.drew.metadata.mp4.media.Mp4HintDirectory].<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: "[com.drew.metadata.mp4.media.Mp4HintDescriptor].<init>(com.drew.metadata.mp4.media.Mp4HintDirectory)"
    functionSourceFile: "com.drew.metadata.mp4.media.Mp4HintDescriptor"
    linkageType: ""
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.mp4.media.Mp4HintDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mp4.media.Mp4HintDescriptor:29,1"
      Dst: "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    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: "[com.drew.metadata.mp4.media.Mp4HintHandler].getMediaInformation()"
    functionSourceFile: "com.drew.metadata.mp4.media.Mp4HintHandler"
    linkageType: ""
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 2
    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: "[com.drew.metadata.mp4.media.Mp4HintHandler].processSampleDescription(com.drew.lang.SequentialReader)"
    functionSourceFile: "com.drew.metadata.mp4.media.Mp4HintHandler"
    linkageType: ""
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.lang.SequentialReader"
    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: "[com.drew.metadata.mp4.media.Mp4HintHandler].processMediaInformation(com.drew.lang.SequentialReader)"
    functionSourceFile: "com.drew.metadata.mp4.media.Mp4HintHandler"
    linkageType: ""
    functionLinenumber: 61
    functionLinenumberEnd: 74
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.lang.SequentialReader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.SequentialByteArrayReader].skip(long)"
    - "[com.drew.lang.StreamReader].skip(long)"
    - "[com.drew.lang.SequentialReader].getUInt16()"
    - "[com.drew.lang.SequentialReader].getUInt32()"
    - "[com.drew.metadata.Directory].setInt(int,int)"
    - "[com.drew.metadata.Directory].setLong(int,long)"
    - "[com.drew.lang.SequentialReader].skip(long)"
    functionUses: 1
    ICount: 20
    EdgeCount: 10
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mp4.media.Mp4HintHandler:62,1"
      Dst: "[com.drew.lang.SequentialReader].skip(long)"
    - Src: "com.drew.metadata.mp4.media.Mp4HintHandler:64,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt16()"
    - Src: "com.drew.metadata.mp4.media.Mp4HintHandler:66,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt32()"
    - Src: "com.drew.metadata.mp4.media.Mp4HintHandler:69,1"
      Dst: "[com.drew.metadata.Directory].setInt(int,int)"
    - Src: "com.drew.metadata.mp4.media.Mp4HintHandler:71,1"
      Dst: "[com.drew.metadata.Directory].setLong(int,long)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.mp4.media.Mp4HintHandler].processTimeToSample(com.drew.lang.SequentialReader,com.drew.metadata.mp4.Mp4Context)"
    functionSourceFile: "com.drew.metadata.mp4.media.Mp4HintHandler"
    linkageType: ""
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "com.drew.metadata.mp4.Mp4Context"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    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: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.mp4.media.Mp4MetaDirectory].<init>()"
    functionSourceFile: "com.drew.metadata.mp4.media.Mp4MetaDirectory"
    linkageType: ""
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mp4.media.Mp4MediaDirectory].<init>()"
    - "[com.drew.metadata.mp4.media.Mp4MetaDescriptor].<init>(com.drew.metadata.mp4.media.Mp4MetaDirectory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 1
    ICount: 6
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mp4.media.Mp4MetaDirectory:30,1"
      Dst: "[com.drew.metadata.mp4.media.Mp4MediaDirectory].<init>()"
    - Src: "com.drew.metadata.mp4.media.Mp4MetaDirectory:31,1"
      Dst: "[com.drew.metadata.mp4.media.Mp4MetaDescriptor].<init>(com.drew.metadata.mp4.media.Mp4MetaDirectory)"
    - Src: "com.drew.metadata.mp4.media.Mp4MetaDirectory:31,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.mp4.media.Mp4MetaDirectory].getName()"
    functionSourceFile: "com.drew.metadata.mp4.media.Mp4MetaDirectory"
    linkageType: ""
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.mp4.media.Mp4MetaDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.mp4.media.Mp4MetaDirectory"
    linkageType: ""
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.jpeg.HuffmanTablesDirectory].<init>()"
    functionSourceFile: "com.drew.metadata.jpeg.HuffmanTablesDirectory"
    linkageType: ""
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].<init>(int)"
    - "[com.drew.metadata.Directory].<init>()"
    - "[com.drew.metadata.jpeg.HuffmanTablesDescriptor].<init>(com.drew.metadata.jpeg.HuffmanTablesDirectory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 1
    ICount: 9
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.jpeg.HuffmanTablesDirectory:132,1"
      Dst: "[com.drew.metadata.Directory].<init>()"
    - Src: "com.drew.metadata.jpeg.HuffmanTablesDirectory:120,1"
      Dst: "[java.util.ArrayList].<init>(int)"
    - Src: "com.drew.metadata.jpeg.HuffmanTablesDirectory:133,1"
      Dst: "[com.drew.metadata.jpeg.HuffmanTablesDescriptor].<init>(com.drew.metadata.jpeg.HuffmanTablesDirectory)"
    - Src: "com.drew.metadata.jpeg.HuffmanTablesDirectory:133,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.jpeg.HuffmanTablesDirectory].getName()"
    functionSourceFile: "com.drew.metadata.jpeg.HuffmanTablesDirectory"
    linkageType: ""
    functionLinenumber: 139
    functionLinenumberEnd: 141
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.jpeg.HuffmanTablesDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.jpeg.HuffmanTablesDirectory"
    linkageType: ""
    functionLinenumber: 146
    functionLinenumberEnd: 148
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.jpeg.HuffmanTablesDirectory].getTable(int)"
    functionSourceFile: "com.drew.metadata.jpeg.HuffmanTablesDirectory"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.List].get(int)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.jpeg.HuffmanTablesDirectory:158,1"
      Dst: "[java.util.List].get(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: "[com.drew.metadata.jpeg.HuffmanTablesDirectory].getNumberOfTables()"
    functionSourceFile: "com.drew.metadata.jpeg.HuffmanTablesDirectory"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInt(int)"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.jpeg.HuffmanTablesDirectory:166,1"
      Dst: "[com.drew.metadata.Directory].getInt(int)"
    JavaMethodInfo:
      exceptions:
      - "com.drew.metadata.MetadataException"
      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: "[com.drew.metadata.jpeg.HuffmanTablesDirectory].getTables()"
    functionSourceFile: "com.drew.metadata.jpeg.HuffmanTablesDirectory"
    linkageType: ""
    functionLinenumber: 175
    functionLinenumberEnd: 177
    functionDepth: 0
    returnType: "java.util.List"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.jpeg.HuffmanTablesDirectory].isTypical()"
    functionSourceFile: "com.drew.metadata.jpeg.HuffmanTablesDirectory"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.List].size()"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable].isTypical()"
    functionUses: 0
    ICount: 16
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.metadata.jpeg.HuffmanTablesDirectory:206"
      Branch Sides:
      - BranchSide: "com.drew.metadata.jpeg.HuffmanTablesDirectory:209"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.jpeg.HuffmanTablesDirectory:208"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.jpeg.HuffmanTablesDirectory:209"
      Branch Sides:
      - BranchSide: "com.drew.metadata.jpeg.HuffmanTablesDirectory:214"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.jpeg.HuffmanTablesDirectory:213"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.jpeg.HuffmanTablesDirectory:210"
      Branch Sides:
      - BranchSide: "com.drew.metadata.jpeg.HuffmanTablesDirectory:213"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.jpeg.HuffmanTablesDirectory:212"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.jpeg.HuffmanTablesDirectory:206,1"
      Dst: "[java.util.List].size()"
    - Src: "com.drew.metadata.jpeg.HuffmanTablesDirectory:209,1"
      Dst: "[java.util.List].iterator()"
    - Src: "com.drew.metadata.jpeg.HuffmanTablesDirectory:209,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.drew.metadata.jpeg.HuffmanTablesDirectory:209,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.drew.metadata.jpeg.HuffmanTablesDirectory:210,1"
      Dst: "[com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable].isTypical()"
    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: 2
  - functionName: "[com.drew.metadata.jpeg.HuffmanTablesDirectory].isOptimized()"
    functionSourceFile: "com.drew.metadata.jpeg.HuffmanTablesDirectory"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.jpeg.HuffmanTablesDirectory].isTypical()"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.metadata.jpeg.HuffmanTablesDirectory:226"
      Branch Sides:
      - BranchSide: "com.drew.metadata.jpeg.HuffmanTablesDirectory:225"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.jpeg.HuffmanTablesDirectory:226,1"
      Dst: "[com.drew.metadata.jpeg.HuffmanTablesDirectory].isTypical()"
    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: "[com.drew.lang.SequentialByteArrayReader].trySkip(long)"
    functionSourceFile: "com.drew.lang.SequentialByteArrayReader"
    linkageType: ""
    functionLinenumber: 111
    functionLinenumberEnd: 124
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    functionUses: 1
    ICount: 27
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "com.drew.lang.SequentialByteArrayReader:112"
      Branch Sides:
      - BranchSide: "com.drew.lang.SequentialByteArrayReader:116"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "com.drew.lang.SequentialByteArrayReader:115"
        BranchSideFuncs: []
    - Branch String: "com.drew.lang.SequentialByteArrayReader:116"
      Branch Sides:
      - BranchSide: "com.drew.lang.SequentialByteArrayReader:121"
        BranchSideFuncs: []
      - BranchSide: "com.drew.lang.SequentialByteArrayReader:120"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.lang.SequentialByteArrayReader:113,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.Face].getX()"
    functionSourceFile: "com.drew.metadata.Face"
    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: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.Face].getY()"
    functionSourceFile: "com.drew.metadata.Face"
    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: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.Face].getWidth()"
    functionSourceFile: "com.drew.metadata.Face"
    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: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.Face].getHeight()"
    functionSourceFile: "com.drew.metadata.Face"
    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: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.Face].getName()"
    functionSourceFile: "com.drew.metadata.Face"
    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: "[com.drew.metadata.Face].getAge()"
    functionSourceFile: "com.drew.metadata.Face"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.drew.metadata.Age"
    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: "[com.drew.metadata.Face].equals(java.lang.Object)"
    functionSourceFile: "com.drew.metadata.Face"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].getClass()"
    - "[com.drew.metadata.Age].equals(java.lang.Object)"
    - "[java.lang.String].equals(java.lang.Object)"
    functionUses: 0
    ICount: 47
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.metadata.Face:91"
      Branch Sides:
      - BranchSide: "com.drew.metadata.Face:92"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.Face:91"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.Face:92"
      Branch Sides:
      - BranchSide: "com.drew.metadata.Face:91"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.Face:92"
      Branch Sides:
      - BranchSide: "com.drew.metadata.Face:93"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.Face:96"
      Branch Sides:
      - BranchSide: "com.drew.metadata.Face:97"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.Face:96"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.Face:97"
      Branch Sides:
      - BranchSide: "com.drew.metadata.Face:98"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.Face:97"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.Face:98"
      Branch Sides:
      - BranchSide: "com.drew.metadata.Face:99"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.Face:98"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.Face:99"
      Branch Sides:
      - BranchSide: "com.drew.metadata.Face:100"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.Face:99"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.Face:100"
      Branch Sides:
      - BranchSide: "com.drew.metadata.Face:100"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.Face:99"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.Face:100"
      Branch Sides:
      - BranchSide: "com.drew.metadata.Face:101"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.Face:100"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.Face:100"
      Branch Sides:
      - BranchSide: "com.drew.metadata.Face:101"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.Face:100"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.Face:101"
      Branch Sides:
      - BranchSide: "com.drew.metadata.Face:100"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.Face:101"
      Branch Sides:
      - BranchSide: "com.drew.metadata.Face:102"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.Face:101"
      Branch Sides:
      - BranchSide: "com.drew.metadata.Face:102"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.Face:92,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "com.drew.metadata.Face:100,1"
      Dst: "[com.drew.metadata.Age].equals(java.lang.Object)"
    - Src: "com.drew.metadata.Face:101,1"
      Dst: "[java.lang.String].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: 24
    CyclomaticComplexity: 6
  - functionName: "[com.drew.metadata.Face].hashCode()"
    functionSourceFile: "com.drew.metadata.Face"
    linkageType: ""
    functionLinenumber: 108
    functionLinenumberEnd: 116
    functionDepth: 1
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].hashCode()"
    - "[com.drew.metadata.Age].hashCode()"
    functionUses: 1
    ICount: 28
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.drew.metadata.Face:113"
      Branch Sides:
      - BranchSide: "com.drew.metadata.Face:109"
        BranchSideFuncs:
        - "hashCode()"
      - BranchSide: "com.drew.metadata.Face:108"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.Face:114"
      Branch Sides:
      - BranchSide: "com.drew.metadata.Face:113"
        BranchSideFuncs:
        - "hashCode()"
      - BranchSide: "com.drew.metadata.Face:112"
        BranchSideFuncs:
        - "hashCode()"
    Callsites:
    - Src: "com.drew.metadata.Face:113,1"
      Dst: "[java.lang.String].hashCode()"
    - Src: "com.drew.metadata.Face:114,1"
      Dst: "[com.drew.metadata.Age].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: 7
    CyclomaticComplexity: 3
  - functionName: "[com.drew.metadata.gif.GifAnimationDescriptor].getDescription(int)"
    functionSourceFile: "com.drew.metadata.gif.GifAnimationDescriptor"
    linkageType: ""
    functionLinenumber: 44
    functionLinenumberEnd: 50
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.gif.GifAnimationDescriptor].getIterationCountDescription()"
    - "[com.drew.metadata.TagDescriptor].getDescription(int)"
    functionUses: 1
    ICount: 7
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.gif.GifAnimationDescriptor:47,1"
      Dst: "[com.drew.metadata.gif.GifAnimationDescriptor].getIterationCountDescription()"
    - Src: "com.drew.metadata.gif.GifAnimationDescriptor:49,1"
      Dst: "[com.drew.metadata.TagDescriptor].getDescription(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: 3
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.gif.GifAnimationDescriptor].getIterationCountDescription()"
    functionSourceFile: "com.drew.metadata.gif.GifAnimationDescriptor"
    linkageType: ""
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.Integer].toString()"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 25
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "com.drew.metadata.gif.GifAnimationDescriptor:57"
      Branch Sides:
      - BranchSide: "com.drew.metadata.gif.GifAnimationDescriptor:60"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.gif.GifAnimationDescriptor:59"
        BranchSideFuncs:
        - "<init>()"
        - "intValue()"
        - "append(java.lang.String)"
        - "toString()"
    - Branch String: "com.drew.metadata.gif.GifAnimationDescriptor:60"
      Branch Sides:
      - BranchSide: "com.drew.metadata.gif.GifAnimationDescriptor:59"
        BranchSideFuncs:
        - "<init>()"
        - "intValue()"
        - "append(java.lang.String)"
        - "toString()"
    - Branch String: "com.drew.metadata.gif.GifAnimationDescriptor:60"
      Branch Sides:
      - BranchSide: "com.drew.metadata.gif.GifAnimationDescriptor:59"
        BranchSideFuncs:
        - "<init>()"
        - "intValue()"
        - "append(java.lang.String)"
        - "toString()"
    - Branch String: "com.drew.metadata.gif.GifAnimationDescriptor:60"
      Branch Sides:
      - BranchSide: "com.drew.metadata.gif.GifAnimationDescriptor:59"
        BranchSideFuncs:
        - "<init>()"
        - "intValue()"
        - "append(java.lang.String)"
        - "toString()"
    Callsites:
    - Src: "com.drew.metadata.gif.GifAnimationDescriptor:56,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.gif.GifAnimationDescriptor:60,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.gif.GifAnimationDescriptor:60,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.gif.GifAnimationDescriptor:60,1"
      Dst: "[java.lang.Integer].toString()"
    - Src: "com.drew.metadata.gif.GifAnimationDescriptor:60,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.gif.GifAnimationDescriptor:60,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: 10
    CyclomaticComplexity: 4
  - functionName: "[com.drew.metadata.exif.ExifThumbnailDescriptor].getDescription(int)"
    functionSourceFile: "com.drew.metadata.exif.ExifThumbnailDescriptor"
    linkageType: ""
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.ExifThumbnailDescriptor].getThumbnailOffsetDescription()"
    - "[com.drew.metadata.exif.ExifThumbnailDescriptor].getThumbnailLengthDescription()"
    - "[com.drew.metadata.exif.ExifDescriptorBase].getDescription(int)"
    functionUses: 1
    ICount: 9
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.ExifThumbnailDescriptor:48,1"
      Dst: "[com.drew.metadata.exif.ExifThumbnailDescriptor].getThumbnailOffsetDescription()"
    - Src: "com.drew.metadata.exif.ExifThumbnailDescriptor:50,1"
      Dst: "[com.drew.metadata.exif.ExifThumbnailDescriptor].getThumbnailLengthDescription()"
    - Src: "com.drew.metadata.exif.ExifThumbnailDescriptor:52,1"
      Dst: "[com.drew.metadata.exif.ExifDescriptorBase].getDescription(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: 1
  - functionName: "[com.drew.metadata.exif.ExifThumbnailDescriptor].getThumbnailOffsetDescription()"
    functionSourceFile: "com.drew.metadata.exif.ExifThumbnailDescriptor"
    linkageType: ""
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.ExifThumbnailDirectory].getAdjustedThumbnailOffset()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.StringBuilder].append(int)"
    functionUses: 1
    ICount: 14
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.ExifThumbnailDescriptor:68"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifThumbnailDescriptor:65"
        BranchSideFuncs:
        - "<init>()"
        - "intValue()"
        - "getAdjustedThumbnailOffset()"
        - "append(java.lang.String)"
        - "toString()"
    Callsites:
    - Src: "com.drew.metadata.exif.ExifThumbnailDescriptor:66,1"
      Dst: "[com.drew.metadata.exif.ExifThumbnailDirectory].getAdjustedThumbnailOffset()"
    - Src: "com.drew.metadata.exif.ExifThumbnailDescriptor:68,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.ExifThumbnailDescriptor:68,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.ExifThumbnailDescriptor:68,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    - Src: "com.drew.metadata.exif.ExifThumbnailDescriptor:68,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.ExifThumbnailDescriptor:68,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: 4
    CyclomaticComplexity: 2
  - functionName: "[com.drew.metadata.exif.ExifThumbnailDescriptor].getThumbnailLengthDescription()"
    functionSourceFile: "com.drew.metadata.exif.ExifThumbnailDescriptor"
    linkageType: ""
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getString(int)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 13
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.ExifThumbnailDescriptor:60"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.ExifThumbnailDescriptor:58"
        BranchSideFuncs:
        - "<init>()"
        - "append(java.lang.String)"
        - "toString()"
        - "getString(int)"
    Callsites:
    - Src: "com.drew.metadata.exif.ExifThumbnailDescriptor:59,1"
      Dst: "[com.drew.metadata.Directory].getString(int)"
    - Src: "com.drew.metadata.exif.ExifThumbnailDescriptor:60,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.ExifThumbnailDescriptor:60,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.ExifThumbnailDescriptor:60,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: 4
    CyclomaticComplexity: 2
  - functionName: "[com.drew.metadata.exif.makernotes.AppleMakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.AppleMakernoteDirectory)"
    functionSourceFile: "com.drew.metadata.exif.makernotes.AppleMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.exif.makernotes.AppleMakernoteDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.AppleMakernoteDescriptor:40,1"
      Dst: "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    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: "[com.drew.metadata.exif.makernotes.AppleMakernoteDescriptor].getDescription(int)"
    functionSourceFile: "com.drew.metadata.exif.makernotes.AppleMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 46
    functionLinenumberEnd: 54
    functionDepth: 3
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.makernotes.AppleMakernoteDescriptor].getHdrImageTypeDescription()"
    - "[com.drew.metadata.exif.makernotes.AppleMakernoteDescriptor].getAccelerationVectorDescription()"
    - "[com.drew.metadata.TagDescriptor].getDescription(int)"
    functionUses: 1
    ICount: 9
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.AppleMakernoteDescriptor:49,1"
      Dst: "[com.drew.metadata.exif.makernotes.AppleMakernoteDescriptor].getHdrImageTypeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.AppleMakernoteDescriptor:51,1"
      Dst: "[com.drew.metadata.exif.makernotes.AppleMakernoteDescriptor].getAccelerationVectorDescription()"
    - Src: "com.drew.metadata.exif.makernotes.AppleMakernoteDescriptor:53,1"
      Dst: "[com.drew.metadata.TagDescriptor].getDescription(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: 1
  - functionName: "[com.drew.metadata.exif.makernotes.AppleMakernoteDescriptor].getHdrImageTypeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.AppleMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,java.lang.String[])"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.AppleMakernoteDescriptor:60,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,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: "[com.drew.metadata.exif.makernotes.AppleMakernoteDescriptor].getAccelerationVectorDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.AppleMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getRationalArray(int)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[com.drew.lang.Rational].doubleValue()"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[com.drew.lang.Rational].getAbsolute()"
    - "[com.drew.lang.Rational].isPositive()"
    - "[java.lang.Double].valueOf(double)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 57
    EdgeCount: 21
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.AppleMakernoteDescriptor:67"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.AppleMakernoteDescriptor:68"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.AppleMakernoteDescriptor:67"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.AppleMakernoteDescriptor:67"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.AppleMakernoteDescriptor:69"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.AppleMakernoteDescriptor:68"
        BranchSideFuncs:
        - "<init>()"
    - Branch String: "com.drew.metadata.exif.makernotes.AppleMakernoteDescriptor:69"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.AppleMakernoteDescriptor:69"
        BranchSideFuncs:
        - "<init>()"
      - BranchSide: "com.drew.metadata.exif.makernotes.AppleMakernoteDescriptor:68"
        BranchSideFuncs:
        - "<init>()"
    - Branch String: "com.drew.metadata.exif.makernotes.AppleMakernoteDescriptor:70"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.AppleMakernoteDescriptor:69"
        BranchSideFuncs:
        - "doubleValue()"
        - "append(java.lang.String)"
        - "toString()"
        - "format(java.lang.String,java.lang.Object[])"
        - "getAbsolute()"
        - "isPositive()"
        - "valueOf(double)"
      - BranchSide: "com.drew.metadata.exif.makernotes.AppleMakernoteDescriptor:68"
        BranchSideFuncs:
        - "<init>()"
    - Branch String: "com.drew.metadata.exif.makernotes.AppleMakernoteDescriptor:71"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.AppleMakernoteDescriptor:69"
        BranchSideFuncs:
        - "doubleValue()"
        - "append(java.lang.String)"
        - "toString()"
        - "format(java.lang.String,java.lang.Object[])"
        - "getAbsolute()"
        - "isPositive()"
        - "valueOf(double)"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.AppleMakernoteDescriptor:66,1"
      Dst: "[com.drew.metadata.Directory].getRationalArray(int)"
    - Src: "com.drew.metadata.exif.makernotes.AppleMakernoteDescriptor:69,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.AppleMakernoteDescriptor:69,1"
      Dst: "[com.drew.lang.Rational].getAbsolute()"
    - Src: "com.drew.metadata.exif.makernotes.AppleMakernoteDescriptor:69,1"
      Dst: "[com.drew.lang.Rational].doubleValue()"
    - Src: "com.drew.metadata.exif.makernotes.AppleMakernoteDescriptor:69,1"
      Dst: "[java.lang.Double].valueOf(double)"
    - Src: "com.drew.metadata.exif.makernotes.AppleMakernoteDescriptor:69,1"
      Dst: "[com.drew.lang.Rational].isPositive()"
    - Src: "com.drew.metadata.exif.makernotes.AppleMakernoteDescriptor:69,1"
      Dst: "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - Src: "com.drew.metadata.exif.makernotes.AppleMakernoteDescriptor:69,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.AppleMakernoteDescriptor:71,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: 13
    CyclomaticComplexity: 5
  - functionName: "[com.drew.lang.RandomAccessFileReader].toUnshiftedOffset(int)"
    functionSourceFile: "com.drew.lang.RandomAccessFileReader"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 1
    argTypes:
    - "int"
    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: "[com.drew.lang.RandomAccessFileReader].getLength()"
    functionSourceFile: "com.drew.lang.RandomAccessFileReader"
    linkageType: ""
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionDepth: 0
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 7
    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: "[com.drew.lang.RandomAccessFileReader].getByte(int)"
    functionSourceFile: "com.drew.lang.RandomAccessFileReader"
    linkageType: ""
    functionLinenumber: 77
    functionLinenumberEnd: 87
    functionDepth: 1
    returnType: "byte"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.RandomAccessFileReader].seek(int)"
    - "[java.io.RandomAccessFile].read()"
    - "[com.drew.lang.BufferBoundsException].<init>(java.lang.String)"
    - "[java.lang.AssertionError].<init>()"
    functionUses: 67
    ICount: 22
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.drew.lang.RandomAccessFileReader:78"
      Branch Sides:
      - BranchSide: "com.drew.lang.RandomAccessFileReader:81"
        BranchSideFuncs:
        - "seek(int)"
      - BranchSide: "com.drew.lang.RandomAccessFileReader:80"
        BranchSideFuncs:
        - "read()"
    - Branch String: "com.drew.lang.RandomAccessFileReader:82"
      Branch Sides:
      - BranchSide: "com.drew.lang.RandomAccessFileReader:84"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "com.drew.lang.RandomAccessFileReader:83"
        BranchSideFuncs:
        - "<init>()"
    - Branch String: "com.drew.lang.RandomAccessFileReader:84"
      Branch Sides:
      - BranchSide: "com.drew.lang.RandomAccessFileReader:85"
        BranchSideFuncs: []
      - BranchSide: "com.drew.lang.RandomAccessFileReader:84"
        BranchSideFuncs: []
    - Branch String: "com.drew.lang.RandomAccessFileReader:84"
      Branch Sides:
      - BranchSide: "com.drew.lang.RandomAccessFileReader:85"
        BranchSideFuncs: []
      - BranchSide: "com.drew.lang.RandomAccessFileReader:84"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.lang.RandomAccessFileReader:79,1"
      Dst: "[com.drew.lang.RandomAccessFileReader].seek(int)"
    - Src: "com.drew.lang.RandomAccessFileReader:81,1"
      Dst: "[java.io.RandomAccessFile].read()"
    - Src: "com.drew.lang.RandomAccessFileReader:83,1"
      Dst: "[com.drew.lang.BufferBoundsException].<init>(java.lang.String)"
    - Src: "com.drew.lang.RandomAccessFileReader:84,1"
      Dst: "[java.lang.AssertionError].<init>()"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.lang.RandomAccessFileReader].seek(int)"
    functionSourceFile: "com.drew.lang.RandomAccessFileReader"
    linkageType: ""
    functionLinenumber: 107
    functionLinenumberEnd: 114
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.RandomAccessFile].seek(long)"
    functionUses: 2
    ICount: 10
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "com.drew.lang.RandomAccessFileReader:108"
      Branch Sides:
      - BranchSide: "com.drew.lang.RandomAccessFileReader:111"
        BranchSideFuncs: []
      - BranchSide: "com.drew.lang.RandomAccessFileReader:110"
        BranchSideFuncs:
        - "seek(long)"
    Callsites:
    - Src: "com.drew.lang.RandomAccessFileReader:111,1"
      Dst: "[java.io.RandomAccessFile].seek(long)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.lang.RandomAccessFileReader].getBytes(int,int)"
    functionSourceFile: "com.drew.lang.RandomAccessFileReader"
    linkageType: ""
    functionLinenumber: 92
    functionLinenumberEnd: 104
    functionDepth: 3
    returnType: "byte[]"
    argCount: 2
    argTypes:
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.RandomAccessFileReader].validateIndex(int,int)"
    - "[com.drew.lang.RandomAccessFileReader].seek(int)"
    - "[java.io.RandomAccessFile].read(byte[])"
    - "[com.drew.lang.BufferBoundsException].<init>(java.lang.String)"
    functionUses: 23
    ICount: 18
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.drew.lang.RandomAccessFileReader:95"
      Branch Sides:
      - BranchSide: "com.drew.lang.RandomAccessFileReader:98"
        BranchSideFuncs:
        - "seek(int)"
      - BranchSide: "com.drew.lang.RandomAccessFileReader:97"
        BranchSideFuncs:
        - "read(byte[])"
    - Branch String: "com.drew.lang.RandomAccessFileReader:101"
      Branch Sides:
      - BranchSide: "com.drew.lang.RandomAccessFileReader:103"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "com.drew.lang.RandomAccessFileReader:102"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.lang.RandomAccessFileReader:93,1"
      Dst: "[com.drew.lang.RandomAccessFileReader].validateIndex(int,int)"
    - Src: "com.drew.lang.RandomAccessFileReader:96,1"
      Dst: "[com.drew.lang.RandomAccessFileReader].seek(int)"
    - Src: "com.drew.lang.RandomAccessFileReader:99,1"
      Dst: "[java.io.RandomAccessFile].read(byte[])"
    - Src: "com.drew.lang.RandomAccessFileReader:102,1"
      Dst: "[com.drew.lang.BufferBoundsException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.lang.RandomAccessFileReader].validateIndex(int,int)"
    functionSourceFile: "com.drew.lang.RandomAccessFileReader"
    linkageType: ""
    functionLinenumber: 125
    functionLinenumberEnd: 129
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.RandomAccessFileReader].isValidIndex(int,int)"
    - "[com.drew.lang.BufferBoundsException].<init>(int,int,long)"
    functionUses: 11
    ICount: 10
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.drew.lang.RandomAccessFileReader:126"
      Branch Sides:
      - BranchSide: "com.drew.lang.RandomAccessFileReader:128"
        BranchSideFuncs:
        - "<init>(int,int,long)"
      - BranchSide: "com.drew.lang.RandomAccessFileReader:127"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.lang.RandomAccessFileReader:126,1"
      Dst: "[com.drew.lang.RandomAccessFileReader].isValidIndex(int,int)"
    - Src: "com.drew.lang.RandomAccessFileReader:127,1"
      Dst: "[com.drew.lang.BufferBoundsException].<init>(int,int,long)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.lang.RandomAccessFileReader].isValidIndex(int,int)"
    functionSourceFile: "com.drew.lang.RandomAccessFileReader"
    linkageType: ""
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionDepth: 0
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 17
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.lang.RandomAccessFileReader:118"
      Branch Sides:
      - BranchSide: "com.drew.lang.RandomAccessFileReader:-2"
        BranchSideFuncs: []
    - Branch String: "com.drew.lang.RandomAccessFileReader:118"
      Branch Sides:
      - BranchSide: "com.drew.lang.RandomAccessFileReader:-2"
        BranchSideFuncs: []
    - Branch String: "com.drew.lang.RandomAccessFileReader:118"
      Branch Sides:
      - BranchSide: "com.drew.lang.RandomAccessFileReader:-2"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 4
  - functionName: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.CanonMakernoteDirectory)"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.exif.makernotes.CanonMakernoteDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:42,1"
      Dst: "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    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: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getDescription(int)"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 48
    functionLinenumberEnd: 162
    functionDepth: 3
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getSerialNumberDescription()"
    - "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getFlashActivityDescription()"
    - "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getFocusTypeDescription()"
    - "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getDigitalZoomDescription()"
    - "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getRecordModeDescription()"
    - "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getQualityDescription()"
    - "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getMacroModeDescription()"
    - "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getSelfTimerDelayDescription()"
    - "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getFlashModeDescription()"
    - "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getContinuousDriveModeDescription()"
    - "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getFocusMode1Description()"
    - "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getImageSizeDescription()"
    - "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getEasyShootingModeDescription()"
    - "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getContrastDescription()"
    - "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getSaturationDescription()"
    - "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getSharpnessDescription()"
    - "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getIsoDescription()"
    - "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getMeteringModeDescription()"
    - "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getAfPointSelectedDescription()"
    - "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getExposureModeDescription()"
    - "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getLensTypeDescription()"
    - "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getLongFocalLengthDescription()"
    - "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getShortFocalLengthDescription()"
    - "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getFocalUnitsPerMillimetreDescription()"
    - "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getFlashDetailsDescription()"
    - "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getFocusMode2Description()"
    - "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getWhiteBalanceDescription()"
    - "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getAfPointUsedDescription()"
    - "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getFlashBiasDescription()"
    - "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getTagAfPointsInFocus()"
    - "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getMaxApertureDescription()"
    - "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getMinApertureDescription()"
    - "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getFocusContinuousDescription()"
    - "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getAESettingDescription()"
    - "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getDisplayApertureDescription()"
    - "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getSpotMeteringModeDescription()"
    - "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getPhotoEffectDescription()"
    - "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getManualFlashOutputDescription()"
    - "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getColorToneDescription()"
    - "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getSRawQualityDescription()"
    - "[com.drew.metadata.TagDescriptor].getDescription(int)"
    functionUses: 1
    ICount: 85
    EdgeCount: 41
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:51,1"
      Dst: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getSerialNumberDescription()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:53,1"
      Dst: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getFlashActivityDescription()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:55,1"
      Dst: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getFocusTypeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:57,1"
      Dst: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getDigitalZoomDescription()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:59,1"
      Dst: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getRecordModeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:61,1"
      Dst: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getQualityDescription()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:63,1"
      Dst: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getMacroModeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:65,1"
      Dst: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getSelfTimerDelayDescription()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:67,1"
      Dst: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getFlashModeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:69,1"
      Dst: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getContinuousDriveModeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:71,1"
      Dst: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getFocusMode1Description()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:73,1"
      Dst: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getImageSizeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:75,1"
      Dst: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getEasyShootingModeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:77,1"
      Dst: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getContrastDescription()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:79,1"
      Dst: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getSaturationDescription()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:81,1"
      Dst: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getSharpnessDescription()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:83,1"
      Dst: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getIsoDescription()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:85,1"
      Dst: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getMeteringModeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:87,1"
      Dst: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getAfPointSelectedDescription()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:89,1"
      Dst: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getExposureModeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:91,1"
      Dst: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getLensTypeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:93,1"
      Dst: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getLongFocalLengthDescription()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:95,1"
      Dst: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getShortFocalLengthDescription()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:97,1"
      Dst: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getFocalUnitsPerMillimetreDescription()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:99,1"
      Dst: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getFlashDetailsDescription()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:101,1"
      Dst: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getFocusMode2Description()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:103,1"
      Dst: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getWhiteBalanceDescription()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:105,1"
      Dst: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getAfPointUsedDescription()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:107,1"
      Dst: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getFlashBiasDescription()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:109,1"
      Dst: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getTagAfPointsInFocus()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:111,1"
      Dst: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getMaxApertureDescription()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:113,1"
      Dst: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getMinApertureDescription()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:115,1"
      Dst: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getFocusContinuousDescription()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:117,1"
      Dst: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getAESettingDescription()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:119,1"
      Dst: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getDisplayApertureDescription()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:121,1"
      Dst: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getSpotMeteringModeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:123,1"
      Dst: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getPhotoEffectDescription()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:125,1"
      Dst: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getManualFlashOutputDescription()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:127,1"
      Dst: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getColorToneDescription()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:129,1"
      Dst: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getSRawQualityDescription()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:161,1"
      Dst: "[com.drew.metadata.TagDescriptor].getDescription(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: 42
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getSerialNumberDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 168
    functionLinenumberEnd: 173
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.Integer].valueOf(int)"
    functionUses: 1
    ICount: 18
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:170"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:172"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:171"
        BranchSideFuncs:
        - "intValue()"
        - "format(java.lang.String,java.lang.Object[])"
        - "valueOf(int)"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:169,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:172,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:172,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:172,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: 3
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getFlashActivityDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 825
    functionLinenumberEnd: 827
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:826,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getFocusTypeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 805
    functionLinenumberEnd: 820
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 20
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:807"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:809"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:808"
        BranchSideFuncs:
        - "intValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:806,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:809,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:819,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:819,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:819,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:819,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: 8
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getDigitalZoomDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 793
    functionLinenumberEnd: 795
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 8
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:794,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getRecordModeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 799
    functionLinenumberEnd: 801
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,java.lang.String[])"
    functionUses: 1
    ICount: 15
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:800,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,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: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getQualityDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 763
    functionLinenumberEnd: 788
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 25
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:765"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:767"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:766"
        BranchSideFuncs:
        - "intValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:764,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:767,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:787,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:787,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:787,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:787,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: 13
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getMacroModeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 757
    functionLinenumberEnd: 759
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,java.lang.String[])"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:758,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,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: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getSelfTimerDelayDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 743
    functionLinenumberEnd: 752
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.text.DecimalFormat].<init>(java.lang.String)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.text.NumberFormat].format(double)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 22
    EdgeCount: 9
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:745"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:747"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:746"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:747"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:750"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:749"
        BranchSideFuncs:
        - "format(double)"
        - "<init>()"
        - "intValue()"
        - "append(java.lang.String)"
        - "toString()"
        - "<init>(java.lang.String)"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:744,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:747,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:750,1"
      Dst: "[java.text.DecimalFormat].<init>(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:751,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:751,1"
      Dst: "[java.text.NumberFormat].format(double)"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:751,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:751,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: 5
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getFlashModeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 714
    functionLinenumberEnd: 738
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 24
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:716"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:718"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:717"
        BranchSideFuncs:
        - "intValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:715,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:718,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:737,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:737,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:737,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:737,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: 12
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getContinuousDriveModeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 697
    functionLinenumberEnd: 710
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 28
    EdgeCount: 9
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:699"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:701"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:700"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:704"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:707"
        BranchSideFuncs:
        - "intValue()"
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:706"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:705"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:704"
        BranchSideFuncs:
        - "intValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:698,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:701,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:709,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:709,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:709,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:709,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: 10
    CyclomaticComplexity: 3
  - functionName: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getFocusMode1Description()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 681
    functionLinenumberEnd: 683
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 12
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:682,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getImageSizeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 670
    functionLinenumberEnd: 672
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 8
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:671,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getEasyShootingModeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 650
    functionLinenumberEnd: 652
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 17
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:651,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getContrastDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 632
    functionLinenumberEnd: 645
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 19
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:634"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:636"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:635"
        BranchSideFuncs:
        - "intValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:633,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:636,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:644,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:644,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:644,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:644,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: 7
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getSaturationDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 614
    functionLinenumberEnd: 627
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 19
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:616"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:618"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:617"
        BranchSideFuncs:
        - "intValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:615,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:618,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:626,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:626,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:626,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:626,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: 7
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getSharpnessDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 596
    functionLinenumberEnd: 609
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 19
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:598"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:600"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:599"
        BranchSideFuncs:
        - "intValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:597,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:600,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:608,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:608,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:608,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:608,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: 7
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getIsoDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 566
    functionLinenumberEnd: 591
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(int)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    functionUses: 1
    ICount: 34
    EdgeCount: 13
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:568"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:573"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:572"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:573"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:576"
        BranchSideFuncs:
        - "append(int)"
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:575"
        BranchSideFuncs:
        - "intValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:567,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:573,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:574,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:574,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:574,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:574,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:590,1"
      Dst: "[java.lang.StringBuilder].append(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: 12
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getMeteringModeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 554
    functionLinenumberEnd: 556
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,java.lang.String[])"
    functionUses: 1
    ICount: 8
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:555,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,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: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getAfPointSelectedDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 540
    functionLinenumberEnd: 542
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,java.lang.String[])"
    functionUses: 1
    ICount: 10
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:541,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,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: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getExposureModeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 493
    functionLinenumberEnd: 495
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 11
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:494,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getLensTypeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 506
    functionLinenumberEnd: 514
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.util.HashMap].containsKey(java.lang.Object)"
    - "[java.util.HashMap].get(java.lang.Object)"
    - "[java.util.LinkedHashMap].get(java.lang.Object)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    functionUses: 1
    ICount: 18
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:508"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:511"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:510"
        BranchSideFuncs:
        - "containsKey(java.lang.Object)"
    - Branch String: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:511"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:513"
        BranchSideFuncs:
        - "get(java.lang.Object)"
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:512"
        BranchSideFuncs:
        - "format(java.lang.String,java.lang.Object[])"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:507,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:511,1"
      Dst: "[java.util.HashMap].containsKey(java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:512,1"
      Dst: "[java.util.HashMap].get(java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:513,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: 6
    CyclomaticComplexity: 2
  - functionName: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getLongFocalLengthDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 483
    functionLinenumberEnd: 489
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getFocalUnitsPerMillimetreDescription()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.Integer].toString(int)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 17
    EdgeCount: 9
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:485"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:487"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:486"
        BranchSideFuncs:
        - "<init>()"
        - "intValue()"
        - "append(java.lang.String)"
        - "toString()"
        - "toString(int)"
        - "getFocalUnitsPerMillimetreDescription()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:484,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:487,1"
      Dst: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getFocalUnitsPerMillimetreDescription()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:488,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:488,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:488,1"
      Dst: "[java.lang.Integer].toString(int)"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:488,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:488,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: 3
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getFocalUnitsPerMillimetreDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 460
    functionLinenumberEnd: 468
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.Integer].toString(int)"
    functionUses: 3
    ICount: 13
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:462"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:464"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:463"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:464"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:467"
        BranchSideFuncs:
        - "intValue()"
        - "toString(int)"
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:466"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:461,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:464,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:465,1"
      Dst: "[java.lang.Integer].toString(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: 5
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getShortFocalLengthDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 473
    functionLinenumberEnd: 479
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getFocalUnitsPerMillimetreDescription()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.Integer].toString(int)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 17
    EdgeCount: 9
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:475"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:477"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:476"
        BranchSideFuncs:
        - "<init>()"
        - "intValue()"
        - "append(java.lang.String)"
        - "toString()"
        - "toString(int)"
        - "getFocalUnitsPerMillimetreDescription()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:474,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:477,1"
      Dst: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getFocalUnitsPerMillimetreDescription()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:478,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:478,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:478,1"
      Dst: "[java.lang.Integer].toString(int)"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:478,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:478,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: 3
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getFlashDetailsDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 439
    functionLinenumberEnd: 456
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 34
    EdgeCount: 10
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:441"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:443"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:442"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:443"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:446"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:445"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:446"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:449"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:448"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:449"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:452"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:451"
        BranchSideFuncs:
        - "intValue()"
    - Branch String: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:452"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:455"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:454"
        BranchSideFuncs:
        - "<init>()"
        - "append(java.lang.String)"
        - "append(java.lang.Object)"
        - "toString()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:440,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:443,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:455,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:455,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:455,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:455,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: 11
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getFocusMode2Description()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 433
    functionLinenumberEnd: 435
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:434,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getWhiteBalanceDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 418
    functionLinenumberEnd: 420
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 12
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:419,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getAfPointUsedDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 379
    functionLinenumberEnd: 391
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 26
    EdgeCount: 9
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:381"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:383"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:382"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:383"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:385"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:384"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:385"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:387"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:386"
        BranchSideFuncs:
        - "intValue()"
    - Branch String: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:387"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:390"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:389"
        BranchSideFuncs:
        - "<init>()"
        - "append(java.lang.String)"
        - "append(java.lang.Object)"
        - "toString()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:380,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:383,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:390,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:390,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:390,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:390,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: 9
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getFlashBiasDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 356
    functionLinenumberEnd: 375
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.Integer].valueOf(int)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.Float].toString(float)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 35
    EdgeCount: 13
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:359"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:362"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:361"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:363"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:374"
        BranchSideFuncs:
        - "valueOf(int)"
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:373"
        BranchSideFuncs:
        - "<init>()"
        - "intValue()"
        - "append(java.lang.String)"
        - "toString()"
        - "toString(float)"
    - Branch String: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:374"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:373"
        BranchSideFuncs:
        - "<init>()"
        - "intValue()"
        - "append(java.lang.String)"
        - "toString()"
        - "toString(float)"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:357,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:363,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:365,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:374,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:374,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:374,1"
      Dst: "[java.lang.Float].toString(float)"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:374,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: 8
    CyclomaticComplexity: 3
  - functionName: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getTagAfPointsInFocus()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 396
    functionLinenumberEnd: 414
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].length()"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].append(int)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 27
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:398"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:401"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:400"
        BranchSideFuncs:
        - "<init>()"
    - Branch String: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:403"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:412"
        BranchSideFuncs:
        - "toString()"
        - "length()"
    - Branch String: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:405"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:400"
        BranchSideFuncs:
        - "<init>()"
    - Branch String: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:407"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:409"
        BranchSideFuncs:
        - "append(char)"
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:408"
        BranchSideFuncs:
        - "append(int)"
    - Branch String: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:413"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:412"
        BranchSideFuncs:
        - "toString()"
        - "length()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:397,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:401,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:405,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:407,1"
      Dst: "[java.lang.StringBuilder].length()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:408,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:409,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:413,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: 13
    CyclomaticComplexity: 5
  - functionName: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getMaxApertureDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 518
    functionLinenumberEnd: 525
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].decodeCanonEv(int)"
    - "[java.lang.Math].exp(double)"
    - "[com.drew.metadata.TagDescriptor].getFStopDescription(double)"
    - "[java.lang.Math].log(double)"
    functionUses: 1
    ICount: 21
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:520"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:522"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:521"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:522"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:524"
        BranchSideFuncs:
        - "format(java.lang.String,java.lang.Object[])"
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:523"
        BranchSideFuncs:
        - "decodeCanonEv(int)"
        - "exp(double)"
        - "intValue()"
        - "log(double)"
        - "getFStopDescription(double)"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:519,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:522,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:523,1"
      Dst: "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:524,1"
      Dst: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].decodeCanonEv(int)"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:524,1"
      Dst: "[java.lang.Math].log(double)"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:524,1"
      Dst: "[java.lang.Math].exp(double)"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:524,1"
      Dst: "[com.drew.metadata.TagDescriptor].getFStopDescription(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: 5
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].decodeCanonEv(int)"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 946
    functionLinenumberEnd: 963
    functionDepth: 0
    returnType: "double"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 19
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:948"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:953"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:957"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:959"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:958"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:959"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:962"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:961"
        BranchSideFuncs: []
    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: 7
    CyclomaticComplexity: 4
  - functionName: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getMinApertureDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 529
    functionLinenumberEnd: 536
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].decodeCanonEv(int)"
    - "[java.lang.Math].exp(double)"
    - "[com.drew.metadata.TagDescriptor].getFStopDescription(double)"
    - "[java.lang.Math].log(double)"
    functionUses: 1
    ICount: 21
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:531"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:533"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:532"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:533"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:535"
        BranchSideFuncs:
        - "format(java.lang.String,java.lang.Object[])"
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:534"
        BranchSideFuncs:
        - "decodeCanonEv(int)"
        - "exp(double)"
        - "intValue()"
        - "log(double)"
        - "getFStopDescription(double)"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:530,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:533,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:534,1"
      Dst: "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:535,1"
      Dst: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].decodeCanonEv(int)"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:535,1"
      Dst: "[java.lang.Math].log(double)"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:535,1"
      Dst: "[java.lang.Math].exp(double)"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:535,1"
      Dst: "[com.drew.metadata.TagDescriptor].getFStopDescription(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: 5
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getFocusContinuousDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 831
    functionLinenumberEnd: 833
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,java.lang.String[])"
    functionUses: 1
    ICount: 14
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:832,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,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: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getAESettingDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 838
    functionLinenumberEnd: 840
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,java.lang.String[])"
    functionUses: 1
    ICount: 10
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:839,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,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: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getDisplayApertureDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 845
    functionLinenumberEnd: 853
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.Integer].toString()"
    - "[com.drew.metadata.TagDescriptor].getFStopDescription(double)"
    functionUses: 1
    ICount: 18
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:847"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:850"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:849"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:850"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:852"
        BranchSideFuncs:
        - "toString()"
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:851"
        BranchSideFuncs:
        - "intValue()"
        - "getFStopDescription(double)"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:846,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:850,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:851,1"
      Dst: "[java.lang.Integer].toString()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:852,1"
      Dst: "[com.drew.metadata.TagDescriptor].getFStopDescription(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: 5
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getSpotMeteringModeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 857
    functionLinenumberEnd: 859
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,java.lang.String[])"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:858,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,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: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getPhotoEffectDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 864
    functionLinenumberEnd: 889
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 24
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:866"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:869"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:868"
        BranchSideFuncs:
        - "intValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:865,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:869,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:888,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:888,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:888,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:888,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: 12
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getManualFlashOutputDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 894
    functionLinenumberEnd: 913
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 21
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:896"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:899"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:898"
        BranchSideFuncs:
        - "intValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:895,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:899,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:912,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:912,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:912,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:912,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: 9
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getColorToneDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 918
    functionLinenumberEnd: 924
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.Integer].toString()"
    functionUses: 1
    ICount: 13
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:920"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:923"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:922"
        BranchSideFuncs:
        - "intValue()"
        - "toString()"
    - Branch String: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:923"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:922"
        BranchSideFuncs:
        - "intValue()"
        - "toString()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:919,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:923,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:923,1"
      Dst: "[java.lang.Integer].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: 6
    CyclomaticComplexity: 2
  - functionName: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].getSRawQualityDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 928
    functionLinenumberEnd: 930
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,java.lang.String[])"
    functionUses: 1
    ICount: 8
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor:929,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,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: "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.NikonType2MakernoteDirectory)"
    functionSourceFile: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.exif.makernotes.NikonType2MakernoteDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:45,1"
      Dst: "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    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: "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getDescription(int)"
    functionSourceFile: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 51
    functionLinenumberEnd: 102
    functionDepth: 5
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getProgramShiftDescription()"
    - "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getExposureDifferenceDescription()"
    - "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getLensDescription()"
    - "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getHueAdjustmentDescription()"
    - "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getColorModeDescription()"
    - "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getAutoFlashCompensationDescription()"
    - "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getFlashExposureCompensationDescription()"
    - "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getFlashBracketCompensationDescription()"
    - "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getExposureTuningDescription()"
    - "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getLensStopsDescription()"
    - "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getColorSpaceDescription()"
    - "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getActiveDLightingDescription()"
    - "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getVignetteControlDescription()"
    - "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getIsoSettingDescription()"
    - "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getDigitalZoomDescription()"
    - "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getFlashUsedDescription()"
    - "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getAutoFocusPositionDescription()"
    - "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getFirmwareVersionDescription()"
    - "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getLensTypeDescription()"
    - "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getShootingModeDescription()"
    - "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getNEFCompressionDescription()"
    - "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getHighISONoiseReductionDescription()"
    - "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getPowerUpTimeDescription()"
    - "[com.drew.metadata.TagDescriptor].getDescription(int)"
    functionUses: 1
    ICount: 51
    EdgeCount: 24
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:55,1"
      Dst: "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getProgramShiftDescription()"
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:57,1"
      Dst: "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getExposureDifferenceDescription()"
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:59,1"
      Dst: "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getLensDescription()"
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:61,1"
      Dst: "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getHueAdjustmentDescription()"
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:63,1"
      Dst: "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getColorModeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:65,1"
      Dst: "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getAutoFlashCompensationDescription()"
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:67,1"
      Dst: "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getFlashExposureCompensationDescription()"
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:69,1"
      Dst: "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getFlashBracketCompensationDescription()"
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:71,1"
      Dst: "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getExposureTuningDescription()"
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:73,1"
      Dst: "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getLensStopsDescription()"
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:75,1"
      Dst: "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getColorSpaceDescription()"
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:77,1"
      Dst: "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getActiveDLightingDescription()"
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:79,1"
      Dst: "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getVignetteControlDescription()"
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:81,1"
      Dst: "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getIsoSettingDescription()"
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:83,1"
      Dst: "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getDigitalZoomDescription()"
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:85,1"
      Dst: "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getFlashUsedDescription()"
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:87,1"
      Dst: "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getAutoFocusPositionDescription()"
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:89,1"
      Dst: "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getFirmwareVersionDescription()"
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:91,1"
      Dst: "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getLensTypeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:93,1"
      Dst: "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getShootingModeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:95,1"
      Dst: "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getNEFCompressionDescription()"
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:97,1"
      Dst: "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getHighISONoiseReductionDescription()"
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:99,1"
      Dst: "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getPowerUpTimeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:101,1"
      Dst: "[com.drew.metadata.TagDescriptor].getDescription(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: 25
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getProgramShiftDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 277
    functionLinenumberEnd: 279
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getEVDescription(int)"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:278,1"
      Dst: "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getEVDescription(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: "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getEVDescription(int)"
    functionSourceFile: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 319
    functionLinenumberEnd: 328
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getIntArray(int)"
    - "[java.text.DecimalFormat].<init>(java.lang.String)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.text.NumberFormat].format(double)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 7
    ICount: 30
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:321"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:322"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:321"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:321"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:323"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:322"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:323"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:324"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:323"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:323"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:325"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:324"
        BranchSideFuncs:
        - "format(double)"
        - "<init>()"
        - "append(java.lang.String)"
        - "toString()"
        - "<init>(java.lang.String)"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:320,1"
      Dst: "[com.drew.metadata.Directory].getIntArray(int)"
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:325,1"
      Dst: "[java.text.DecimalFormat].<init>(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:327,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:327,1"
      Dst: "[java.text.NumberFormat].format(double)"
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:327,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:327,1"
      Dst: "[java.lang.StringBuilder].toString()"
    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: "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getExposureDifferenceDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 283
    functionLinenumberEnd: 285
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getEVDescription(int)"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:284,1"
      Dst: "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getEVDescription(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: "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getLensDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 343
    functionLinenumberEnd: 345
    functionDepth: 4
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getLensSpecificationDescription(int)"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:344,1"
      Dst: "[com.drew.metadata.TagDescriptor].getLensSpecificationDescription(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: "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getHueAdjustmentDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 360
    functionLinenumberEnd: 362
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getFormattedString(int,java.lang.String)"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:361,1"
      Dst: "[com.drew.metadata.TagDescriptor].getFormattedString(int,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: "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getColorModeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 366
    functionLinenumberEnd: 369
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getString(int)"
    - "[java.lang.String].startsWith(java.lang.String)"
    functionUses: 1
    ICount: 13
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:368"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:366"
        BranchSideFuncs:
        - "startsWith(java.lang.String)"
        - "getString(int)"
    - Branch String: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:368"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:366"
        BranchSideFuncs:
        - "startsWith(java.lang.String)"
        - "getString(int)"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:367,1"
      Dst: "[com.drew.metadata.Directory].getString(int)"
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:368,1"
      Dst: "[java.lang.String].startsWith(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: "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getAutoFlashCompensationDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 289
    functionLinenumberEnd: 291
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getEVDescription(int)"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:290,1"
      Dst: "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getEVDescription(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: "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getFlashExposureCompensationDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 295
    functionLinenumberEnd: 297
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getEVDescription(int)"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:296,1"
      Dst: "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getEVDescription(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: "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getFlashBracketCompensationDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 301
    functionLinenumberEnd: 303
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getEVDescription(int)"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:302,1"
      Dst: "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getEVDescription(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: "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getExposureTuningDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 307
    functionLinenumberEnd: 309
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getEVDescription(int)"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:308,1"
      Dst: "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getEVDescription(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: "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getLensStopsDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 313
    functionLinenumberEnd: 315
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getEVDescription(int)"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:314,1"
      Dst: "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getEVDescription(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: "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getColorSpaceDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 199
    functionLinenumberEnd: 201
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,java.lang.String[])"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:200,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,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: "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getActiveDLightingDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 209
    functionLinenumberEnd: 221
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 21
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:211"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:213"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:212"
        BranchSideFuncs:
        - "intValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:210,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:213,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:220,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:220,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:220,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:220,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: 10
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getVignetteControlDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 226
    functionLinenumberEnd: 236
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 19
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:228"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:230"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:229"
        BranchSideFuncs:
        - "intValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:227,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:230,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:235,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:235,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:235,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:235,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: 8
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getIsoSettingDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 332
    functionLinenumberEnd: 339
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getIntArray(int)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[com.drew.metadata.Directory].getString(int)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.StringBuilder].append(int)"
    functionUses: 1
    ICount: 27
    EdgeCount: 11
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:334"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:336"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:335"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:336"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:337"
        BranchSideFuncs:
        - "getString(int)"
      - BranchSide: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:336"
        BranchSideFuncs:
        - "getString(int)"
    - Branch String: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:336"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:338"
        BranchSideFuncs:
        - "getString(int)"
      - BranchSide: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:337"
        BranchSideFuncs:
        - "<init>()"
        - "append(java.lang.String)"
        - "toString()"
        - "append(int)"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:333,1"
      Dst: "[com.drew.metadata.Directory].getIntArray(int)"
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:337,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:337,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:337,1"
      Dst: "[com.drew.metadata.Directory].getString(int)"
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:337,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:338,1"
      Dst: "[java.lang.StringBuilder].append(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: 6
    CyclomaticComplexity: 2
  - functionName: "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getDigitalZoomDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 266
    functionLinenumberEnd: 273
    functionDepth: 3
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getRational(int)"
    - "[com.drew.lang.Rational].intValue()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[com.drew.lang.Rational].toSimpleString(boolean)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 17
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:268"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:270"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:269"
        BranchSideFuncs:
        - "intValue()"
    - Branch String: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:270"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:272"
        BranchSideFuncs:
        - "intValue()"
      - BranchSide: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:271"
        BranchSideFuncs:
        - "<init>()"
        - "toSimpleString(boolean)"
        - "append(java.lang.String)"
        - "toString()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:267,1"
      Dst: "[com.drew.metadata.Directory].getRational(int)"
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:270,1"
      Dst: "[com.drew.lang.Rational].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:272,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:272,1"
      Dst: "[com.drew.lang.Rational].toSimpleString(boolean)"
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:272,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:272,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: 6
    CyclomaticComplexity: 2
  - functionName: "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getFlashUsedDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 138
    functionLinenumberEnd: 140
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 14
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:139,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getAutoFocusPositionDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 241
    functionLinenumberEnd: 261
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getIntArray(int)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[com.drew.metadata.Directory].getString(int)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.StringBuilder].append(int)"
    functionUses: 1
    ICount: 39
    EdgeCount: 12
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:243"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:245"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:244"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:245"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:246"
        BranchSideFuncs:
        - "getString(int)"
      - BranchSide: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:245"
        BranchSideFuncs:
        - "getString(int)"
    - Branch String: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:245"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:246"
        BranchSideFuncs:
        - "getString(int)"
      - BranchSide: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:245"
        BranchSideFuncs:
        - "getString(int)"
    - Branch String: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:245"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:246"
        BranchSideFuncs:
        - "getString(int)"
      - BranchSide: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:245"
        BranchSideFuncs:
        - "getString(int)"
    - Branch String: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:245"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:248"
        BranchSideFuncs:
        - "getString(int)"
      - BranchSide: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:247"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:242,1"
      Dst: "[com.drew.metadata.Directory].getIntArray(int)"
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:246,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:246,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:246,1"
      Dst: "[com.drew.metadata.Directory].getString(int)"
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:246,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:260,1"
      Dst: "[java.lang.StringBuilder].append(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: 14
    CyclomaticComplexity: 4
  - functionName: "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getFirmwareVersionDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 373
    functionLinenumberEnd: 375
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getVersionBytesDescription(int,int)"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:374,1"
      Dst: "[com.drew.metadata.TagDescriptor].getVersionBytesDescription(int,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: "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getLensTypeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 187
    functionLinenumberEnd: 189
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getBitFlagDescription(int,java.lang.Object[])"
    functionUses: 1
    ICount: 11
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:188,1"
      Dst: "[com.drew.metadata.TagDescriptor].getBitFlagDescription(int,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: "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getShootingModeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 171
    functionLinenumberEnd: 173
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getBitFlagDescription(int,java.lang.Object[])"
    functionUses: 1
    ICount: 15
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:172,1"
      Dst: "[com.drew.metadata.TagDescriptor].getBitFlagDescription(int,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: "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getNEFCompressionDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 155
    functionLinenumberEnd: 157
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,java.lang.String[])"
    functionUses: 1
    ICount: 12
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:156,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,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: "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getHighISONoiseReductionDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 11
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:125,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getPowerUpTimeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 112
    functionLinenumberEnd: 120
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getByteArray(int)"
    - "[java.nio.ByteBuffer].wrap(byte[])"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.lang.Short].valueOf(short)"
    - "[java.lang.Byte].valueOf(byte)"
    - "[java.nio.ByteBuffer].getShort()"
    functionUses: 1
    ICount: 33
    EdgeCount: 9
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:114"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:117"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:116"
        BranchSideFuncs:
        - "valueOf(short)"
        - "format(java.lang.String,java.lang.Object[])"
        - "wrap(byte[])"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:113,1"
      Dst: "[com.drew.metadata.Directory].getByteArray(int)"
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:117,1"
      Dst: "[java.nio.ByteBuffer].wrap(byte[])"
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:117,1"
      Dst: "[java.nio.ByteBuffer].getShort()"
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:118,1"
      Dst: "[java.lang.Short].valueOf(short)"
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:118,1"
      Dst: "[java.lang.Byte].valueOf(byte)"
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:118,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: 3
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getLensFocusDistance()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDirectory].getDecryptedIntArray(int)"
    - "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getDistanceInMeters(int)"
    - "[java.lang.Double].valueOf(double)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    functionUses: 0
    ICount: 15
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:352"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:353"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:352"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:352"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:355"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:354"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:350,1"
      Dst: "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDirectory].getDecryptedIntArray(int)"
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:355,1"
      Dst: "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getDistanceInMeters(int)"
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:355,1"
      Dst: "[java.lang.Double].valueOf(double)"
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:355,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: 4
    CyclomaticComplexity: 2
  - functionName: "[com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor].getDistanceInMeters(int)"
    functionSourceFile: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "double"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Math].pow(double,double)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:379"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:381"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:380"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.NikonType2MakernoteDescriptor:381,1"
      Dst: "[java.lang.Math].pow(double,double)"
    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: "[com.drew.metadata.jpeg.JpegCommentDirectory].<init>()"
    functionSourceFile: "com.drew.metadata.jpeg.JpegCommentDirectory"
    linkageType: ""
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].<init>()"
    - "[com.drew.metadata.jpeg.JpegCommentDescriptor].<init>(com.drew.metadata.jpeg.JpegCommentDirectory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 1
    ICount: 6
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.jpeg.JpegCommentDirectory:50,1"
      Dst: "[com.drew.metadata.Directory].<init>()"
    - Src: "com.drew.metadata.jpeg.JpegCommentDirectory:51,1"
      Dst: "[com.drew.metadata.jpeg.JpegCommentDescriptor].<init>(com.drew.metadata.jpeg.JpegCommentDirectory)"
    - Src: "com.drew.metadata.jpeg.JpegCommentDirectory:51,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.jpeg.JpegCommentDirectory].getName()"
    functionSourceFile: "com.drew.metadata.jpeg.JpegCommentDirectory"
    linkageType: ""
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.jpeg.JpegCommentDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.jpeg.JpegCommentDirectory"
    linkageType: ""
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.SonyTag9050bDirectory].getName()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SonyTag9050bDirectory"
    linkageType: ""
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.exif.makernotes.SonyTag9050bDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SonyTag9050bDirectory"
    linkageType: ""
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.SanyoMakernoteDirectory)"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.exif.makernotes.SanyoMakernoteDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor:40,1"
      Dst: "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    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: "[com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor].getDescription(int)"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 46
    functionLinenumberEnd: 86
    functionDepth: 3
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor].getSanyoQualityDescription()"
    - "[com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor].getMacroDescription()"
    - "[com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor].getDigitalZoomDescription()"
    - "[com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor].getSequentialShotDescription()"
    - "[com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor].getWideRangeDescription()"
    - "[com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor].getColorAdjustmentModeDescription()"
    - "[com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor].getQuickShotDescription()"
    - "[com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor].getSelfTimerDescription()"
    - "[com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor].getVoiceMemoDescription()"
    - "[com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor].getRecordShutterDescription()"
    - "[com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor].getFlickerReduceDescription()"
    - "[com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor].getOptimalZoomOnDescription()"
    - "[com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor].getDigitalZoomOnDescription()"
    - "[com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor].getLightSourceSpecialDescription()"
    - "[com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor].getResavedDescription()"
    - "[com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor].getSceneSelectDescription()"
    - "[com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor].getSequenceShotIntervalDescription()"
    - "[com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor].getFlashModeDescription()"
    - "[com.drew.metadata.TagDescriptor].getDescription(int)"
    functionUses: 1
    ICount: 41
    EdgeCount: 19
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor:49,1"
      Dst: "[com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor].getSanyoQualityDescription()"
    - Src: "com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor:51,1"
      Dst: "[com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor].getMacroDescription()"
    - Src: "com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor:53,1"
      Dst: "[com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor].getDigitalZoomDescription()"
    - Src: "com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor:55,1"
      Dst: "[com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor].getSequentialShotDescription()"
    - Src: "com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor:57,1"
      Dst: "[com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor].getWideRangeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor:59,1"
      Dst: "[com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor].getColorAdjustmentModeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor:61,1"
      Dst: "[com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor].getQuickShotDescription()"
    - Src: "com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor:63,1"
      Dst: "[com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor].getSelfTimerDescription()"
    - Src: "com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor:65,1"
      Dst: "[com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor].getVoiceMemoDescription()"
    - Src: "com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor:67,1"
      Dst: "[com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor].getRecordShutterDescription()"
    - Src: "com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor:69,1"
      Dst: "[com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor].getFlickerReduceDescription()"
    - Src: "com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor:71,1"
      Dst: "[com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor].getOptimalZoomOnDescription()"
    - Src: "com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor:73,1"
      Dst: "[com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor].getDigitalZoomOnDescription()"
    - Src: "com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor:75,1"
      Dst: "[com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor].getLightSourceSpecialDescription()"
    - Src: "com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor:77,1"
      Dst: "[com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor].getResavedDescription()"
    - Src: "com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor:79,1"
      Dst: "[com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor].getSceneSelectDescription()"
    - Src: "com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor:81,1"
      Dst: "[com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor].getSequenceShotIntervalDescription()"
    - Src: "com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor:83,1"
      Dst: "[com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor].getFlashModeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor:85,1"
      Dst: "[com.drew.metadata.TagDescriptor].getDescription(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: 20
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor].getSanyoQualityDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 91
    functionLinenumberEnd: 122
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    functionUses: 1
    ICount: 39
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor:93"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor:95"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor:94"
        BranchSideFuncs:
        - "intValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor:92,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor:95,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor:121,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor:121,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor:121,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor:121,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: 28
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor].getMacroDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 127
    functionLinenumberEnd: 129
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 8
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor:128,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor].getDigitalZoomDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getDecimalRational(int,int)"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor:134,1"
      Dst: "[com.drew.metadata.TagDescriptor].getDecimalRational(int,int)"
    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: "[com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor].getSequentialShotDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 139
    functionLinenumberEnd: 141
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 8
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor:140,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor].getWideRangeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 145
    functionLinenumberEnd: 147
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor:146,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor].getColorAdjustmentModeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 151
    functionLinenumberEnd: 153
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor:152,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor].getQuickShotDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 157
    functionLinenumberEnd: 159
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor:158,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor].getSelfTimerDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 163
    functionLinenumberEnd: 165
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor:164,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor].getVoiceMemoDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 169
    functionLinenumberEnd: 171
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor:170,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor].getRecordShutterDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 175
    functionLinenumberEnd: 177
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor:176,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor].getFlickerReduceDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 181
    functionLinenumberEnd: 183
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor:182,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor].getOptimalZoomOnDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 187
    functionLinenumberEnd: 189
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor:188,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor].getDigitalZoomOnDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 193
    functionLinenumberEnd: 195
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor:194,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor].getLightSourceSpecialDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 199
    functionLinenumberEnd: 201
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor:200,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor].getResavedDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 205
    functionLinenumberEnd: 207
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor:206,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor].getSceneSelectDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 211
    functionLinenumberEnd: 213
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 11
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor:212,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor].getSequenceShotIntervalDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 218
    functionLinenumberEnd: 220
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 8
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor:219,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor].getFlashModeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 225
    functionLinenumberEnd: 227
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 8
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SanyoMakernoteDescriptor:226,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.CasioType2MakernoteDirectory)"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.exif.makernotes.CasioType2MakernoteDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:39,1"
      Dst: "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    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: "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor].getDescription(int)"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 45
    functionLinenumberEnd: 101
    functionDepth: 3
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor].getThumbnailDimensionsDescription()"
    - "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor].getThumbnailSizeDescription()"
    - "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor].getThumbnailOffsetDescription()"
    - "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor].getQualityModeDescription()"
    - "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor].getImageSizeDescription()"
    - "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor].getFocusMode1Description()"
    - "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor].getIsoSensitivityDescription()"
    - "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor].getWhiteBalance1Description()"
    - "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor].getFocalLengthDescription()"
    - "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor].getSaturationDescription()"
    - "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor].getContrastDescription()"
    - "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor].getSharpnessDescription()"
    - "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor].getCasioPreviewThumbnailDescription()"
    - "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor].getWhiteBalanceBiasDescription()"
    - "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor].getWhiteBalance2Description()"
    - "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor].getObjectDistanceDescription()"
    - "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor].getFlashDistanceDescription()"
    - "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor].getRecordModeDescription()"
    - "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor].getSelfTimerDescription()"
    - "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor].getQualityDescription()"
    - "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor].getFocusMode2Description()"
    - "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor].getTimeZoneDescription()"
    - "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor].getCcdIsoSensitivityDescription()"
    - "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor].getColourModeDescription()"
    - "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor].getEnhancementDescription()"
    - "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor].getFilterDescription()"
    - "[com.drew.metadata.TagDescriptor].getDescription(int)"
    functionUses: 1
    ICount: 57
    EdgeCount: 27
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:48,1"
      Dst: "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor].getThumbnailDimensionsDescription()"
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:50,1"
      Dst: "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor].getThumbnailSizeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:52,1"
      Dst: "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor].getThumbnailOffsetDescription()"
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:54,1"
      Dst: "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor].getQualityModeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:56,1"
      Dst: "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor].getImageSizeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:58,1"
      Dst: "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor].getFocusMode1Description()"
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:60,1"
      Dst: "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor].getIsoSensitivityDescription()"
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:62,1"
      Dst: "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor].getWhiteBalance1Description()"
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:64,1"
      Dst: "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor].getFocalLengthDescription()"
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:66,1"
      Dst: "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor].getSaturationDescription()"
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:68,1"
      Dst: "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor].getContrastDescription()"
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:70,1"
      Dst: "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor].getSharpnessDescription()"
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:72,1"
      Dst: "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor].getCasioPreviewThumbnailDescription()"
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:74,1"
      Dst: "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor].getWhiteBalanceBiasDescription()"
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:76,1"
      Dst: "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor].getWhiteBalance2Description()"
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:78,1"
      Dst: "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor].getObjectDistanceDescription()"
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:80,1"
      Dst: "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor].getFlashDistanceDescription()"
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:82,1"
      Dst: "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor].getRecordModeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:84,1"
      Dst: "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor].getSelfTimerDescription()"
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:86,1"
      Dst: "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor].getQualityDescription()"
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:88,1"
      Dst: "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor].getFocusMode2Description()"
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:90,1"
      Dst: "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor].getTimeZoneDescription()"
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:92,1"
      Dst: "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor].getCcdIsoSensitivityDescription()"
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:94,1"
      Dst: "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor].getColourModeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:96,1"
      Dst: "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor].getEnhancementDescription()"
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:98,1"
      Dst: "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor].getFilterDescription()"
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:100,1"
      Dst: "[com.drew.metadata.TagDescriptor].getDescription(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: 28
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor].getThumbnailDimensionsDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 314
    functionLinenumberEnd: 319
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getIntArray(int)"
    - "[com.drew.metadata.Directory].getString(int)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(int)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 21
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:316"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:317"
        BranchSideFuncs:
        - "getString(int)"
      - BranchSide: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:316"
        BranchSideFuncs:
        - "getString(int)"
    - Branch String: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:316"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:318"
        BranchSideFuncs:
        - "getString(int)"
      - BranchSide: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:317"
        BranchSideFuncs:
        - "<init>()"
        - "append(java.lang.String)"
        - "toString()"
        - "append(int)"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:315,1"
      Dst: "[com.drew.metadata.Directory].getIntArray(int)"
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:317,1"
      Dst: "[com.drew.metadata.Directory].getString(int)"
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:318,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:318,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:318,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:318,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: 4
    CyclomaticComplexity: 2
  - functionName: "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor].getThumbnailSizeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 305
    functionLinenumberEnd: 310
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.Integer].toString(int)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 14
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:307"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:309"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:308"
        BranchSideFuncs:
        - "<init>()"
        - "intValue()"
        - "append(java.lang.String)"
        - "toString()"
        - "toString(int)"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:306,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:309,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:309,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:309,1"
      Dst: "[java.lang.Integer].toString(int)"
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:309,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:309,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: 3
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor].getThumbnailOffsetDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 299
    functionLinenumberEnd: 301
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getString(int)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:300,1"
      Dst: "[com.drew.metadata.Directory].getString(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: "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor].getQualityModeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 293
    functionLinenumberEnd: 295
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,java.lang.String[])"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:294,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,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: "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor].getImageSizeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 275
    functionLinenumberEnd: 288
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 22
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:277"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:279"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:278"
        BranchSideFuncs:
        - "intValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:276,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:279,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:287,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:287,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:287,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:287,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: 11
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor].getFocusMode1Description()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 269
    functionLinenumberEnd: 271
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:270,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor].getIsoSensitivityDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 253
    functionLinenumberEnd: 264
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 19
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:255"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:257"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:256"
        BranchSideFuncs:
        - "intValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:254,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:257,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:263,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:263,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:263,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:263,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: 8
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor].getWhiteBalance1Description()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 239
    functionLinenumberEnd: 241
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 10
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:240,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor].getFocalLengthDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 232
    functionLinenumberEnd: 235
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getDoubleObject(int)"
    - "[java.lang.Double].doubleValue()"
    - "[com.drew.metadata.TagDescriptor].getFocalLengthDescription(double)"
    functionUses: 1
    ICount: 11
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:234"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:232"
        BranchSideFuncs:
        - "doubleValue()"
        - "getFocalLengthDescription(double)"
        - "getDoubleObject(int)"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:233,1"
      Dst: "[com.drew.metadata.Directory].getDoubleObject(int)"
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:234,1"
      Dst: "[java.lang.Double].doubleValue()"
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:234,1"
      Dst: "[com.drew.metadata.TagDescriptor].getFocalLengthDescription(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: 4
    CyclomaticComplexity: 2
  - functionName: "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor].getSaturationDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 226
    functionLinenumberEnd: 228
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:227,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor].getContrastDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 220
    functionLinenumberEnd: 222
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:221,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor].getSharpnessDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 214
    functionLinenumberEnd: 216
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:215,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor].getCasioPreviewThumbnailDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 205
    functionLinenumberEnd: 210
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getByteArray(int)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(int)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 14
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:207"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:209"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:208"
        BranchSideFuncs:
        - "<init>()"
        - "append(java.lang.String)"
        - "toString()"
        - "append(int)"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:206,1"
      Dst: "[com.drew.metadata.Directory].getByteArray(int)"
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:209,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:209,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:209,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:209,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: 3
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor].getWhiteBalanceBiasDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 199
    functionLinenumberEnd: 201
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getString(int)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:200,1"
      Dst: "[com.drew.metadata.Directory].getString(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: "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor].getWhiteBalance2Description()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 183
    functionLinenumberEnd: 194
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 19
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:185"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:187"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:186"
        BranchSideFuncs:
        - "intValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:184,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:187,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:193,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:193,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:193,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:193,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: 8
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor].getObjectDistanceDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 174
    functionLinenumberEnd: 179
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.Integer].toString(int)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 14
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:176"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:178"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:177"
        BranchSideFuncs:
        - "<init>()"
        - "intValue()"
        - "append(java.lang.String)"
        - "toString()"
        - "toString(int)"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:175,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:178,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:178,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:178,1"
      Dst: "[java.lang.Integer].toString(int)"
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:178,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:178,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: 3
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor].getFlashDistanceDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 168
    functionLinenumberEnd: 170
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:169,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor].getRecordModeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 162
    functionLinenumberEnd: 164
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,java.lang.String[])"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:163,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,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: "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor].getSelfTimerDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 156
    functionLinenumberEnd: 158
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,java.lang.String[])"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:157,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,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: "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor].getQualityDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 150
    functionLinenumberEnd: 152
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,java.lang.String[])"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:151,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,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: "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor].getFocusMode2Description()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 136
    functionLinenumberEnd: 145
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 17
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:138"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:140"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:139"
        BranchSideFuncs:
        - "intValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:137,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:140,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:144,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:144,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:144,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:144,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: 6
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor].getTimeZoneDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 130
    functionLinenumberEnd: 132
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getString(int)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:131,1"
      Dst: "[com.drew.metadata.Directory].getString(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: "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor].getCcdIsoSensitivityDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:125,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor].getColourModeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:119,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor].getEnhancementDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 112
    functionLinenumberEnd: 114
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:113,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor].getFilterDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CasioType2MakernoteDescriptor:107,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.FujifilmMakernoteDirectory].<init>()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDirectory"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].<init>()"
    - "[com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.FujifilmMakernoteDirectory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDirectory:164,1"
      Dst: "[com.drew.metadata.Directory].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDirectory:165,1"
      Dst: "[com.drew.metadata.exif.makernotes.FujifilmMakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.FujifilmMakernoteDirectory)"
    - Src: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDirectory:165,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.exif.makernotes.FujifilmMakernoteDirectory].getName()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDirectory"
    linkageType: ""
    functionLinenumber: 171
    functionLinenumberEnd: 173
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.exif.makernotes.FujifilmMakernoteDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.FujifilmMakernoteDirectory"
    linkageType: ""
    functionLinenumber: 178
    functionLinenumberEnd: 180
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.heif.HeifItemTypes].<init>()"
    functionSourceFile: "com.drew.metadata.heif.HeifItemTypes"
    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: "com.drew.metadata.heif.HeifItemTypes:28,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: "[com.drew.metadata.StringValue].getCharset()"
    functionSourceFile: "com.drew.metadata.StringValue"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.nio.charset.Charset"
    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: "[com.drew.lang.DateUtil].<init>()"
    functionSourceFile: "com.drew.lang.DateUtil"
    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: "com.drew.lang.DateUtil:28,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: "[com.drew.metadata.adobe.AdobeJpegReader].<init>()"
    functionSourceFile: "com.drew.metadata.adobe.AdobeJpegReader"
    linkageType: ""
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.adobe.AdobeJpegReader:42,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: "[com.drew.metadata.adobe.AdobeJpegReader].getSegmentTypes()"
    functionSourceFile: "com.drew.metadata.adobe.AdobeJpegReader"
    linkageType: ""
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionDepth: 0
    returnType: "java.lang.Iterable"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Collections].singletonList(java.lang.Object)"
    functionUses: 2
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.adobe.AdobeJpegReader:49,1"
      Dst: "[java.util.Collections].singletonList(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: "[com.drew.metadata.adobe.AdobeJpegReader].readJpegSegments(java.lang.Iterable<byte[]>,com.drew.metadata.Metadata,com.drew.imaging.jpeg.JpegSegmentType)"
    functionSourceFile: "com.drew.metadata.adobe.AdobeJpegReader"
    linkageType: ""
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.Iterable<byte[]>"
    - "com.drew.metadata.Metadata"
    - "com.drew.imaging.jpeg.JpegSegmentType"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.adobe.internal.xmp.impl.XMPNode$1].hasNext()"
    - "[jdk.internal.module.ModuleBootstrap$2].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIterator].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIteratorChildren].hasNext()"
    - "[java.nio.file.FileTreeIterator].hasNext()"
    - "[java.util.concurrent.ConcurrentHashMap$EntrySetView].iterator()"
    - "[jdk.internal.module.ModuleBootstrap$2].next()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIterator].next()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl].next()"
    - "[com.adobe.internal.xmp.impl.XMPNode$1].next()"
    - "[java.io.BufferedReader$1:java.nio.file.FileTreeIterator:java.nio.file.Files$2].next()"
    - "[java.lang.String].<init>(byte[],int,int)"
    - "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - "[java.lang.String].length()"
    - "[com.drew.lang.SequentialByteArrayReader].<init>(byte[])"
    - "[com.drew.metadata.adobe.AdobeJpegReader].extract(com.drew.lang.SequentialReader,com.drew.metadata.Metadata)"
    - "[java.lang.Iterable].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    functionUses: 1
    ICount: 23
    EdgeCount: 17
    BranchProfiles:
    - Branch String: "com.drew.metadata.adobe.AdobeJpegReader:54"
      Branch Sides:
      - BranchSide: "com.drew.metadata.adobe.AdobeJpegReader:58"
        BranchSideFuncs:
        - "hasNext()"
        - "iterator()"
        - "<init>(byte[],int,int)"
        - "next()"
        - "length()"
        - "equalsIgnoreCase(java.lang.String)"
      - BranchSide: "com.drew.metadata.adobe.AdobeJpegReader:57"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.adobe.AdobeJpegReader:55"
      Branch Sides:
      - BranchSide: "com.drew.metadata.adobe.AdobeJpegReader:57"
        BranchSideFuncs:
        - "extract(com.drew.lang.SequentialReader,com.drew.metadata.Metadata)"
        - "<init>(byte[])"
      - BranchSide: "com.drew.metadata.adobe.AdobeJpegReader:56"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.adobe.AdobeJpegReader:55"
      Branch Sides:
      - BranchSide: "com.drew.metadata.adobe.AdobeJpegReader:57"
        BranchSideFuncs:
        - "extract(com.drew.lang.SequentialReader,com.drew.metadata.Metadata)"
        - "<init>(byte[])"
      - BranchSide: "com.drew.metadata.adobe.AdobeJpegReader:56"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.adobe.AdobeJpegReader:54,1"
      Dst: "[java.lang.Iterable].iterator()"
    - Src: "com.drew.metadata.adobe.AdobeJpegReader:54,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.drew.metadata.adobe.AdobeJpegReader:54,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.drew.metadata.adobe.AdobeJpegReader:55,1"
      Dst: "[java.lang.String].length()"
    - Src: "com.drew.metadata.adobe.AdobeJpegReader:55,1"
      Dst: "[java.lang.String].<init>(byte[],int,int)"
    - Src: "com.drew.metadata.adobe.AdobeJpegReader:55,1"
      Dst: "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - Src: "com.drew.metadata.adobe.AdobeJpegReader:56,1"
      Dst: "[com.drew.lang.SequentialByteArrayReader].<init>(byte[])"
    - Src: "com.drew.metadata.adobe.AdobeJpegReader:56,1"
      Dst: "[com.drew.metadata.adobe.AdobeJpegReader].extract(com.drew.lang.SequentialReader,com.drew.metadata.Metadata)"
    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: "[com.drew.metadata.adobe.AdobeJpegReader].extract(com.drew.lang.SequentialReader,com.drew.metadata.Metadata)"
    functionSourceFile: "com.drew.metadata.adobe.AdobeJpegReader"
    linkageType: ""
    functionLinenumber: 61
    functionLinenumberEnd: 81
    functionDepth: 3
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "com.drew.metadata.Metadata"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.adobe.AdobeJpegDirectory].<init>()"
    - "[com.drew.metadata.Metadata].addDirectory(com.drew.metadata.Directory)"
    - "[com.drew.lang.SequentialReader].setMotorolaByteOrder(boolean)"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[com.drew.lang.SequentialReader].getString(int)"
    - "[java.lang.String].length()"
    - "[com.drew.metadata.Directory].addError(java.lang.String)"
    - "[com.drew.lang.SequentialReader].getUInt16()"
    - "[com.drew.metadata.Directory].setInt(int,int)"
    - "[com.drew.lang.SequentialReader].getInt8()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.io.InvalidClassException].getMessage()"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.Throwable].getMessage()"
    functionUses: 1
    ICount: 34
    EdgeCount: 20
    BranchProfiles:
    - Branch String: "com.drew.metadata.adobe.AdobeJpegReader:68"
      Branch Sides:
      - BranchSide: "com.drew.metadata.adobe.AdobeJpegReader:73"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.adobe.AdobeJpegReader:72"
        BranchSideFuncs:
        - "append(java.lang.String)"
        - "toString()"
        - "getInt8()"
        - "getMessage()"
        - "getUInt16()"
        - "<init>()"
        - "addError(java.lang.String)"
        - "setInt(int,int)"
    Callsites:
    - Src: "com.drew.metadata.adobe.AdobeJpegReader:62,1"
      Dst: "[com.drew.metadata.adobe.AdobeJpegDirectory].<init>()"
    - Src: "com.drew.metadata.adobe.AdobeJpegReader:63,1"
      Dst: "[com.drew.metadata.Metadata].addDirectory(com.drew.metadata.Directory)"
    - Src: "com.drew.metadata.adobe.AdobeJpegReader:66,1"
      Dst: "[com.drew.lang.SequentialReader].setMotorolaByteOrder(boolean)"
    - Src: "com.drew.metadata.adobe.AdobeJpegReader:68,1"
      Dst: "[java.lang.String].length()"
    - Src: "com.drew.metadata.adobe.AdobeJpegReader:68,1"
      Dst: "[com.drew.lang.SequentialReader].getString(int)"
    - Src: "com.drew.metadata.adobe.AdobeJpegReader:68,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "com.drew.metadata.adobe.AdobeJpegReader:69,1"
      Dst: "[com.drew.metadata.Directory].addError(java.lang.String)"
    - Src: "com.drew.metadata.adobe.AdobeJpegReader:73,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt16()"
    - Src: "com.drew.metadata.adobe.AdobeJpegReader:73,1"
      Dst: "[com.drew.metadata.Directory].setInt(int,int)"
    - Src: "com.drew.metadata.adobe.AdobeJpegReader:76,1"
      Dst: "[com.drew.lang.SequentialReader].getInt8()"
    - Src: "com.drew.metadata.adobe.AdobeJpegReader:78,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.adobe.AdobeJpegReader:78,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.adobe.AdobeJpegReader:78,1"
      Dst: "[java.lang.Throwable].getMessage()"
    - Src: "com.drew.metadata.adobe.AdobeJpegReader:78,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: 5
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.mov.atoms.SubtitleSampleDescriptionAtom].<init>(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
    functionSourceFile: "com.drew.metadata.mov.atoms.SubtitleSampleDescriptionAtom"
    linkageType: ""
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "com.drew.metadata.mov.atoms.Atom"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mov.atoms.SampleDescriptionAtom].<init>(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.atoms.SubtitleSampleDescriptionAtom:38,1"
      Dst: "[com.drew.metadata.mov.atoms.SampleDescriptionAtom].<init>(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.mov.atoms.SubtitleSampleDescriptionAtom].getSampleDescription(com.drew.lang.SequentialReader)"
    functionSourceFile: "com.drew.metadata.mov.atoms.SubtitleSampleDescriptionAtom"
    linkageType: ""
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionDepth: 2
    returnType: "com.drew.metadata.mov.atoms.SubtitleSampleDescriptionAtom$SubtitleSampleDescription"
    argCount: 1
    argTypes:
    - "com.drew.lang.SequentialReader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mov.atoms.SubtitleSampleDescriptionAtom$SubtitleSampleDescription].<init>(com.drew.lang.SequentialReader)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.atoms.SubtitleSampleDescriptionAtom:45,1"
      Dst: "[com.drew.metadata.mov.atoms.SubtitleSampleDescriptionAtom$SubtitleSampleDescription].<init>(com.drew.lang.SequentialReader)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.mov.atoms.SubtitleSampleDescriptionAtom$SubtitleSampleDescription].<init>(com.drew.lang.SequentialReader)"
    functionSourceFile: "com.drew.metadata.mov.atoms.SubtitleSampleDescriptionAtom$SubtitleSampleDescription"
    linkageType: ""
    functionLinenumber: 58
    functionLinenumberEnd: 73
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.lang.SequentialReader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mov.atoms.SampleDescription].<init>(com.drew.lang.SequentialReader)"
    - "[com.drew.lang.SequentialReader].getInt32()"
    - "[com.drew.lang.StreamReader].skip(long)"
    - "[com.drew.lang.SequentialByteArrayReader].skip(long)"
    - "[com.drew.lang.SequentialReader].getInt64()"
    - "[com.drew.lang.SequentialReader].getInt16()"
    - "[com.drew.lang.SequentialReader].getInt8()"
    - "[com.drew.lang.SequentialReader].getUInt16()"
    - "[com.drew.lang.SequentialReader].skip(long)"
    functionUses: 1
    ICount: 29
    EdgeCount: 17
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.atoms.SubtitleSampleDescriptionAtom$SubtitleSampleDescription:59,1"
      Dst: "[com.drew.metadata.mov.atoms.SampleDescription].<init>(com.drew.lang.SequentialReader)"
    - Src: "com.drew.metadata.mov.atoms.SubtitleSampleDescriptionAtom$SubtitleSampleDescription:61,1"
      Dst: "[com.drew.lang.SequentialReader].getInt32()"
    - Src: "com.drew.metadata.mov.atoms.SubtitleSampleDescriptionAtom$SubtitleSampleDescription:62,1"
      Dst: "[com.drew.lang.SequentialReader].skip(long)"
    - Src: "com.drew.metadata.mov.atoms.SubtitleSampleDescriptionAtom$SubtitleSampleDescription:65,1"
      Dst: "[com.drew.lang.SequentialReader].getInt64()"
    - Src: "com.drew.metadata.mov.atoms.SubtitleSampleDescriptionAtom$SubtitleSampleDescription:67,1"
      Dst: "[com.drew.lang.SequentialReader].getInt16()"
    - Src: "com.drew.metadata.mov.atoms.SubtitleSampleDescriptionAtom$SubtitleSampleDescription:68,1"
      Dst: "[com.drew.lang.SequentialReader].getInt8()"
    - Src: "com.drew.metadata.mov.atoms.SubtitleSampleDescriptionAtom$SubtitleSampleDescription:70,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt16()"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.mov.atoms.SubtitleSampleDescriptionAtom].addMetadata(com.drew.metadata.mov.media.QuickTimeSubtitleDirectory)"
    functionSourceFile: "com.drew.metadata.mov.atoms.SubtitleSampleDescriptionAtom"
    linkageType: ""
    functionLinenumber: 76
    functionLinenumberEnd: 103
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.mov.media.QuickTimeSubtitleDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].size()"
    - "[java.util.ArrayList].get(int)"
    - "[com.drew.metadata.Directory].setBoolean(int,boolean)"
    - "[com.drew.metadata.Directory].setLong(int,long)"
    - "[com.drew.metadata.Directory].setInt(int,int)"
    - "[com.drew.metadata.Directory].setString(int,java.lang.String)"
    - "[com.drew.metadata.Directory].setIntArray(int,int[])"
    functionUses: 1
    ICount: 46
    EdgeCount: 12
    BranchProfiles:
    - Branch String: "com.drew.metadata.mov.atoms.SubtitleSampleDescriptionAtom:77"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.atoms.SubtitleSampleDescriptionAtom:81"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.mov.atoms.SubtitleSampleDescriptionAtom:80"
        BranchSideFuncs:
        - "get(int)"
    - Branch String: "com.drew.metadata.mov.atoms.SubtitleSampleDescriptionAtom:83"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.atoms.SubtitleSampleDescriptionAtom:81"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.mov.atoms.SubtitleSampleDescriptionAtom:80"
        BranchSideFuncs:
        - "get(int)"
    - Branch String: "com.drew.metadata.mov.atoms.SubtitleSampleDescriptionAtom:84"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.atoms.SubtitleSampleDescriptionAtom:83"
        BranchSideFuncs:
        - "setBoolean(int,boolean)"
      - BranchSide: "com.drew.metadata.mov.atoms.SubtitleSampleDescriptionAtom:82"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.mov.atoms.SubtitleSampleDescriptionAtom:85"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.atoms.SubtitleSampleDescriptionAtom:84"
        BranchSideFuncs:
        - "setBoolean(int,boolean)"
        - "setLong(int,long)"
      - BranchSide: "com.drew.metadata.mov.atoms.SubtitleSampleDescriptionAtom:83"
        BranchSideFuncs:
        - "setBoolean(int,boolean)"
    Callsites:
    - Src: "com.drew.metadata.mov.atoms.SubtitleSampleDescriptionAtom:77,1"
      Dst: "[java.util.ArrayList].size()"
    - Src: "com.drew.metadata.mov.atoms.SubtitleSampleDescriptionAtom:81,1"
      Dst: "[java.util.ArrayList].get(int)"
    - Src: "com.drew.metadata.mov.atoms.SubtitleSampleDescriptionAtom:83,1"
      Dst: "[com.drew.metadata.Directory].setBoolean(int,boolean)"
    - Src: "com.drew.metadata.mov.atoms.SubtitleSampleDescriptionAtom:87,1"
      Dst: "[com.drew.metadata.Directory].setLong(int,long)"
    - Src: "com.drew.metadata.mov.atoms.SubtitleSampleDescriptionAtom:88,1"
      Dst: "[com.drew.metadata.Directory].setInt(int,int)"
    - Src: "com.drew.metadata.mov.atoms.SubtitleSampleDescriptionAtom:91,1"
      Dst: "[com.drew.metadata.Directory].setString(int,java.lang.String)"
    - Src: "com.drew.metadata.mov.atoms.SubtitleSampleDescriptionAtom:101,1"
      Dst: "[com.drew.metadata.Directory].setIntArray(int,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: 16
    CyclomaticComplexity: 7
  - functionName: "[com.drew.metadata.file.FileTypeDirectory].getName()"
    functionSourceFile: "com.drew.metadata.file.FileTypeDirectory"
    linkageType: ""
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.file.FileTypeDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.file.FileTypeDirectory"
    linkageType: ""
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.PanasonicRawIFD0Descriptor].<init>(com.drew.metadata.exif.PanasonicRawIFD0Directory)"
    functionSourceFile: "com.drew.metadata.exif.PanasonicRawIFD0Descriptor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.exif.PanasonicRawIFD0Directory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.PanasonicRawIFD0Descriptor:41,1"
      Dst: "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    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: "[com.drew.metadata.exif.PanasonicRawIFD0Descriptor].getDescription(int)"
    functionSourceFile: "com.drew.metadata.exif.PanasonicRawIFD0Descriptor"
    linkageType: ""
    functionLinenumber: 47
    functionLinenumberEnd: 56
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getVersionBytesDescription(int,int)"
    - "[com.drew.metadata.TagDescriptor].getOrientationDescription(int)"
    - "[com.drew.metadata.TagDescriptor].getDescription(int)"
    functionUses: 1
    ICount: 9
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.PanasonicRawIFD0Descriptor:51,1"
      Dst: "[com.drew.metadata.TagDescriptor].getVersionBytesDescription(int,int)"
    - Src: "com.drew.metadata.exif.PanasonicRawIFD0Descriptor:53,1"
      Dst: "[com.drew.metadata.TagDescriptor].getOrientationDescription(int)"
    - Src: "com.drew.metadata.exif.PanasonicRawIFD0Descriptor:55,1"
      Dst: "[com.drew.metadata.TagDescriptor].getDescription(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: 1
  - functionName: "[ImageMetadataReaderFuzzer].<init>()"
    functionSourceFile: "ImageMetadataReaderFuzzer"
    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: "ImageMetadataReaderFuzzer:26,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: "[ImageMetadataReaderFuzzer].fuzzerTestOneInput(com.code_intelligence.jazzer.api.FuzzedDataProvider)"
    functionSourceFile: "ImageMetadataReaderFuzzer"
    linkageType: ""
    functionLinenumber: 27
    functionLinenumberEnd: 38
    functionDepth: 15
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.code_intelligence.jazzer.api.FuzzedDataProvider"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.ByteArrayInputStream].<init>(byte[])"
    - "[com.drew.imaging.ImageMetadataReader].readMetadata(java.io.InputStream)"
    - "[com.code_intelligence.jazzer.api.FuzzedDataProvider].consumeRemainingAsBytes()"
    functionUses: 0
    ICount: 9
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ImageMetadataReaderFuzzer:28,1"
      Dst: "[com.code_intelligence.jazzer.api.FuzzedDataProvider].consumeRemainingAsBytes()"
    - Src: "ImageMetadataReaderFuzzer:28,1"
      Dst: "[java.io.ByteArrayInputStream].<init>(byte[])"
    - Src: "ImageMetadataReaderFuzzer:31,1"
      Dst: "[com.drew.imaging.ImageMetadataReader].readMetadata(java.io.InputStream)"
    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: "[com.drew.imaging.pcx.PcxMetadataReader].<init>()"
    functionSourceFile: "com.drew.imaging.pcx.PcxMetadataReader"
    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: "com.drew.imaging.pcx.PcxMetadataReader: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: "[com.drew.imaging.pcx.PcxMetadataReader].readMetadata(java.io.File)"
    functionSourceFile: "com.drew.imaging.pcx.PcxMetadataReader"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "com.drew.metadata.Metadata"
    argCount: 1
    argTypes:
    - "java.io.File"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.FileInputStream].<init>(java.io.File)"
    - "[com.drew.imaging.pcx.PcxMetadataReader].readMetadata(java.io.InputStream)"
    - "[java.io.InputStream].close()"
    - "[com.drew.metadata.file.FileSystemMetadataReader].<init>()"
    - "[com.drew.metadata.file.FileSystemMetadataReader].read(java.io.File,com.drew.metadata.Metadata)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.pcx.PcxMetadataReader:41,1"
      Dst: "[java.io.FileInputStream].<init>(java.io.File)"
    - Src: "com.drew.imaging.pcx.PcxMetadataReader:44,1"
      Dst: "[com.drew.imaging.pcx.PcxMetadataReader].readMetadata(java.io.InputStream)"
    - Src: "com.drew.imaging.pcx.PcxMetadataReader:46,1"
      Dst: "[java.io.InputStream].close()"
    - Src: "com.drew.imaging.pcx.PcxMetadataReader:48,1"
      Dst: "[com.drew.metadata.file.FileSystemMetadataReader].<init>()"
    - Src: "com.drew.imaging.pcx.PcxMetadataReader:48,1"
      Dst: "[com.drew.metadata.file.FileSystemMetadataReader].read(java.io.File,com.drew.metadata.Metadata)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.mp4.media.Mp4SoundDirectory].<init>()"
    functionSourceFile: "com.drew.metadata.mp4.media.Mp4SoundDirectory"
    linkageType: ""
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mp4.media.Mp4MediaDirectory].<init>()"
    - "[com.drew.metadata.mp4.media.Mp4SoundDescriptor].<init>(com.drew.metadata.mp4.media.Mp4SoundDirectory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 1
    ICount: 6
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mp4.media.Mp4SoundDirectory:38,1"
      Dst: "[com.drew.metadata.mp4.media.Mp4MediaDirectory].<init>()"
    - Src: "com.drew.metadata.mp4.media.Mp4SoundDirectory:39,1"
      Dst: "[com.drew.metadata.mp4.media.Mp4SoundDescriptor].<init>(com.drew.metadata.mp4.media.Mp4SoundDirectory)"
    - Src: "com.drew.metadata.mp4.media.Mp4SoundDirectory:39,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.mp4.media.Mp4SoundDirectory].getName()"
    functionSourceFile: "com.drew.metadata.mp4.media.Mp4SoundDirectory"
    linkageType: ""
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.mp4.media.Mp4SoundDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.mp4.media.Mp4SoundDirectory"
    linkageType: ""
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.mp4.media.Mp4TextHandler].getDirectory()"
    functionSourceFile: "com.drew.metadata.mp4.media.Mp4TextHandler"
    linkageType: ""
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionDepth: 3
    returnType: "com.drew.metadata.mp4.media.Mp4TextDirectory"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mp4.media.Mp4TextDirectory].<init>()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mp4.media.Mp4TextHandler:43,1"
      Dst: "[com.drew.metadata.mp4.media.Mp4TextDirectory].<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: "[com.drew.metadata.mp4.media.Mp4TextDirectory].<init>()"
    functionSourceFile: "com.drew.metadata.mp4.media.Mp4TextDirectory"
    linkageType: ""
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mp4.media.Mp4MediaDirectory].<init>()"
    - "[com.drew.metadata.mp4.media.Mp4TextDescriptor].<init>(com.drew.metadata.mp4.media.Mp4TextDirectory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 1
    ICount: 6
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mp4.media.Mp4TextDirectory:30,1"
      Dst: "[com.drew.metadata.mp4.media.Mp4MediaDirectory].<init>()"
    - Src: "com.drew.metadata.mp4.media.Mp4TextDirectory:31,1"
      Dst: "[com.drew.metadata.mp4.media.Mp4TextDescriptor].<init>(com.drew.metadata.mp4.media.Mp4TextDirectory)"
    - Src: "com.drew.metadata.mp4.media.Mp4TextDirectory:31,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.mp4.media.Mp4TextHandler].getMediaInformation()"
    functionSourceFile: "com.drew.metadata.mp4.media.Mp4TextHandler"
    linkageType: ""
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 2
    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: "[com.drew.metadata.mp4.media.Mp4TextHandler].processSampleDescription(com.drew.lang.SequentialReader)"
    functionSourceFile: "com.drew.metadata.mp4.media.Mp4TextHandler"
    linkageType: ""
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.lang.SequentialReader"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    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: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.mp4.media.Mp4TextHandler].processMediaInformation(com.drew.lang.SequentialReader)"
    functionSourceFile: "com.drew.metadata.mp4.media.Mp4TextHandler"
    linkageType: ""
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.lang.SequentialReader"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    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: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.mp4.media.Mp4TextHandler].processTimeToSample(com.drew.lang.SequentialReader,com.drew.metadata.mp4.Mp4Context)"
    functionSourceFile: "com.drew.metadata.mp4.media.Mp4TextHandler"
    linkageType: ""
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "com.drew.metadata.mp4.Mp4Context"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    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: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.lang.ByteUtil].<init>()"
    functionSourceFile: "com.drew.lang.ByteUtil"
    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: "com.drew.lang.ByteUtil:3,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: "[com.drew.lang.ByteUtil].getInt16(byte[],int,boolean)"
    functionSourceFile: "com.drew.lang.ByteUtil"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 3
    argTypes:
    - "byte[]"
    - "int"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 28
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.lang.ByteUtil:7"
      Branch Sides:
      - BranchSide: "com.drew.lang.ByteUtil:12"
        BranchSideFuncs: []
      - BranchSide: "com.drew.lang.ByteUtil:11"
        BranchSideFuncs: []
    Callsites: []
    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: "[com.drew.lang.ByteUtil].getLong64(byte[],int,boolean)"
    functionSourceFile: "com.drew.lang.ByteUtil"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "long"
    argCount: 3
    argTypes:
    - "byte[]"
    - "int"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 115
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.lang.ByteUtil:37"
      Branch Sides:
      - BranchSide: "com.drew.lang.ByteUtil:49"
        BranchSideFuncs: []
      - BranchSide: "com.drew.lang.ByteUtil:48"
        BranchSideFuncs: []
    Callsites: []
    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: "[com.drew.metadata.mov.media.QuickTimeSubtitleDescriptor].<init>(com.drew.metadata.mov.QuickTimeDirectory)"
    functionSourceFile: "com.drew.metadata.mov.media.QuickTimeSubtitleDescriptor"
    linkageType: ""
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.mov.QuickTimeDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mov.QuickTimeDescriptor].<init>(com.drew.metadata.mov.QuickTimeDirectory)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.media.QuickTimeSubtitleDescriptor:33,1"
      Dst: "[com.drew.metadata.mov.QuickTimeDescriptor].<init>(com.drew.metadata.mov.QuickTimeDirectory)"
    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: "[com.drew.metadata.exif.makernotes.CanonMakernoteDirectory$CameraSettings].<init>()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CanonMakernoteDirectory$CameraSettings"
    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: "com.drew.metadata.exif.makernotes.CanonMakernoteDirectory$CameraSettings:117,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: "[com.drew.metadata.mov.metadata.QuickTimeMetadataDirectory].<init>()"
    functionSourceFile: "com.drew.metadata.mov.metadata.QuickTimeMetadataDirectory"
    linkageType: ""
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mov.QuickTimeDirectory].<init>()"
    - "[com.drew.metadata.mov.metadata.QuickTimeMetadataDescriptor].<init>(com.drew.metadata.mov.QuickTimeDirectory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 1
    ICount: 6
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.metadata.QuickTimeMetadataDirectory:74,1"
      Dst: "[com.drew.metadata.mov.QuickTimeDirectory].<init>()"
    - Src: "com.drew.metadata.mov.metadata.QuickTimeMetadataDirectory:75,1"
      Dst: "[com.drew.metadata.mov.metadata.QuickTimeMetadataDescriptor].<init>(com.drew.metadata.mov.QuickTimeDirectory)"
    - Src: "com.drew.metadata.mov.metadata.QuickTimeMetadataDirectory:75,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.mov.metadata.QuickTimeMetadataDirectory].getName()"
    functionSourceFile: "com.drew.metadata.mov.metadata.QuickTimeMetadataDirectory"
    linkageType: ""
    functionLinenumber: 324
    functionLinenumberEnd: 326
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.mov.metadata.QuickTimeMetadataDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.mov.metadata.QuickTimeMetadataDirectory"
    linkageType: ""
    functionLinenumber: 331
    functionLinenumberEnd: 333
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.lang.ByteTrie].<init>()"
    functionSourceFile: "com.drew.lang.ByteTrie"
    linkageType: ""
    functionLinenumber: 32
    functionLinenumberEnd: 50
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[com.drew.lang.ByteTrie$ByteTrieNode].<init>()"
    functionUses: 2
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.lang.ByteTrie:33,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.drew.lang.ByteTrie:49,1"
      Dst: "[com.drew.lang.ByteTrie$ByteTrieNode].<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: "[com.drew.lang.ByteTrie].addPath(java.lang.Object,byte[][])"
    functionSourceFile: "com.drew.lang.ByteTrie"
    linkageType: ""
    functionLinenumber: 91
    functionLinenumberEnd: 110
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "byte[][]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.ByteTrie$ByteTrieNode].access$100(com.drew.lang.ByteTrie$ByteTrieNode)"
    - "[java.util.WeakHashMap].get(java.lang.Object)"
    - "[java.lang.Byte].valueOf(byte)"
    - "[com.drew.lang.ByteTrie$ByteTrieNode].<init>()"
    - "[java.util.IdentityHashMap].put(java.lang.Object,java.lang.Object)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[com.drew.lang.ByteTrie$ByteTrieNode].setValue(java.lang.Object)"
    - "[java.lang.Math].max(int,int)"
    - "[java.util.Map].get(java.lang.Object)"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    functionUses: 57
    ICount: 39
    EdgeCount: 10
    BranchProfiles:
    - Branch String: "com.drew.lang.ByteTrie:94"
      Branch Sides:
      - BranchSide: "com.drew.lang.ByteTrie:105"
        BranchSideFuncs: []
      - BranchSide: "com.drew.lang.ByteTrie:104"
        BranchSideFuncs: []
    - Branch String: "com.drew.lang.ByteTrie:95"
      Branch Sides:
      - BranchSide: "com.drew.lang.ByteTrie:92"
        BranchSideFuncs:
        - "get(java.lang.Object)"
      - BranchSide: "com.drew.lang.ByteTrie:91"
        BranchSideFuncs: []
    - Branch String: "com.drew.lang.ByteTrie:97"
      Branch Sides:
      - BranchSide: "com.drew.lang.ByteTrie:null"
        BranchSideFuncs:
        - "put(java.lang.Object,java.lang.Object)"
        - "<init>()"
        - "access$100(com.drew.lang.ByteTrie$ByteTrieNode)"
        - "valueOf(byte)"
    - Branch String: "com.drew.lang.ByteTrie:105"
      Branch Sides:
      - BranchSide: "com.drew.lang.ByteTrie:107"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "com.drew.lang.ByteTrie:106"
        BranchSideFuncs:
        - "max(int,int)"
        - "setValue(java.lang.Object)"
    Callsites:
    - Src: "com.drew.lang.ByteTrie:96,1"
      Dst: "[com.drew.lang.ByteTrie$ByteTrieNode].access$100(com.drew.lang.ByteTrie$ByteTrieNode)"
    - Src: "com.drew.lang.ByteTrie:96,1"
      Dst: "[java.lang.Byte].valueOf(byte)"
    - Src: "com.drew.lang.ByteTrie:96,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    - Src: "com.drew.lang.ByteTrie:98,1"
      Dst: "[com.drew.lang.ByteTrie$ByteTrieNode].<init>()"
    - Src: "com.drew.lang.ByteTrie:99,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    - Src: "com.drew.lang.ByteTrie:106,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.drew.lang.ByteTrie:107,1"
      Dst: "[com.drew.lang.ByteTrie$ByteTrieNode].setValue(java.lang.Object)"
    - Src: "com.drew.lang.ByteTrie:108,1"
      Dst: "[java.lang.Math].max(int,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: 11
    CyclomaticComplexity: 4
  - functionName: "[com.drew.lang.ByteTrie].setDefaultValue(java.lang.Object)"
    functionSourceFile: "com.drew.lang.ByteTrie"
    linkageType: ""
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.ByteTrie$ByteTrieNode].setValue(java.lang.Object)"
    functionUses: 2
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.lang.ByteTrie:114,1"
      Dst: "[com.drew.lang.ByteTrie$ByteTrieNode].setValue(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: "[com.drew.lang.ByteTrie].getMaxDepth()"
    functionSourceFile: "com.drew.lang.ByteTrie"
    linkageType: ""
    functionLinenumber: 119
    functionLinenumberEnd: 121
    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: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.gif.GifHeaderDirectory].getName()"
    functionSourceFile: "com.drew.metadata.gif.GifHeaderDirectory"
    linkageType: ""
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.gif.GifHeaderDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.gif.GifHeaderDirectory"
    linkageType: ""
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.imaging.webp.WebpMetadataReader].<init>()"
    functionSourceFile: "com.drew.imaging.webp.WebpMetadataReader"
    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: "com.drew.imaging.webp.WebpMetadataReader:38,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: "[com.drew.imaging.webp.WebpMetadataReader].readMetadata(java.io.File)"
    functionSourceFile: "com.drew.imaging.webp.WebpMetadataReader"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "com.drew.metadata.Metadata"
    argCount: 1
    argTypes:
    - "java.io.File"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.FileInputStream].<init>(java.io.File)"
    - "[com.drew.imaging.webp.WebpMetadataReader].readMetadata(java.io.InputStream)"
    - "[java.io.InputStream].close()"
    - "[com.drew.metadata.file.FileSystemMetadataReader].<init>()"
    - "[com.drew.metadata.file.FileSystemMetadataReader].read(java.io.File,com.drew.metadata.Metadata)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.webp.WebpMetadataReader:43,1"
      Dst: "[java.io.FileInputStream].<init>(java.io.File)"
    - Src: "com.drew.imaging.webp.WebpMetadataReader:46,1"
      Dst: "[com.drew.imaging.webp.WebpMetadataReader].readMetadata(java.io.InputStream)"
    - Src: "com.drew.imaging.webp.WebpMetadataReader:48,1"
      Dst: "[java.io.InputStream].close()"
    - Src: "com.drew.imaging.webp.WebpMetadataReader:50,1"
      Dst: "[com.drew.metadata.file.FileSystemMetadataReader].<init>()"
    - Src: "com.drew.imaging.webp.WebpMetadataReader:50,1"
      Dst: "[com.drew.metadata.file.FileSystemMetadataReader].read(java.io.File,com.drew.metadata.Metadata)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      - "com.drew.imaging.riff.RiffProcessingException"
      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: "[com.drew.metadata.bmp.BmpHeaderDirectory$ColorSpaceType].valueOf(java.lang.String)"
    functionSourceFile: "com.drew.metadata.bmp.BmpHeaderDirectory$ColorSpaceType"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.drew.metadata.bmp.BmpHeaderDirectory$ColorSpaceType"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].valueOf(java.lang.Class,java.lang.String)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.bmp.BmpHeaderDirectory$ColorSpaceType:375,1"
      Dst: "[java.lang.Enum].valueOf(java.lang.Class,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: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.bmp.BmpHeaderDirectory$ColorSpaceType].<init>(java.lang.String,int,long)"
    functionSourceFile: "com.drew.metadata.bmp.BmpHeaderDirectory$ColorSpaceType"
    linkageType: ""
    functionLinenumber: 393
    functionLinenumberEnd: 397
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "int"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].<init>(java.lang.String,int)"
    functionUses: 5
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.bmp.BmpHeaderDirectory$ColorSpaceType:394,1"
      Dst: "[java.lang.Enum].<init>(java.lang.String,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.bmp.BmpHeaderDirectory$ColorSpaceType].$values()"
    functionSourceFile: "com.drew.metadata.bmp.BmpHeaderDirectory$ColorSpaceType"
    linkageType: ""
    functionLinenumber: 374
    functionLinenumberEnd: 376
    functionDepth: 0
    returnType: "com.drew.metadata.bmp.BmpHeaderDirectory$ColorSpaceType[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 12
    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: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.imaging.wav.WavMetadataReader].<init>()"
    functionSourceFile: "com.drew.imaging.wav.WavMetadataReader"
    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: "com.drew.imaging.wav.WavMetadataReader:41,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: "[com.drew.imaging.wav.WavMetadataReader].readMetadata(java.io.File)"
    functionSourceFile: "com.drew.imaging.wav.WavMetadataReader"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "com.drew.metadata.Metadata"
    argCount: 1
    argTypes:
    - "java.io.File"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.FileInputStream].<init>(java.io.File)"
    - "[com.drew.imaging.wav.WavMetadataReader].readMetadata(java.io.InputStream)"
    - "[java.io.InputStream].close()"
    - "[com.drew.metadata.file.FileSystemMetadataReader].<init>()"
    - "[com.drew.metadata.file.FileSystemMetadataReader].read(java.io.File,com.drew.metadata.Metadata)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.wav.WavMetadataReader:46,1"
      Dst: "[java.io.FileInputStream].<init>(java.io.File)"
    - Src: "com.drew.imaging.wav.WavMetadataReader:49,1"
      Dst: "[com.drew.imaging.wav.WavMetadataReader].readMetadata(java.io.InputStream)"
    - Src: "com.drew.imaging.wav.WavMetadataReader:51,1"
      Dst: "[java.io.InputStream].close()"
    - Src: "com.drew.imaging.wav.WavMetadataReader:53,1"
      Dst: "[com.drew.metadata.file.FileSystemMetadataReader].<init>()"
    - Src: "com.drew.imaging.wav.WavMetadataReader:53,1"
      Dst: "[com.drew.metadata.file.FileSystemMetadataReader].read(java.io.File,com.drew.metadata.Metadata)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      - "com.drew.imaging.riff.RiffProcessingException"
      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: "[com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor].getDescription(int)"
    functionSourceFile: "com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 45
    functionLinenumberEnd: 67
    functionDepth: 3
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor].getQualityDescription()"
    - "[com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor].getBurstModeDescription()"
    - "[com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor].getShutterModeDescription()"
    - "[com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor].getFocusModeDescription()"
    - "[com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor].getWhiteBalanceDescription()"
    - "[com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor].getFlashModeDescription()"
    - "[com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor].getFlashFiredDescription()"
    - "[com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor].getColorModeDescription()"
    - "[com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor].getSharpnessDescription()"
    - "[com.drew.metadata.TagDescriptor].getDescription(int)"
    functionUses: 1
    ICount: 23
    EdgeCount: 10
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor:48,1"
      Dst: "[com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor].getQualityDescription()"
    - Src: "com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor:50,1"
      Dst: "[com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor].getBurstModeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor:52,1"
      Dst: "[com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor].getShutterModeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor:54,1"
      Dst: "[com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor].getFocusModeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor:56,1"
      Dst: "[com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor].getWhiteBalanceDescription()"
    - Src: "com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor:58,1"
      Dst: "[com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor].getFlashModeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor:60,1"
      Dst: "[com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor].getFlashFiredDescription()"
    - Src: "com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor:62,1"
      Dst: "[com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor].getColorModeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor:64,1"
      Dst: "[com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor].getSharpnessDescription()"
    - Src: "com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor:66,1"
      Dst: "[com.drew.metadata.TagDescriptor].getDescription(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: 11
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor].getQualityDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 149
    functionLinenumberEnd: 151
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,java.lang.String[])"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor:150,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,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: "[com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor].getBurstModeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 143
    functionLinenumberEnd: 145
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor:144,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor].getShutterModeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 129
    functionLinenumberEnd: 138
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 18
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor:131"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor:133"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor:132"
        BranchSideFuncs:
        - "intValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor:130,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor:133,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor:137,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor:137,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor:137,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor:137,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: 7
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor].getFocusModeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor:124,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor].getWhiteBalanceDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 8
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor:118,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor].getFlashModeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 102
    functionLinenumberEnd: 112
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    functionUses: 1
    ICount: 19
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor:104"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor:106"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor:105"
        BranchSideFuncs:
        - "intValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor:103,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor:106,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor:111,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor:111,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor:111,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor:111,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: 8
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor].getFlashFiredDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 96
    functionLinenumberEnd: 98
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor:97,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor].getColorModeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 78
    functionLinenumberEnd: 91
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    functionUses: 1
    ICount: 22
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor:80"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor:82"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor:81"
        BranchSideFuncs:
        - "intValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor:79,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor:82,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor:90,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor:90,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor:90,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor: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: 11
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor].getSharpnessDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.KodakMakernoteDescriptor:73,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.SonyType6MakernoteDirectory].<init>()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SonyType6MakernoteDirectory"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].<init>()"
    - "[com.drew.metadata.exif.makernotes.SonyType6MakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.SonyType6MakernoteDirectory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SonyType6MakernoteDirectory:54,1"
      Dst: "[com.drew.metadata.Directory].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.SonyType6MakernoteDirectory:55,1"
      Dst: "[com.drew.metadata.exif.makernotes.SonyType6MakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.SonyType6MakernoteDirectory)"
    - Src: "com.drew.metadata.exif.makernotes.SonyType6MakernoteDirectory:55,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.exif.makernotes.SonyType6MakernoteDirectory].getName()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SonyType6MakernoteDirectory"
    linkageType: ""
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.exif.makernotes.SonyType6MakernoteDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SonyType6MakernoteDirectory"
    linkageType: ""
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.ExifSubIFDDescriptor].<init>(com.drew.metadata.exif.ExifSubIFDDirectory)"
    functionSourceFile: "com.drew.metadata.exif.ExifSubIFDDescriptor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.exif.ExifSubIFDDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.ExifDescriptorBase].<init>(com.drew.metadata.Directory)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.ExifSubIFDDescriptor:35,1"
      Dst: "[com.drew.metadata.exif.ExifDescriptorBase].<init>(com.drew.metadata.Directory)"
    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: "[com.drew.metadata.mp4.media.Mp4TextDirectory].getName()"
    functionSourceFile: "com.drew.metadata.mp4.media.Mp4TextDirectory"
    linkageType: ""
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.mp4.media.Mp4TextDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.mp4.media.Mp4TextDirectory"
    linkageType: ""
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.imaging.mp4.Mp4Reader].<init>()"
    functionSourceFile: "com.drew.imaging.mp4.Mp4Reader"
    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: "com.drew.imaging.mp4.Mp4Reader:35,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: "[com.drew.imaging.mp4.Mp4Reader].extract(java.io.InputStream,com.drew.imaging.mp4.Mp4Handler<?>)"
    functionSourceFile: "com.drew.imaging.mp4.Mp4Reader"
    linkageType: ""
    functionLinenumber: 38
    functionLinenumberEnd: 46
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.io.InputStream"
    - "com.drew.imaging.mp4.Mp4Handler<?>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.StreamReader].<init>(java.io.InputStream)"
    - "[com.drew.lang.SequentialReader].setMotorolaByteOrder(boolean)"
    - "[com.drew.metadata.mp4.Mp4Context].<init>()"
    - "[com.drew.imaging.mp4.Mp4Reader].processBoxes(com.drew.lang.StreamReader,long,com.drew.imaging.mp4.Mp4Handler,com.drew.metadata.mp4.Mp4Context)"
    functionUses: 1
    ICount: 9
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.mp4.Mp4Reader:39,1"
      Dst: "[com.drew.lang.StreamReader].<init>(java.io.InputStream)"
    - Src: "com.drew.imaging.mp4.Mp4Reader:40,1"
      Dst: "[com.drew.lang.SequentialReader].setMotorolaByteOrder(boolean)"
    - Src: "com.drew.imaging.mp4.Mp4Reader:42,1"
      Dst: "[com.drew.metadata.mp4.Mp4Context].<init>()"
    - Src: "com.drew.imaging.mp4.Mp4Reader:44,1"
      Dst: "[com.drew.imaging.mp4.Mp4Reader].processBoxes(com.drew.lang.StreamReader,long,com.drew.imaging.mp4.Mp4Handler,com.drew.metadata.mp4.Mp4Context)"
    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: "[com.drew.imaging.mp4.Mp4Reader].processBoxes(com.drew.lang.StreamReader,long,com.drew.imaging.mp4.Mp4Handler<?>,com.drew.metadata.mp4.Mp4Context)"
    functionSourceFile: "com.drew.imaging.mp4.Mp4Reader"
    linkageType: ""
    functionLinenumber: 49
    functionLinenumberEnd: 94
    functionDepth: 2
    returnType: "void"
    argCount: 4
    argTypes:
    - "com.drew.lang.StreamReader"
    - "long"
    - "com.drew.imaging.mp4.Mp4Handler<?>"
    - "com.drew.metadata.mp4.Mp4Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.StreamReader].getPosition()"
    - "[com.drew.lang.SequentialReader].getUInt32()"
    - "[com.drew.lang.SequentialReader].getString(int)"
    - "[com.drew.lang.SequentialReader].getInt64()"
    - "[com.drew.imaging.mp4.Mp4Handler].addError(java.lang.String)"
    - "[com.drew.metadata.mp4.Mp4MediaHandler].shouldAcceptContainer(java.lang.String)"
    - "[com.drew.metadata.mp4.Mp4BoxHandler].shouldAcceptContainer(java.lang.String)"
    - "[com.drew.lang.StreamReader:com.drew.metadata.mp4.media.Mp4UuidBoxHandler].getPosition()"
    - "[com.drew.imaging.mp4.Mp4Reader].processBoxes(com.drew.lang.StreamReader,long,com.drew.imaging.mp4.Mp4Handler,com.drew.metadata.mp4.Mp4Context)"
    - "[com.drew.imaging.mp4.Mp4Handler].processContainer(java.lang.String,long,com.drew.metadata.mp4.Mp4Context)"
    - "[com.drew.metadata.mp4.Mp4MediaHandler].shouldAcceptBox(java.lang.String)"
    - "[com.drew.metadata.mp4.media.Mp4UuidBoxHandler].shouldAcceptBox(java.lang.String)"
    - "[com.drew.metadata.mp4.Mp4BoxHandler].shouldAcceptBox(java.lang.String)"
    - "[com.drew.lang.StreamReader].getBytes(int)"
    - "[com.drew.metadata.mp4.media.Mp4UuidBoxHandler].processBox(java.lang.String,byte[],long,com.drew.metadata.mp4.Mp4Context)"
    - "[com.drew.metadata.mp4.Mp4BoxHandler].processBox(java.lang.String,byte[],long,com.drew.metadata.mp4.Mp4Context)"
    - "[com.drew.metadata.mp4.Mp4MediaHandler].processBox(java.lang.String,byte[],long,com.drew.metadata.mp4.Mp4Context)"
    - "[com.drew.lang.StreamReader].skip(long)"
    - "[java.io.InvalidClassException:java.lang.Throwable:java.nio.file.FileSystemException].getMessage()"
    - "[com.drew.imaging.mp4.Mp4Handler].shouldAcceptContainer(java.lang.String)"
    - "[com.drew.imaging.mp4.Mp4Handler].shouldAcceptBox(java.lang.String)"
    - "[com.drew.imaging.mp4.Mp4Handler].processBox(java.lang.String,byte[],long,com.drew.metadata.mp4.Mp4Context)"
    - "[java.lang.Throwable].getMessage()"
    functionUses: 2
    ICount: 65
    EdgeCount: 22
    BranchProfiles:
    - Branch String: "com.drew.imaging.mp4.Mp4Reader:50"
      Branch Sides:
      - BranchSide: "com.drew.imaging.mp4.Mp4Reader:51"
        BranchSideFuncs:
        - "getUInt32()"
        - "getString(int)"
    - Branch String: "com.drew.imaging.mp4.Mp4Reader:50"
      Branch Sides:
      - BranchSide: "com.drew.imaging.mp4.Mp4Reader:91"
        BranchSideFuncs: []
    - Branch String: "com.drew.imaging.mp4.Mp4Reader:56"
      Branch Sides:
      - BranchSide: "com.drew.imaging.mp4.Mp4Reader:-1"
        BranchSideFuncs: []
      - BranchSide: "com.drew.imaging.mp4.Mp4Reader:-2"
        BranchSideFuncs: []
    - Branch String: "com.drew.imaging.mp4.Mp4Reader:58"
      Branch Sides:
      - BranchSide: "com.drew.imaging.mp4.Mp4Reader:62"
        BranchSideFuncs:
        - "getInt64()"
      - BranchSide: "com.drew.imaging.mp4.Mp4Reader:61"
        BranchSideFuncs: []
    - Branch String: "com.drew.imaging.mp4.Mp4Reader:62"
      Branch Sides:
      - BranchSide: "com.drew.imaging.mp4.Mp4Reader:67"
        BranchSideFuncs: []
      - BranchSide: "com.drew.imaging.mp4.Mp4Reader:66"
        BranchSideFuncs: []
    - Branch String: "com.drew.imaging.mp4.Mp4Reader:67"
      Branch Sides:
      - BranchSide: "com.drew.imaging.mp4.Mp4Reader:75"
        BranchSideFuncs: []
      - BranchSide: "com.drew.imaging.mp4.Mp4Reader:74"
        BranchSideFuncs:
        - "shouldAcceptContainer(java.lang.String)"
    - Branch String: "com.drew.imaging.mp4.Mp4Reader:75"
      Branch Sides:
      - BranchSide: "com.drew.imaging.mp4.Mp4Reader:78"
        BranchSideFuncs:
        - "processBox(java.lang.String,byte[],long,com.drew.metadata.mp4.Mp4Context)"
        - "getMessage()"
        - "shouldAcceptBox(java.lang.String)"
        - "getPosition()"
        - "skip(long)"
        - "processContainer(java.lang.String,long,com.drew.metadata.mp4.Mp4Context)"
        - "getInt64()"
        - "shouldAcceptContainer(java.lang.String)"
        - "processBoxes(com.drew.lang.StreamReader,long,com.drew.imaging.mp4.Mp4Handler,com.drew.metadata.mp4.Mp4Context)"
        - "addError(java.lang.String)"
        - "getBytes(int)"
      - BranchSide: "com.drew.imaging.mp4.Mp4Reader:77"
        BranchSideFuncs:
        - "shouldAcceptBox(java.lang.String)"
    - Branch String: "com.drew.imaging.mp4.Mp4Reader:78"
      Branch Sides:
      - BranchSide: "com.drew.imaging.mp4.Mp4Reader:80"
        BranchSideFuncs:
        - "processBox(java.lang.String,byte[],long,com.drew.metadata.mp4.Mp4Context)"
        - "getBytes(int)"
      - BranchSide: "com.drew.imaging.mp4.Mp4Reader:79"
        BranchSideFuncs: []
    - Branch String: "com.drew.imaging.mp4.Mp4Reader:80"
      Branch Sides:
      - BranchSide: "com.drew.imaging.mp4.Mp4Reader:87"
        BranchSideFuncs: []
      - BranchSide: "com.drew.imaging.mp4.Mp4Reader:86"
        BranchSideFuncs:
        - "skip(long)"
    - Branch String: "com.drew.imaging.mp4.Mp4Reader:81"
      Branch Sides:
      - BranchSide: "com.drew.imaging.mp4.Mp4Reader:85"
        BranchSideFuncs:
        - "processBox(java.lang.String,byte[],long,com.drew.metadata.mp4.Mp4Context)"
        - "getMessage()"
        - "shouldAcceptBox(java.lang.String)"
        - "getPosition()"
        - "skip(long)"
        - "processContainer(java.lang.String,long,com.drew.metadata.mp4.Mp4Context)"
        - "getInt64()"
        - "shouldAcceptContainer(java.lang.String)"
        - "processBoxes(com.drew.lang.StreamReader,long,com.drew.imaging.mp4.Mp4Handler,com.drew.metadata.mp4.Mp4Context)"
        - "addError(java.lang.String)"
        - "getBytes(int)"
      - BranchSide: "com.drew.imaging.mp4.Mp4Reader:84"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.imaging.mp4.Mp4Reader:50,1"
      Dst: "[com.drew.lang.StreamReader].getPosition()"
    - Src: "com.drew.imaging.mp4.Mp4Reader:52,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt32()"
    - Src: "com.drew.imaging.mp4.Mp4Reader:54,1"
      Dst: "[com.drew.lang.SequentialReader].getString(int)"
    - Src: "com.drew.imaging.mp4.Mp4Reader:59,1"
      Dst: "[com.drew.lang.SequentialReader].getInt64()"
    - Src: "com.drew.imaging.mp4.Mp4Reader:63,1"
      Dst: "[com.drew.imaging.mp4.Mp4Handler].addError(java.lang.String)"
    - Src: "com.drew.imaging.mp4.Mp4Reader:75,1"
      Dst: "[com.drew.imaging.mp4.Mp4Handler].shouldAcceptContainer(java.lang.String)"
    - Src: "com.drew.imaging.mp4.Mp4Reader:77,1"
      Dst: "[com.drew.imaging.mp4.Mp4Handler].processContainer(java.lang.String,long,com.drew.metadata.mp4.Mp4Context)"
    - Src: "com.drew.imaging.mp4.Mp4Reader:77,1"
      Dst: "[com.drew.imaging.mp4.Mp4Reader].processBoxes(com.drew.lang.StreamReader,long,com.drew.imaging.mp4.Mp4Handler,com.drew.metadata.mp4.Mp4Context)"
    - Src: "com.drew.imaging.mp4.Mp4Reader:78,1"
      Dst: "[com.drew.imaging.mp4.Mp4Handler].shouldAcceptBox(java.lang.String)"
    - Src: "com.drew.imaging.mp4.Mp4Reader:79,1"
      Dst: "[com.drew.lang.StreamReader].getBytes(int)"
    - Src: "com.drew.imaging.mp4.Mp4Reader:79,1"
      Dst: "[com.drew.imaging.mp4.Mp4Handler].processBox(java.lang.String,byte[],long,com.drew.metadata.mp4.Mp4Context)"
    - Src: "com.drew.imaging.mp4.Mp4Reader:85,1"
      Dst: "[com.drew.lang.StreamReader].skip(long)"
    - Src: "com.drew.imaging.mp4.Mp4Reader:91,1"
      Dst: "[java.lang.Throwable].getMessage()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 25
    CyclomaticComplexity: 11
  - functionName: "[com.drew.lang.KeyValuePair].toString()"
    functionSourceFile: "com.drew.lang.KeyValuePair"
    linkageType: ""
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    functionUses: 14
    ICount: 10
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.lang.KeyValuePair:57,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.lang.KeyValuePair:57,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.lang.KeyValuePair:57,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.drew.lang.KeyValuePair:57,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: "[com.drew.metadata.exif.makernotes.AppleRunTimeMakernoteDescriptor].getDescription(int)"
    functionSourceFile: "com.drew.metadata.exif.makernotes.AppleRunTimeMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 40
    functionLinenumberEnd: 48
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.makernotes.AppleRunTimeMakernoteDescriptor].getFlagsDescription()"
    - "[com.drew.metadata.exif.makernotes.AppleRunTimeMakernoteDescriptor].getValueDescription()"
    - "[com.drew.metadata.TagDescriptor].getDescription(int)"
    functionUses: 1
    ICount: 9
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.AppleRunTimeMakernoteDescriptor:43,1"
      Dst: "[com.drew.metadata.exif.makernotes.AppleRunTimeMakernoteDescriptor].getFlagsDescription()"
    - Src: "com.drew.metadata.exif.makernotes.AppleRunTimeMakernoteDescriptor:45,1"
      Dst: "[com.drew.metadata.exif.makernotes.AppleRunTimeMakernoteDescriptor].getValueDescription()"
    - Src: "com.drew.metadata.exif.makernotes.AppleRunTimeMakernoteDescriptor:47,1"
      Dst: "[com.drew.metadata.TagDescriptor].getDescription(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: 1
  - functionName: "[com.drew.metadata.exif.makernotes.AppleRunTimeMakernoteDescriptor].getFlagsDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.AppleRunTimeMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 60
    functionLinenumberEnd: 85
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInt(int)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 27
    EdgeCount: 9
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.AppleRunTimeMakernoteDescriptor:65"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.AppleRunTimeMakernoteDescriptor:68"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.AppleRunTimeMakernoteDescriptor:67"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.AppleRunTimeMakernoteDescriptor:70"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.AppleRunTimeMakernoteDescriptor:73"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.AppleRunTimeMakernoteDescriptor:72"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.AppleRunTimeMakernoteDescriptor:73"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.AppleRunTimeMakernoteDescriptor:76"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.AppleRunTimeMakernoteDescriptor:75"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.AppleRunTimeMakernoteDescriptor:76"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.AppleRunTimeMakernoteDescriptor:79"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.AppleRunTimeMakernoteDescriptor:78"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.AppleRunTimeMakernoteDescriptor:79"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.AppleRunTimeMakernoteDescriptor:82"
        BranchSideFuncs:
        - "append(java.lang.String)"
      - BranchSide: "com.drew.metadata.exif.makernotes.AppleRunTimeMakernoteDescriptor:81"
        BranchSideFuncs:
        - "toString()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.AppleRunTimeMakernoteDescriptor:61,1"
      Dst: "[com.drew.metadata.Directory].getInt(int)"
    - Src: "com.drew.metadata.exif.makernotes.AppleRunTimeMakernoteDescriptor:63,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.AppleRunTimeMakernoteDescriptor:66,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.AppleRunTimeMakernoteDescriptor:82,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: 13
    CyclomaticComplexity: 5
  - functionName: "[com.drew.metadata.exif.makernotes.AppleRunTimeMakernoteDescriptor].getValueDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.AppleRunTimeMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 91
    functionLinenumberEnd: 98
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getLong(int)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.lang.Long].valueOf(long)"
    functionUses: 1
    ICount: 15
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.AppleRunTimeMakernoteDescriptor:92,1"
      Dst: "[com.drew.metadata.Directory].getLong(int)"
    - Src: "com.drew.metadata.exif.makernotes.AppleRunTimeMakernoteDescriptor:95,1"
      Dst: "[java.lang.Long].valueOf(long)"
    - Src: "com.drew.metadata.exif.makernotes.AppleRunTimeMakernoteDescriptor:95,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: 2
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.mov.media.QuickTimeSubtitleDirectory].<init>()"
    functionSourceFile: "com.drew.metadata.mov.media.QuickTimeSubtitleDirectory"
    linkageType: ""
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionDepth: 3
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mov.QuickTimeDirectory].<init>()"
    - "[com.drew.metadata.mov.media.QuickTimeSubtitleDescriptor].<init>(com.drew.metadata.mov.QuickTimeDirectory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 1
    ICount: 6
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.media.QuickTimeSubtitleDirectory:43,1"
      Dst: "[com.drew.metadata.mov.QuickTimeDirectory].<init>()"
    - Src: "com.drew.metadata.mov.media.QuickTimeSubtitleDirectory:44,1"
      Dst: "[com.drew.metadata.mov.media.QuickTimeSubtitleDescriptor].<init>(com.drew.metadata.mov.QuickTimeDirectory)"
    - Src: "com.drew.metadata.mov.media.QuickTimeSubtitleDirectory:44,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.mov.media.QuickTimeSubtitleDirectory].getName()"
    functionSourceFile: "com.drew.metadata.mov.media.QuickTimeSubtitleDirectory"
    linkageType: ""
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.mov.media.QuickTimeSubtitleDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.mov.media.QuickTimeSubtitleDirectory"
    linkageType: ""
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler].<init>()"
    functionSourceFile: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.tools.ProcessAllImagesInFolderUtility$FileHandlerBase].<init>()"
    - "[java.util.HashMap].<init>()"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    functionUses: 0
    ICount: 11
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:586,1"
      Dst: "[com.drew.tools.ProcessAllImagesInFolderUtility$FileHandlerBase].<init>()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:534,1"
      Dst: "[java.util.HashMap].<init>()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:587,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: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler].onExtractionSuccess(java.io.File,com.drew.metadata.Metadata,java.lang.String,java.io.PrintStream)"
    functionSourceFile: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "void"
    argCount: 4
    argTypes:
    - "java.io.File"
    - "com.drew.metadata.Metadata"
    - "java.lang.String"
    - "java.io.PrintStream"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.tools.ProcessAllImagesInFolderUtility$FileHandlerBase].onExtractionSuccess(java.io.File,com.drew.metadata.Metadata,java.lang.String,java.io.PrintStream)"
    - "[com.drew.tools.ProcessAllImagesInFolderUtility$FileHandlerBase].getExtension(java.io.File)"
    - "[java.lang.String].toLowerCase()"
    - "[java.util.Map].containsKey(java.lang.Object)"
    - "[java.util.Map].get(java.lang.Object)"
    - "[java.util.ArrayList].<init>()"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    - "[com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row].<init>(java.io.File,com.drew.metadata.Metadata,java.lang.String)"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 0
    ICount: 32
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:597"
      Branch Sides:
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:602"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:601"
        BranchSideFuncs: []
    - Branch String: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:603"
      Branch Sides:
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:606"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:605"
        BranchSideFuncs: []
    - Branch String: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:607"
      Branch Sides:
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:611"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:610"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:593,1"
      Dst: "[com.drew.tools.ProcessAllImagesInFolderUtility$FileHandlerBase].onExtractionSuccess(java.io.File,com.drew.metadata.Metadata,java.lang.String,java.io.PrintStream)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:595,1"
      Dst: "[com.drew.tools.ProcessAllImagesInFolderUtility$FileHandlerBase].getExtension(java.io.File)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:602,1"
      Dst: "[java.lang.String].toLowerCase()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:603,1"
      Dst: "[java.util.Map].containsKey(java.lang.Object)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:604,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:608,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:609,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:611,1"
      Dst: "[com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row].<init>(java.io.File,com.drew.metadata.Metadata,java.lang.String)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:611,1"
      Dst: "[java.util.List].add(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: 7
    CyclomaticComplexity: 3
  - functionName: "[com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler].onScanCompleted(java.io.PrintStream)"
    functionSourceFile: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.io.PrintStream"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.tools.ProcessAllImagesInFolderUtility$FileHandlerBase].onScanCompleted(java.io.PrintStream)"
    - "[java.io.FileOutputStream].<init>(java.lang.String,boolean)"
    - "[java.io.PrintStream].<init>(java.io.OutputStream,boolean)"
    - "[com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler].writeOutput(java.io.PrintStream)"
    - "[java.io.PrintStream].flush()"
    - "[java.io.PrintStream].close()"
    - "[java.io.OutputStream].close()"
    - "[java.lang.Throwable].printStackTrace()"
    functionUses: 0
    ICount: 45
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:629"
      Branch Sides:
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:631"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:630"
        BranchSideFuncs: []
    - Branch String: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:631"
      Branch Sides:
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:638"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:637"
        BranchSideFuncs: []
    - Branch String: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:629"
      Branch Sides:
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:631"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:630"
        BranchSideFuncs: []
    - Branch String: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:631"
      Branch Sides:
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:638"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:637"
        BranchSideFuncs: []
    - Branch String: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:629"
      Branch Sides:
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:631"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:630"
        BranchSideFuncs: []
    - Branch String: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:631"
      Branch Sides:
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:637"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:636"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:617,1"
      Dst: "[com.drew.tools.ProcessAllImagesInFolderUtility$FileHandlerBase].onScanCompleted(java.io.PrintStream)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:622,1"
      Dst: "[java.io.FileOutputStream].<init>(java.lang.String,boolean)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:623,1"
      Dst: "[java.io.PrintStream].<init>(java.io.OutputStream,boolean)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:624,1"
      Dst: "[com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler].writeOutput(java.io.PrintStream)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:625,1"
      Dst: "[java.io.PrintStream].flush()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:630,1"
      Dst: "[java.io.PrintStream].close()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:633,1"
      Dst: "[java.io.OutputStream].close()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:635,1"
      Dst: "[java.lang.Throwable].printStackTrace()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 17
    CyclomaticComplexity: 6
  - functionName: "[com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler].writeOutput(java.io.PrintStream)"
    functionSourceFile: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.io.PrintStream"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.OutputStreamWriter].<init>(java.io.OutputStream)"
    - "[java.io.Writer].write(java.lang.String)"
    - "[java.util.Map].entrySet()"
    - "[java.util.Set].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.util.Map$Entry].getKey()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.String].toUpperCase()"
    - "[java.lang.StringBuilder].toString()"
    - "[java.util.Map$Entry].getValue()"
    - "[com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$1].<init>(com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler)"
    - "[java.util.Collections].sort(java.util.List,java.util.Comparator)"
    - "[java.util.List].iterator()"
    - "[java.io.File].getName()"
    - "[com.drew.lang.StringUtil].urlEncode(java.lang.String)"
    - "[com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row].access$000(com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row)"
    - "[com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row].access$100(com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row)"
    - "[com.drew.metadata.Metadata].getDirectoryCount()"
    - "[java.lang.Integer].valueOf(int)"
    - "[com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row].access$200(com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row)"
    - "[com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row].access$300(com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row)"
    - "[com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row].access$400(com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row)"
    - "[java.lang.String].toLowerCase()"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.io.Writer].write(int)"
    - "[java.io.Writer].flush()"
    functionUses: 0
    ICount: 92
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:645"
      Branch Sides:
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:681"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:680"
        BranchSideFuncs: []
    - Branch String: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:663"
      Branch Sides:
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:679"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:678"
        BranchSideFuncs: []
    - Branch String: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:668"
      Branch Sides:
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:663"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:662"
        BranchSideFuncs: []
    - Branch String: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:669"
      Branch Sides:
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:668"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:667"
        BranchSideFuncs: []
    - Branch String: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:671"
      Branch Sides:
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:669"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:668"
        BranchSideFuncs: []
    - Branch String: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:672"
      Branch Sides:
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:671"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:670"
        BranchSideFuncs: []
    - Branch String: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:673"
      Branch Sides:
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:672"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:671"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:642,1"
      Dst: "[java.io.OutputStreamWriter].<init>(java.io.OutputStream)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:643,1"
      Dst: "[java.io.Writer].write(java.lang.String)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:645,1"
      Dst: "[java.util.Map].entrySet()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:645,1"
      Dst: "[java.util.Set].iterator()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:645,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:645,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:646,1"
      Dst: "[java.util.Map$Entry].getKey()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:647,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:647,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:647,1"
      Dst: "[java.lang.String].toUpperCase()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:647,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:652,1"
      Dst: "[java.util.Map$Entry].getValue()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:655,1"
      Dst: "[com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$1].<init>(com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:655,1"
      Dst: "[java.util.Collections].sort(java.util.List,java.util.Comparator)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:663,1"
      Dst: "[java.util.List].iterator()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:665,1"
      Dst: "[java.io.File].getName()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:667,1"
      Dst: "[com.drew.lang.StringUtil].urlEncode(java.lang.String)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:668,1"
      Dst: "[com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row].access$000(com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:669,1"
      Dst: "[com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row].access$100(com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:670,1"
      Dst: "[com.drew.metadata.Metadata].getDirectoryCount()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:670,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:671,1"
      Dst: "[com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row].access$200(com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:672,1"
      Dst: "[com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row].access$300(com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:673,1"
      Dst: "[com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row].access$400(com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler$Row)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:675,1"
      Dst: "[java.lang.String].toLowerCase()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:664,1"
      Dst: "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:679,1"
      Dst: "[java.io.Writer].write(int)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$MarkdownTableOutputHandler:681,1"
      Dst: "[java.io.Writer].flush()"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 22
    CyclomaticComplexity: 8
  - functionName: "[com.drew.metadata.Metadata].getDirectoryCount()"
    functionSourceFile: "com.drew.metadata.Metadata"
    linkageType: ""
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList:java.util.LinkedList:java.util.Vector:java.util.concurrent.CopyOnWriteArrayList].size()"
    - "[java.util.List].size()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.Metadata:75,1"
      Dst: "[java.util.List].size()"
    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: "[com.drew.metadata.mov.media.QuickTimeSubtitleHandler].createDirectory()"
    functionSourceFile: "com.drew.metadata.mov.media.QuickTimeSubtitleHandler"
    linkageType: ""
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionDepth: 4
    returnType: "com.drew.metadata.mov.media.QuickTimeSubtitleDirectory"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mov.media.QuickTimeSubtitleDirectory].<init>()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.media.QuickTimeSubtitleHandler:47,1"
      Dst: "[com.drew.metadata.mov.media.QuickTimeSubtitleDirectory].<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: "[com.drew.metadata.mov.media.QuickTimeSubtitleHandler].getMediaInformation()"
    functionSourceFile: "com.drew.metadata.mov.media.QuickTimeSubtitleHandler"
    linkageType: ""
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 2
    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: "[com.drew.metadata.mov.media.QuickTimeSubtitleHandler].processSampleDescription(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
    functionSourceFile: "com.drew.metadata.mov.media.QuickTimeSubtitleHandler"
    linkageType: ""
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "com.drew.metadata.mov.atoms.Atom"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mov.atoms.SubtitleSampleDescriptionAtom].<init>(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
    - "[com.drew.metadata.mov.atoms.SubtitleSampleDescriptionAtom].addMetadata(com.drew.metadata.mov.media.QuickTimeSubtitleDirectory)"
    functionUses: 1
    ICount: 9
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.media.QuickTimeSubtitleHandler:60,1"
      Dst: "[com.drew.metadata.mov.atoms.SubtitleSampleDescriptionAtom].<init>(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
    - Src: "com.drew.metadata.mov.media.QuickTimeSubtitleHandler:61,1"
      Dst: "[com.drew.metadata.mov.atoms.SubtitleSampleDescriptionAtom].addMetadata(com.drew.metadata.mov.media.QuickTimeSubtitleDirectory)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.mov.media.QuickTimeSubtitleHandler].processMediaInformation(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom)"
    functionSourceFile: "com.drew.metadata.mov.media.QuickTimeSubtitleHandler"
    linkageType: ""
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "com.drew.metadata.mov.atoms.Atom"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    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: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.mov.media.QuickTimeSubtitleHandler].processTimeToSample(com.drew.lang.SequentialReader,com.drew.metadata.mov.atoms.Atom,com.drew.metadata.mov.QuickTimeContext)"
    functionSourceFile: "com.drew.metadata.mov.media.QuickTimeSubtitleHandler"
    linkageType: ""
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "com.drew.metadata.mov.atoms.Atom"
    - "com.drew.metadata.mov.QuickTimeContext"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 5
    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: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.mp4.media.Mp4SoundHandler].getDirectory()"
    functionSourceFile: "com.drew.metadata.mp4.media.Mp4SoundHandler"
    linkageType: ""
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionDepth: 3
    returnType: "com.drew.metadata.mp4.media.Mp4SoundDirectory"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mp4.media.Mp4SoundDirectory].<init>()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mp4.media.Mp4SoundHandler:44,1"
      Dst: "[com.drew.metadata.mp4.media.Mp4SoundDirectory].<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: "[com.drew.metadata.mp4.media.Mp4SoundHandler].getMediaInformation()"
    functionSourceFile: "com.drew.metadata.mp4.media.Mp4SoundHandler"
    linkageType: ""
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 2
    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: "[com.drew.metadata.mp4.media.Mp4SoundHandler].processSampleDescription(com.drew.lang.SequentialReader)"
    functionSourceFile: "com.drew.metadata.mp4.media.Mp4SoundHandler"
    linkageType: ""
    functionLinenumber: 57
    functionLinenumberEnd: 86
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.lang.SequentialReader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.StreamReader].skip(long)"
    - "[com.drew.lang.SequentialByteArrayReader].skip(long)"
    - "[com.drew.lang.SequentialReader].getUInt32()"
    - "[com.drew.lang.SequentialReader].getString(int)"
    - "[com.drew.lang.SequentialReader].getUInt16()"
    - "[com.drew.lang.SequentialReader].getInt16()"
    - "[com.drew.metadata.mp4.Mp4Dictionary].setLookup(int,java.lang.String,com.drew.metadata.mp4.Mp4Directory)"
    - "[com.drew.metadata.Directory].setInt(int,int)"
    - "[com.drew.lang.SequentialReader].skip(long)"
    functionUses: 1
    ICount: 24
    EdgeCount: 20
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mp4.media.Mp4SoundHandler:58,1"
      Dst: "[com.drew.lang.SequentialReader].skip(long)"
    - Src: "com.drew.metadata.mp4.media.Mp4SoundHandler:62,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt32()"
    - Src: "com.drew.metadata.mp4.media.Mp4SoundHandler:64,1"
      Dst: "[com.drew.lang.SequentialReader].getString(int)"
    - Src: "com.drew.metadata.mp4.media.Mp4SoundHandler:66,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt16()"
    - Src: "com.drew.metadata.mp4.media.Mp4SoundHandler:72,1"
      Dst: "[com.drew.lang.SequentialReader].getInt16()"
    - Src: "com.drew.metadata.mp4.media.Mp4SoundHandler:81,1"
      Dst: "[com.drew.metadata.mp4.Mp4Dictionary].setLookup(int,java.lang.String,com.drew.metadata.mp4.Mp4Directory)"
    - Src: "com.drew.metadata.mp4.media.Mp4SoundHandler:83,1"
      Dst: "[com.drew.metadata.Directory].setInt(int,int)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.mp4.media.Mp4SoundHandler].processMediaInformation(com.drew.lang.SequentialReader)"
    functionSourceFile: "com.drew.metadata.mp4.media.Mp4SoundHandler"
    linkageType: ""
    functionLinenumber: 91
    functionLinenumberEnd: 103
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.lang.SequentialReader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.StreamReader].skip(long)"
    - "[com.drew.lang.SequentialByteArrayReader].skip(long)"
    - "[com.drew.lang.SequentialReader].getInt16()"
    - "[java.lang.Math].pow(double,double)"
    - "[com.drew.metadata.Directory].setDouble(int,double)"
    - "[com.drew.lang.SequentialReader].skip(long)"
    functionUses: 1
    ICount: 19
    EdgeCount: 7
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mp4.media.Mp4SoundHandler:92,1"
      Dst: "[com.drew.lang.SequentialReader].skip(long)"
    - Src: "com.drew.metadata.mp4.media.Mp4SoundHandler:96,1"
      Dst: "[com.drew.lang.SequentialReader].getInt16()"
    - Src: "com.drew.metadata.mp4.media.Mp4SoundHandler:100,1"
      Dst: "[java.lang.Math].pow(double,double)"
    - Src: "com.drew.metadata.mp4.media.Mp4SoundHandler:101,1"
      Dst: "[com.drew.metadata.Directory].setDouble(int,double)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.mp4.media.Mp4SoundHandler].processTimeToSample(com.drew.lang.SequentialReader,com.drew.metadata.mp4.Mp4Context)"
    functionSourceFile: "com.drew.metadata.mp4.media.Mp4SoundHandler"
    linkageType: ""
    functionLinenumber: 108
    functionLinenumberEnd: 122
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "com.drew.metadata.mp4.Mp4Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.SequentialByteArrayReader].skip(long)"
    - "[com.drew.lang.StreamReader].skip(long)"
    - "[com.drew.lang.SequentialReader].getUInt32()"
    - "[java.lang.Long].longValue()"
    - "[com.drew.metadata.Directory].setDouble(int,double)"
    - "[com.drew.lang.SequentialReader].skip(long)"
    functionUses: 1
    ICount: 16
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "com.drew.metadata.mp4.media.Mp4SoundHandler:118"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mp4.media.Mp4SoundHandler:121"
        BranchSideFuncs:
        - "setDouble(int,double)"
        - "longValue()"
      - BranchSide: "com.drew.metadata.mp4.media.Mp4SoundHandler:120"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.mp4.media.Mp4SoundHandler:109,1"
      Dst: "[com.drew.lang.SequentialReader].skip(long)"
    - Src: "com.drew.metadata.mp4.media.Mp4SoundHandler:113,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt32()"
    - Src: "com.drew.metadata.mp4.media.Mp4SoundHandler:119,1"
      Dst: "[java.lang.Long].longValue()"
    - Src: "com.drew.metadata.mp4.media.Mp4SoundHandler:119,1"
      Dst: "[com.drew.metadata.Directory].setDouble(int,double)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.heif.boxes.ItemProtectionBox$ProtectionSchemeInfoBox$OriginalFormatBox].<init>(com.drew.metadata.heif.boxes.ItemProtectionBox$ProtectionSchemeInfoBox,com.drew.lang.SequentialReader,com.drew.metadata.heif.boxes.Box)"
    functionSourceFile: "com.drew.metadata.heif.boxes.ItemProtectionBox$ProtectionSchemeInfoBox$OriginalFormatBox"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.drew.metadata.heif.boxes.ItemProtectionBox$ProtectionSchemeInfoBox"
    - "com.drew.lang.SequentialReader"
    - "com.drew.metadata.heif.boxes.Box"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.heif.boxes.Box].<init>(com.drew.lang.SequentialReader)"
    - "[com.drew.lang.SequentialReader].getString(int)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.heif.boxes.ItemProtectionBox$ProtectionSchemeInfoBox$OriginalFormatBox:60,1"
      Dst: "[com.drew.metadata.heif.boxes.Box].<init>(com.drew.lang.SequentialReader)"
    - Src: "com.drew.metadata.heif.boxes.ItemProtectionBox$ProtectionSchemeInfoBox$OriginalFormatBox:62,1"
      Dst: "[com.drew.lang.SequentialReader].getString(int)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.exif.makernotes.SamsungType2MakernoteDirectory].<init>()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SamsungType2MakernoteDirectory"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].<init>()"
    - "[com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.SamsungType2MakernoteDirectory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SamsungType2MakernoteDirectory:135,1"
      Dst: "[com.drew.metadata.Directory].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.SamsungType2MakernoteDirectory:136,1"
      Dst: "[com.drew.metadata.exif.makernotes.SamsungType2MakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.SamsungType2MakernoteDirectory)"
    - Src: "com.drew.metadata.exif.makernotes.SamsungType2MakernoteDirectory:136,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.exif.makernotes.SamsungType2MakernoteDirectory].getName()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SamsungType2MakernoteDirectory"
    linkageType: ""
    functionLinenumber: 142
    functionLinenumberEnd: 144
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.exif.makernotes.SamsungType2MakernoteDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SamsungType2MakernoteDirectory"
    linkageType: ""
    functionLinenumber: 149
    functionLinenumberEnd: 151
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.jpeg.JpegCommentReader].<init>()"
    functionSourceFile: "com.drew.metadata.jpeg.JpegCommentReader"
    linkageType: ""
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.jpeg.JpegCommentReader: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: "[com.drew.metadata.jpeg.JpegCommentReader].getSegmentTypes()"
    functionSourceFile: "com.drew.metadata.jpeg.JpegCommentReader"
    linkageType: ""
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionDepth: 0
    returnType: "java.lang.Iterable"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Collections].singletonList(java.lang.Object)"
    functionUses: 2
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.jpeg.JpegCommentReader:42,1"
      Dst: "[java.util.Collections].singletonList(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: "[com.drew.metadata.jpeg.JpegCommentReader].readJpegSegments(java.lang.Iterable<byte[]>,com.drew.metadata.Metadata,com.drew.imaging.jpeg.JpegSegmentType)"
    functionSourceFile: "com.drew.metadata.jpeg.JpegCommentReader"
    linkageType: ""
    functionLinenumber: 46
    functionLinenumberEnd: 55
    functionDepth: 3
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.Iterable<byte[]>"
    - "com.drew.metadata.Metadata"
    - "com.drew.imaging.jpeg.JpegSegmentType"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.adobe.internal.xmp.impl.XMPNode$1].hasNext()"
    - "[jdk.internal.module.ModuleBootstrap$2].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIterator].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIteratorChildren].hasNext()"
    - "[java.nio.file.FileTreeIterator].hasNext()"
    - "[java.util.concurrent.ConcurrentHashMap$EntrySetView].iterator()"
    - "[jdk.internal.module.ModuleBootstrap$2].next()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIterator].next()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl].next()"
    - "[com.adobe.internal.xmp.impl.XMPNode$1].next()"
    - "[java.io.BufferedReader$1:java.nio.file.FileTreeIterator:java.nio.file.Files$2].next()"
    - "[com.drew.metadata.jpeg.JpegCommentDirectory].<init>()"
    - "[com.drew.metadata.Metadata].addDirectory(com.drew.metadata.Directory)"
    - "[com.drew.metadata.StringValue].<init>(byte[],java.nio.charset.Charset)"
    - "[com.drew.metadata.Directory].setStringValue(int,com.drew.metadata.StringValue)"
    - "[java.lang.Iterable].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    functionUses: 1
    ICount: 17
    EdgeCount: 16
    BranchProfiles:
    - Branch String: "com.drew.metadata.jpeg.JpegCommentReader:47"
      Branch Sides:
      - BranchSide: "com.drew.metadata.jpeg.JpegCommentReader:54"
        BranchSideFuncs:
        - "hasNext()"
        - "addDirectory(com.drew.metadata.Directory)"
        - "setStringValue(int,com.drew.metadata.StringValue)"
        - "iterator()"
        - "<init>()"
        - "next()"
        - "<init>(byte[],java.nio.charset.Charset)"
      - BranchSide: "com.drew.metadata.jpeg.JpegCommentReader:53"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.jpeg.JpegCommentReader:47,1"
      Dst: "[java.lang.Iterable].iterator()"
    - Src: "com.drew.metadata.jpeg.JpegCommentReader:47,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.drew.metadata.jpeg.JpegCommentReader:47,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.drew.metadata.jpeg.JpegCommentReader:48,1"
      Dst: "[com.drew.metadata.jpeg.JpegCommentDirectory].<init>()"
    - Src: "com.drew.metadata.jpeg.JpegCommentReader:49,1"
      Dst: "[com.drew.metadata.Metadata].addDirectory(com.drew.metadata.Directory)"
    - Src: "com.drew.metadata.jpeg.JpegCommentReader:52,1"
      Dst: "[com.drew.metadata.StringValue].<init>(byte[],java.nio.charset.Charset)"
    - Src: "com.drew.metadata.jpeg.JpegCommentReader:52,1"
      Dst: "[com.drew.metadata.Directory].setStringValue(int,com.drew.metadata.StringValue)"
    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: "[com.drew.metadata.jpeg.JpegCommentDescriptor].<init>(com.drew.metadata.jpeg.JpegCommentDirectory)"
    functionSourceFile: "com.drew.metadata.jpeg.JpegCommentDescriptor"
    linkageType: ""
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.jpeg.JpegCommentDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.jpeg.JpegCommentDescriptor:37,1"
      Dst: "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    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: "[com.drew.metadata.exif.PrintIMDescriptor].getDescription(int)"
    functionSourceFile: "com.drew.metadata.exif.PrintIMDescriptor"
    linkageType: ""
    functionLinenumber: 47
    functionLinenumberEnd: 56
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getDescription(int)"
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    functionUses: 1
    ICount: 14
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.PrintIMDescriptor:53"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.PrintIMDescriptor:55"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.PrintIMDescriptor:54"
        BranchSideFuncs:
        - "format(java.lang.String,java.lang.Object[])"
    Callsites:
    - Src: "com.drew.metadata.exif.PrintIMDescriptor:50,1"
      Dst: "[com.drew.metadata.TagDescriptor].getDescription(int)"
    - Src: "com.drew.metadata.exif.PrintIMDescriptor:52,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.PrintIMDescriptor:55,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: 5
    CyclomaticComplexity: 1
  - functionName: "[com.drew.imaging.avi.AviMetadataReader].<init>()"
    functionSourceFile: "com.drew.imaging.avi.AviMetadataReader"
    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: "com.drew.imaging.avi.AviMetadataReader:41,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: "[com.drew.imaging.avi.AviMetadataReader].readMetadata(java.io.File)"
    functionSourceFile: "com.drew.imaging.avi.AviMetadataReader"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "com.drew.metadata.Metadata"
    argCount: 1
    argTypes:
    - "java.io.File"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.FileInputStream].<init>(java.io.File)"
    - "[com.drew.imaging.avi.AviMetadataReader].readMetadata(java.io.InputStream)"
    - "[java.io.InputStream].close()"
    - "[com.drew.metadata.file.FileSystemMetadataReader].<init>()"
    - "[com.drew.metadata.file.FileSystemMetadataReader].read(java.io.File,com.drew.metadata.Metadata)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.avi.AviMetadataReader:46,1"
      Dst: "[java.io.FileInputStream].<init>(java.io.File)"
    - Src: "com.drew.imaging.avi.AviMetadataReader:49,1"
      Dst: "[com.drew.imaging.avi.AviMetadataReader].readMetadata(java.io.InputStream)"
    - Src: "com.drew.imaging.avi.AviMetadataReader:51,1"
      Dst: "[java.io.InputStream].close()"
    - Src: "com.drew.imaging.avi.AviMetadataReader:53,1"
      Dst: "[com.drew.metadata.file.FileSystemMetadataReader].<init>()"
    - Src: "com.drew.imaging.avi.AviMetadataReader:53,1"
      Dst: "[com.drew.metadata.file.FileSystemMetadataReader].read(java.io.File,com.drew.metadata.Metadata)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      - "com.drew.imaging.riff.RiffProcessingException"
      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: "[com.drew.metadata.Metadata].getDirectoriesOfType(java.lang.Class<T>)"
    functionSourceFile: "com.drew.metadata.Metadata"
    linkageType: ""
    functionLinenumber: 58
    functionLinenumberEnd: 66
    functionDepth: 0
    returnType: "java.util.Collection<T>"
    argCount: 1
    argTypes:
    - "java.lang.Class<T>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].<init>()"
    - "[com.adobe.internal.xmp.impl.XMPNode$1].hasNext()"
    - "[jdk.internal.module.ModuleBootstrap$2].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIterator].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIteratorChildren].hasNext()"
    - "[java.util.Vector].iterator()"
    - "[jdk.internal.module.ModuleBootstrap$2].next()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIterator].next()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl].next()"
    - "[com.adobe.internal.xmp.impl.XMPNode$1].next()"
    - "[java.io.BufferedReader$1].next()"
    - "[java.lang.Object].getClass()"
    - "[java.lang.Class].isAssignableFrom(java.lang.Class)"
    - "[java.util.ArrayList].add(java.lang.Object)"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 1
    ICount: 16
    EdgeCount: 15
    BranchProfiles:
    - Branch String: "com.drew.metadata.Metadata:60"
      Branch Sides:
      - BranchSide: "com.drew.metadata.Metadata:65"
        BranchSideFuncs:
        - "hasNext()"
        - "iterator()"
        - "next()"
        - "getClass()"
        - "isAssignableFrom(java.lang.Class)"
      - BranchSide: "com.drew.metadata.Metadata:64"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.Metadata:61"
      Branch Sides:
      - BranchSide: "com.drew.metadata.Metadata:64"
        BranchSideFuncs:
        - "add(java.lang.Object)"
      - BranchSide: "com.drew.metadata.Metadata:63"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.Metadata:59,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "com.drew.metadata.Metadata:60,1"
      Dst: "[java.util.List].iterator()"
    - Src: "com.drew.metadata.Metadata:60,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.drew.metadata.Metadata:60,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.drew.metadata.Metadata:61,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "com.drew.metadata.Metadata:61,1"
      Dst: "[java.lang.Class].isAssignableFrom(java.lang.Class)"
    - Src: "com.drew.metadata.Metadata:62,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: 6
    CyclomaticComplexity: 3
  - functionName: "[com.drew.metadata.Metadata].getFirstDirectoryOfType(java.lang.Class<T>)"
    functionSourceFile: "com.drew.metadata.Metadata"
    linkageType: ""
    functionLinenumber: 103
    functionLinenumberEnd: 109
    functionDepth: 0
    returnType: "com.drew.metadata.Directory"
    argCount: 1
    argTypes:
    - "java.lang.Class<T>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.adobe.internal.xmp.impl.XMPNode$1].hasNext()"
    - "[jdk.internal.module.ModuleBootstrap$2].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIterator].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIteratorChildren].hasNext()"
    - "[java.nio.file.FileTreeIterator].hasNext()"
    - "[java.util.ArrayList].iterator()"
    - "[jdk.internal.module.ModuleBootstrap$2].next()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIterator].next()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl].next()"
    - "[com.adobe.internal.xmp.impl.XMPNode$1].next()"
    - "[java.io.BufferedReader$1].next()"
    - "[java.lang.Object].getClass()"
    - "[java.lang.Class].isAssignableFrom(java.lang.Class)"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    functionUses: 7
    ICount: 14
    EdgeCount: 14
    BranchProfiles:
    - Branch String: "com.drew.metadata.Metadata:104"
      Branch Sides:
      - BranchSide: "com.drew.metadata.Metadata:108"
        BranchSideFuncs:
        - "hasNext()"
        - "iterator()"
        - "next()"
        - "getClass()"
        - "isAssignableFrom(java.lang.Class)"
      - BranchSide: "com.drew.metadata.Metadata:107"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.Metadata:105"
      Branch Sides:
      - BranchSide: "com.drew.metadata.Metadata:107"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.Metadata:106"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.Metadata:104,1"
      Dst: "[java.util.List].iterator()"
    - Src: "com.drew.metadata.Metadata:104,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.drew.metadata.Metadata:104,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.drew.metadata.Metadata:105,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "com.drew.metadata.Metadata:105,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: 6
    CyclomaticComplexity: 2
  - functionName: "[com.drew.metadata.Metadata].containsDirectoryOfType(java.lang.Class<?\
      \ extends Directory>)"
    functionSourceFile: "com.drew.metadata.Metadata"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Class<? extends Directory>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.lang.Object].getClass()"
    - "[java.lang.Class].isAssignableFrom(java.lang.Class)"
    functionUses: 0
    ICount: 14
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.metadata.Metadata:119"
      Branch Sides:
      - BranchSide: "com.drew.metadata.Metadata:123"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.Metadata:122"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.Metadata:120"
      Branch Sides:
      - BranchSide: "com.drew.metadata.Metadata:122"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.Metadata:121"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.Metadata:119,1"
      Dst: "[java.util.List].iterator()"
    - Src: "com.drew.metadata.Metadata:119,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.drew.metadata.Metadata:119,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.drew.metadata.Metadata:120,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "com.drew.metadata.Metadata:120,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: 6
    CyclomaticComplexity: 2
  - functionName: "[com.drew.metadata.Metadata].toString()"
    functionSourceFile: "com.drew.metadata.Metadata"
    linkageType: ""
    functionLinenumber: 143
    functionLinenumberEnd: 150
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Metadata].getDirectoryCount()"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.lang.Integer].valueOf(int)"
    functionUses: 14
    ICount: 12
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.drew.metadata.Metadata:147"
      Branch Sides:
      - BranchSide: "com.drew.metadata.Metadata:148"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.Metadata:147"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.Metadata:144,1"
      Dst: "[com.drew.metadata.Metadata].getDirectoryCount()"
    - Src: "com.drew.metadata.Metadata:146,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.drew.metadata.Metadata:145,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: 4
    CyclomaticComplexity: 2
  - functionName: "[com.drew.imaging.psd.PsdMetadataReader].<init>()"
    functionSourceFile: "com.drew.imaging.psd.PsdMetadataReader"
    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: "com.drew.imaging.psd.PsdMetadataReader: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: "[com.drew.imaging.psd.PsdMetadataReader].readMetadata(java.io.File)"
    functionSourceFile: "com.drew.imaging.psd.PsdMetadataReader"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 10
    returnType: "com.drew.metadata.Metadata"
    argCount: 1
    argTypes:
    - "java.io.File"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.FileInputStream].<init>(java.io.File)"
    - "[com.drew.imaging.psd.PsdMetadataReader].readMetadata(java.io.InputStream)"
    - "[java.io.InputStream].close()"
    - "[com.drew.metadata.file.FileSystemMetadataReader].<init>()"
    - "[com.drew.metadata.file.FileSystemMetadataReader].read(java.io.File,com.drew.metadata.Metadata)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.psd.PsdMetadataReader:42,1"
      Dst: "[java.io.FileInputStream].<init>(java.io.File)"
    - Src: "com.drew.imaging.psd.PsdMetadataReader:45,1"
      Dst: "[com.drew.imaging.psd.PsdMetadataReader].readMetadata(java.io.InputStream)"
    - Src: "com.drew.imaging.psd.PsdMetadataReader:47,1"
      Dst: "[java.io.InputStream].close()"
    - Src: "com.drew.imaging.psd.PsdMetadataReader:49,1"
      Dst: "[com.drew.metadata.file.FileSystemMetadataReader].<init>()"
    - Src: "com.drew.imaging.psd.PsdMetadataReader:49,1"
      Dst: "[com.drew.metadata.file.FileSystemMetadataReader].read(java.io.File,com.drew.metadata.Metadata)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.exif.makernotes.RicohMakernoteDirectory].<init>()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.RicohMakernoteDirectory"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].<init>()"
    - "[com.drew.metadata.exif.makernotes.RicohMakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.RicohMakernoteDirectory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.RicohMakernoteDirectory:53,1"
      Dst: "[com.drew.metadata.Directory].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.RicohMakernoteDirectory:54,1"
      Dst: "[com.drew.metadata.exif.makernotes.RicohMakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.RicohMakernoteDirectory)"
    - Src: "com.drew.metadata.exif.makernotes.RicohMakernoteDirectory:54,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.exif.makernotes.RicohMakernoteDirectory].getName()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.RicohMakernoteDirectory"
    linkageType: ""
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.exif.makernotes.RicohMakernoteDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.RicohMakernoteDirectory"
    linkageType: ""
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.mp4.media.Mp4MetaDescriptor].<init>(com.drew.metadata.mp4.media.Mp4MetaDirectory)"
    functionSourceFile: "com.drew.metadata.mp4.media.Mp4MetaDescriptor"
    linkageType: ""
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.mp4.media.Mp4MetaDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mp4.media.Mp4MetaDescriptor:29,1"
      Dst: "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    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: "[com.drew.imaging.jpeg.JpegMetadataReader].readMetadata(java.io.InputStream,java.lang.Iterable<JpegSegmentMetadataReader>)"
    functionSourceFile: "com.drew.imaging.jpeg.JpegMetadataReader"
    linkageType: ""
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionDepth: 1
    returnType: "com.drew.metadata.Metadata"
    argCount: 2
    argTypes:
    - "java.io.InputStream"
    - "java.lang.Iterable<JpegSegmentMetadataReader>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Metadata].<init>()"
    - "[com.drew.imaging.jpeg.JpegMetadataReader].process(com.drew.metadata.Metadata,java.io.InputStream,java.lang.Iterable)"
    functionUses: 1
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.jpeg.JpegMetadataReader:76,1"
      Dst: "[com.drew.metadata.Metadata].<init>()"
    - Src: "com.drew.imaging.jpeg.JpegMetadataReader:77,1"
      Dst: "[com.drew.imaging.jpeg.JpegMetadataReader].process(com.drew.metadata.Metadata,java.io.InputStream,java.lang.Iterable)"
    JavaMethodInfo:
      exceptions:
      - "com.drew.imaging.jpeg.JpegProcessingException"
      - "java.io.IOException"
      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: "[com.drew.imaging.jpeg.JpegMetadataReader].readMetadata(java.io.File,java.lang.Iterable<JpegSegmentMetadataReader>)"
    functionSourceFile: "com.drew.imaging.jpeg.JpegMetadataReader"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "com.drew.metadata.Metadata"
    argCount: 2
    argTypes:
    - "java.io.File"
    - "java.lang.Iterable<JpegSegmentMetadataReader>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.FileInputStream].<init>(java.io.File)"
    - "[com.drew.imaging.jpeg.JpegMetadataReader].readMetadata(java.io.InputStream,java.lang.Iterable)"
    - "[java.io.InputStream].close()"
    - "[com.drew.metadata.file.FileSystemMetadataReader].<init>()"
    - "[com.drew.metadata.file.FileSystemMetadataReader].read(java.io.File,com.drew.metadata.Metadata)"
    functionUses: 0
    ICount: 14
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.jpeg.JpegMetadataReader:90,1"
      Dst: "[java.io.FileInputStream].<init>(java.io.File)"
    - Src: "com.drew.imaging.jpeg.JpegMetadataReader:93,1"
      Dst: "[com.drew.imaging.jpeg.JpegMetadataReader].readMetadata(java.io.InputStream,java.lang.Iterable)"
    - Src: "com.drew.imaging.jpeg.JpegMetadataReader:95,1"
      Dst: "[java.io.InputStream].close()"
    - Src: "com.drew.imaging.jpeg.JpegMetadataReader:97,1"
      Dst: "[com.drew.metadata.file.FileSystemMetadataReader].<init>()"
    - Src: "com.drew.imaging.jpeg.JpegMetadataReader:97,1"
      Dst: "[com.drew.metadata.file.FileSystemMetadataReader].read(java.io.File,com.drew.metadata.Metadata)"
    JavaMethodInfo:
      exceptions:
      - "com.drew.imaging.jpeg.JpegProcessingException"
      - "java.io.IOException"
      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: "[com.drew.imaging.jpeg.JpegMetadataReader].readMetadata(java.io.File)"
    functionSourceFile: "com.drew.imaging.jpeg.JpegMetadataReader"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.drew.metadata.Metadata"
    argCount: 1
    argTypes:
    - "java.io.File"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.imaging.jpeg.JpegMetadataReader].readMetadata(java.io.File,java.lang.Iterable)"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.jpeg.JpegMetadataReader:104,1"
      Dst: "[com.drew.imaging.jpeg.JpegMetadataReader].readMetadata(java.io.File,java.lang.Iterable)"
    JavaMethodInfo:
      exceptions:
      - "com.drew.imaging.jpeg.JpegProcessingException"
      - "java.io.IOException"
      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: "[com.drew.imaging.jpeg.JpegMetadataReader].process(com.drew.metadata.Metadata,java.io.InputStream)"
    functionSourceFile: "com.drew.imaging.jpeg.JpegMetadataReader"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.metadata.Metadata"
    - "java.io.InputStream"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.imaging.jpeg.JpegMetadataReader].process(com.drew.metadata.Metadata,java.io.InputStream,java.lang.Iterable)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.jpeg.JpegMetadataReader:109,1"
      Dst: "[com.drew.imaging.jpeg.JpegMetadataReader].process(com.drew.metadata.Metadata,java.io.InputStream,java.lang.Iterable)"
    JavaMethodInfo:
      exceptions:
      - "com.drew.imaging.jpeg.JpegProcessingException"
      - "java.io.IOException"
      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: "[com.drew.imaging.jpeg.JpegMetadataReader].process(com.drew.metadata.Metadata,java.io.InputStream,java.lang.Iterable<JpegSegmentMetadataReader>)"
    functionSourceFile: "com.drew.imaging.jpeg.JpegMetadataReader"
    linkageType: ""
    functionLinenumber: 113
    functionLinenumberEnd: 128
    functionDepth: 1
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.drew.metadata.Metadata"
    - "java.io.InputStream"
    - "java.lang.Iterable<JpegSegmentMetadataReader>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.HashSet].<init>()"
    - "[com.adobe.internal.xmp.impl.XMPNode$1].hasNext()"
    - "[jdk.internal.module.ModuleBootstrap$2].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIterator].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIteratorChildren].hasNext()"
    - "[java.util.concurrent.ConcurrentHashMap$EntrySetView].iterator()"
    - "[jdk.internal.module.ModuleBootstrap$2].next()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIterator].next()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl].next()"
    - "[com.adobe.internal.xmp.impl.XMPNode$1].next()"
    - "[java.io.BufferedReader$1].next()"
    - "[com.drew.metadata.jpeg.JpegReader].getSegmentTypes()"
    - "[com.drew.metadata.jpeg.JpegDhtReader].getSegmentTypes()"
    - "[com.drew.metadata.iptc.IptcReader].getSegmentTypes()"
    - "[com.drew.metadata.icc.IccReader].getSegmentTypes()"
    - "[com.drew.metadata.jpeg.JpegDnlReader].getSegmentTypes()"
    - "[com.drew.metadata.photoshop.PhotoshopReader].getSegmentTypes()"
    - "[com.drew.metadata.jpeg.JpegCommentReader].getSegmentTypes()"
    - "[com.drew.metadata.jfif.JfifReader].getSegmentTypes()"
    - "[com.drew.metadata.adobe.AdobeJpegReader].getSegmentTypes()"
    - "[com.drew.metadata.photoshop.DuckyReader].getSegmentTypes()"
    - "[com.drew.metadata.exif.ExifReader].getSegmentTypes()"
    - "[com.drew.metadata.xmp.XmpReader].getSegmentTypes()"
    - "[com.drew.metadata.jfxx.JfxxReader].getSegmentTypes()"
    - "[java.util.HashSet].add(java.lang.Object)"
    - "[com.drew.lang.StreamReader].<init>(java.io.InputStream)"
    - "[com.drew.imaging.jpeg.JpegSegmentReader].readSegments(com.drew.lang.SequentialReader,java.lang.Iterable)"
    - "[com.drew.imaging.jpeg.JpegMetadataReader].processJpegSegmentData(com.drew.metadata.Metadata,java.lang.Iterable,com.drew.imaging.jpeg.JpegSegmentData)"
    - "[java.lang.Iterable].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[com.drew.imaging.jpeg.JpegSegmentMetadataReader].getSegmentTypes()"
    - "[java.util.Set].add(java.lang.Object)"
    functionUses: 1
    ICount: 26
    EdgeCount: 40
    BranchProfiles:
    - Branch String: "com.drew.imaging.jpeg.JpegMetadataReader:114"
      Branch Sides:
      - BranchSide: "com.drew.imaging.jpeg.JpegMetadataReader:117"
        BranchSideFuncs: []
      - BranchSide: "com.drew.imaging.jpeg.JpegMetadataReader:116"
        BranchSideFuncs:
        - "<init>()"
    - Branch String: "com.drew.imaging.jpeg.JpegMetadataReader:118"
      Branch Sides:
      - BranchSide: "com.drew.imaging.jpeg.JpegMetadataReader:124"
        BranchSideFuncs:
        - "getSegmentTypes()"
        - "hasNext()"
        - "iterator()"
        - "next()"
      - BranchSide: "com.drew.imaging.jpeg.JpegMetadataReader:123"
        BranchSideFuncs:
        - "processJpegSegmentData(com.drew.metadata.Metadata,java.lang.Iterable,com.drew.imaging.jpeg.JpegSegmentData)"
        - "readSegments(com.drew.lang.SequentialReader,java.lang.Iterable)"
        - "<init>(java.io.InputStream)"
    - Branch String: "com.drew.imaging.jpeg.JpegMetadataReader:119"
      Branch Sides:
      - BranchSide: "com.drew.imaging.jpeg.JpegMetadataReader:122"
        BranchSideFuncs:
        - "getSegmentTypes()"
        - "hasNext()"
        - "add(java.lang.Object)"
        - "iterator()"
        - "next()"
      - BranchSide: "com.drew.imaging.jpeg.JpegMetadataReader:121"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.imaging.jpeg.JpegMetadataReader:117,1"
      Dst: "[java.util.HashSet].<init>()"
    - Src: "com.drew.imaging.jpeg.JpegMetadataReader:118,1"
      Dst: "[java.lang.Iterable].iterator()"
    - Src: "com.drew.imaging.jpeg.JpegMetadataReader:118,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.drew.imaging.jpeg.JpegMetadataReader:118,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.drew.imaging.jpeg.JpegMetadataReader:119,1"
      Dst: "[com.drew.imaging.jpeg.JpegSegmentMetadataReader].getSegmentTypes()"
    - Src: "com.drew.imaging.jpeg.JpegMetadataReader:120,1"
      Dst: "[java.util.Set].add(java.lang.Object)"
    - Src: "com.drew.imaging.jpeg.JpegMetadataReader:124,1"
      Dst: "[com.drew.lang.StreamReader].<init>(java.io.InputStream)"
    - Src: "com.drew.imaging.jpeg.JpegMetadataReader:124,1"
      Dst: "[com.drew.imaging.jpeg.JpegSegmentReader].readSegments(com.drew.lang.SequentialReader,java.lang.Iterable)"
    - Src: "com.drew.imaging.jpeg.JpegMetadataReader:126,1"
      Dst: "[com.drew.imaging.jpeg.JpegMetadataReader].processJpegSegmentData(com.drew.metadata.Metadata,java.lang.Iterable,com.drew.imaging.jpeg.JpegSegmentData)"
    JavaMethodInfo:
      exceptions:
      - "com.drew.imaging.jpeg.JpegProcessingException"
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 9
    CyclomaticComplexity: 4
  - functionName: "[com.drew.imaging.jpeg.JpegMetadataReader].processJpegSegmentData(com.drew.metadata.Metadata,java.lang.Iterable<JpegSegmentMetadataReader>,com.drew.imaging.jpeg.JpegSegmentData)"
    functionSourceFile: "com.drew.imaging.jpeg.JpegMetadataReader"
    linkageType: ""
    functionLinenumber: 131
    functionLinenumberEnd: 138
    functionDepth: 3
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.drew.metadata.Metadata"
    - "java.lang.Iterable<JpegSegmentMetadataReader>"
    - "com.drew.imaging.jpeg.JpegSegmentData"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.adobe.internal.xmp.impl.XMPNode$1].hasNext()"
    - "[jdk.internal.module.ModuleBootstrap$2].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIterator].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIteratorChildren].hasNext()"
    - "[java.nio.file.FileTreeIterator].hasNext()"
    - "[java.nio.file.Files$2].hasNext()"
    - "[java.io.BufferedReader$1].hasNext()"
    - "[java.util.ArrayList].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$EntrySetView].iterator()"
    - "[java.util.concurrent.CopyOnWriteArrayList].iterator()"
    - "[java.util.concurrent.LinkedBlockingQueue].iterator()"
    - "[java.util.ServiceLoader].iterator()"
    - "[java.util.ArrayDeque].iterator()"
    - "[java.util.AbstractSequentialList].iterator()"
    - "[java.util.TreeSet].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$KeySetView].iterator()"
    - "[java.util.Vector].iterator()"
    - "[java.util.HashSet].iterator()"
    - "[java.util.AbstractList].iterator()"
    - "[java.util.TreeMap$EntrySet].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$ValuesView].iterator()"
    - "[java.util.TreeMap$KeySet].iterator()"
    - "[java.nio.file.Path].iterator()"
    - "[java.io.BufferedReader$1].next()"
    - "[jdk.internal.module.ModuleBootstrap$2].next()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIterator].next()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl].next()"
    - "[com.adobe.internal.xmp.impl.XMPNode$1].next()"
    - "[java.nio.file.Files$2].next()"
    - "[java.nio.file.FileTreeIterator].next()"
    - "[com.drew.metadata.jpeg.JpegReader].getSegmentTypes()"
    - "[com.drew.metadata.jpeg.JpegDhtReader].getSegmentTypes()"
    - "[com.drew.metadata.iptc.IptcReader].getSegmentTypes()"
    - "[com.drew.metadata.icc.IccReader].getSegmentTypes()"
    - "[com.drew.metadata.jpeg.JpegDnlReader].getSegmentTypes()"
    - "[com.drew.metadata.photoshop.PhotoshopReader].getSegmentTypes()"
    - "[com.drew.metadata.jpeg.JpegCommentReader].getSegmentTypes()"
    - "[com.drew.metadata.jfif.JfifReader].getSegmentTypes()"
    - "[com.drew.metadata.adobe.AdobeJpegReader].getSegmentTypes()"
    - "[com.drew.metadata.photoshop.DuckyReader].getSegmentTypes()"
    - "[com.drew.metadata.exif.ExifReader].getSegmentTypes()"
    - "[com.drew.metadata.xmp.XmpReader].getSegmentTypes()"
    - "[com.drew.metadata.jfxx.JfxxReader].getSegmentTypes()"
    - "[com.drew.imaging.jpeg.JpegSegmentData].getSegments(com.drew.imaging.jpeg.JpegSegmentType)"
    - "[com.drew.metadata.adobe.AdobeJpegReader].readJpegSegments(java.lang.Iterable,com.drew.metadata.Metadata,com.drew.imaging.jpeg.JpegSegmentType)"
    - "[com.drew.metadata.exif.ExifReader].readJpegSegments(java.lang.Iterable,com.drew.metadata.Metadata,com.drew.imaging.jpeg.JpegSegmentType)"
    - "[com.drew.metadata.jpeg.JpegCommentReader].readJpegSegments(java.lang.Iterable,com.drew.metadata.Metadata,com.drew.imaging.jpeg.JpegSegmentType)"
    - "[com.drew.metadata.photoshop.DuckyReader].readJpegSegments(java.lang.Iterable,com.drew.metadata.Metadata,com.drew.imaging.jpeg.JpegSegmentType)"
    - "[com.drew.metadata.photoshop.PhotoshopReader].readJpegSegments(java.lang.Iterable,com.drew.metadata.Metadata,com.drew.imaging.jpeg.JpegSegmentType)"
    - "[com.drew.metadata.jfif.JfifReader].readJpegSegments(java.lang.Iterable,com.drew.metadata.Metadata,com.drew.imaging.jpeg.JpegSegmentType)"
    - "[com.drew.metadata.icc.IccReader].readJpegSegments(java.lang.Iterable,com.drew.metadata.Metadata,com.drew.imaging.jpeg.JpegSegmentType)"
    - "[com.drew.metadata.jfxx.JfxxReader].readJpegSegments(java.lang.Iterable,com.drew.metadata.Metadata,com.drew.imaging.jpeg.JpegSegmentType)"
    - "[com.drew.metadata.iptc.IptcReader].readJpegSegments(java.lang.Iterable,com.drew.metadata.Metadata,com.drew.imaging.jpeg.JpegSegmentType)"
    - "[com.drew.metadata.jpeg.JpegDnlReader].readJpegSegments(java.lang.Iterable,com.drew.metadata.Metadata,com.drew.imaging.jpeg.JpegSegmentType)"
    - "[com.drew.metadata.jpeg.JpegReader].readJpegSegments(java.lang.Iterable,com.drew.metadata.Metadata,com.drew.imaging.jpeg.JpegSegmentType)"
    - "[com.drew.metadata.jpeg.JpegDhtReader].readJpegSegments(java.lang.Iterable,com.drew.metadata.Metadata,com.drew.imaging.jpeg.JpegSegmentType)"
    - "[com.drew.metadata.xmp.XmpReader].readJpegSegments(java.lang.Iterable,com.drew.metadata.Metadata,com.drew.imaging.jpeg.JpegSegmentType)"
    - "[java.lang.Iterable].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[com.drew.imaging.jpeg.JpegSegmentMetadataReader].getSegmentTypes()"
    - "[com.drew.imaging.jpeg.JpegSegmentMetadataReader].readJpegSegments(java.lang.Iterable,com.drew.metadata.Metadata,com.drew.imaging.jpeg.JpegSegmentType)"
    functionUses: 1
    ICount: 19
    EdgeCount: 89
    BranchProfiles:
    - Branch String: "com.drew.imaging.jpeg.JpegMetadataReader:132"
      Branch Sides:
      - BranchSide: "com.drew.imaging.jpeg.JpegMetadataReader:137"
        BranchSideFuncs:
        - "getSegmentTypes()"
        - "hasNext()"
        - "iterator()"
        - "next()"
      - BranchSide: "com.drew.imaging.jpeg.JpegMetadataReader:136"
        BranchSideFuncs: []
    - Branch String: "com.drew.imaging.jpeg.JpegMetadataReader:133"
      Branch Sides:
      - BranchSide: "com.drew.imaging.jpeg.JpegMetadataReader:136"
        BranchSideFuncs:
        - "getSegmentTypes()"
        - "hasNext()"
        - "iterator()"
        - "readJpegSegments(java.lang.Iterable,com.drew.metadata.Metadata,com.drew.imaging.jpeg.JpegSegmentType)"
        - "getSegments(com.drew.imaging.jpeg.JpegSegmentType)"
        - "next()"
      - BranchSide: "com.drew.imaging.jpeg.JpegMetadataReader:135"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.imaging.jpeg.JpegMetadataReader:132,1"
      Dst: "[java.lang.Iterable].iterator()"
    - Src: "com.drew.imaging.jpeg.JpegMetadataReader:132,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.drew.imaging.jpeg.JpegMetadataReader:132,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.drew.imaging.jpeg.JpegMetadataReader:133,1"
      Dst: "[com.drew.imaging.jpeg.JpegSegmentMetadataReader].getSegmentTypes()"
    - Src: "com.drew.imaging.jpeg.JpegMetadataReader:134,1"
      Dst: "[com.drew.imaging.jpeg.JpegSegmentData].getSegments(com.drew.imaging.jpeg.JpegSegmentType)"
    - Src: "com.drew.imaging.jpeg.JpegMetadataReader:134,1"
      Dst: "[com.drew.imaging.jpeg.JpegSegmentMetadataReader].readJpegSegments(java.lang.Iterable,com.drew.metadata.Metadata,com.drew.imaging.jpeg.JpegSegmentType)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[com.drew.imaging.jpeg.JpegMetadataReader].<init>()"
    functionSourceFile: "com.drew.imaging.jpeg.JpegMetadataReader"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.lang.Exception].<init>(java.lang.String)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.jpeg.JpegMetadataReader:140,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.drew.imaging.jpeg.JpegMetadataReader:141,1"
      Dst: "[java.lang.Exception].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions:
      - "java.lang.Exception"
      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: "[com.drew.metadata.mov.metadata.QuickTimeDirectoryHandler].shouldAcceptAtom(com.drew.metadata.mov.atoms.Atom)"
    functionSourceFile: "com.drew.metadata.mov.metadata.QuickTimeDirectoryHandler"
    linkageType: ""
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "com.drew.metadata.mov.atoms.Atom"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].equals(java.lang.Object)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.metadata.QuickTimeDirectoryHandler:52,1"
      Dst: "[java.lang.String].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: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.mov.metadata.QuickTimeDirectoryHandler].shouldAcceptContainer(com.drew.metadata.mov.atoms.Atom)"
    functionSourceFile: "com.drew.metadata.mov.metadata.QuickTimeDirectoryHandler"
    linkageType: ""
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "com.drew.metadata.mov.atoms.Atom"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.HashMap].containsKey(java.lang.Object)"
    - "[java.lang.String].equals(java.lang.Object)"
    functionUses: 1
    ICount: 13
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.drew.metadata.mov.metadata.QuickTimeDirectoryHandler:58"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.metadata.QuickTimeDirectoryHandler:58"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
      - BranchSide: "com.drew.metadata.mov.metadata.QuickTimeDirectoryHandler:57"
        BranchSideFuncs:
        - "containsKey(java.lang.Object)"
    - Branch String: "com.drew.metadata.mov.metadata.QuickTimeDirectoryHandler:59"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.metadata.QuickTimeDirectoryHandler:57"
        BranchSideFuncs:
        - "containsKey(java.lang.Object)"
    Callsites:
    - Src: "com.drew.metadata.mov.metadata.QuickTimeDirectoryHandler:58,1"
      Dst: "[java.util.HashMap].containsKey(java.lang.Object)"
    - Src: "com.drew.metadata.mov.metadata.QuickTimeDirectoryHandler:59,1"
      Dst: "[java.lang.String].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: 5
    CyclomaticComplexity: 3
  - functionName: "[com.drew.metadata.mov.metadata.QuickTimeDirectoryHandler].processAtom(com.drew.metadata.mov.atoms.Atom,byte[],com.drew.metadata.mov.QuickTimeContext)"
    functionSourceFile: "com.drew.metadata.mov.metadata.QuickTimeDirectoryHandler"
    linkageType: ""
    functionLinenumber: 64
    functionLinenumberEnd: 80
    functionDepth: 2
    returnType: "com.drew.imaging.quicktime.QuickTimeHandler<?>"
    argCount: 3
    argTypes:
    - "com.drew.metadata.mov.atoms.Atom"
    - "byte[]"
    - "com.drew.metadata.mov.QuickTimeContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.SequentialByteArrayReader].<init>(byte[])"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[com.drew.metadata.mov.metadata.QuickTimeDirectoryHandler].processData(byte[],com.drew.lang.SequentialByteArrayReader)"
    - "[java.lang.String].<init>(byte[])"
    - "[com.drew.lang.SequentialByteArrayReader].getBytes(int)"
    - "[java.util.HashMap].containsKey(java.lang.Object)"
    functionUses: 2
    ICount: 28
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "com.drew.metadata.mov.metadata.QuickTimeDirectoryHandler:65"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.metadata.QuickTimeDirectoryHandler:73"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
      - BranchSide: "com.drew.metadata.mov.metadata.QuickTimeDirectoryHandler:72"
        BranchSideFuncs:
        - "containsKey(java.lang.Object)"
    - Branch String: "com.drew.metadata.mov.metadata.QuickTimeDirectoryHandler:67"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.metadata.QuickTimeDirectoryHandler:70"
        BranchSideFuncs:
        - "processData(byte[],com.drew.lang.SequentialByteArrayReader)"
      - BranchSide: "com.drew.metadata.mov.metadata.QuickTimeDirectoryHandler:69"
        BranchSideFuncs:
        - "<init>(byte[])"
        - "getBytes(int)"
    - Branch String: "com.drew.metadata.mov.metadata.QuickTimeDirectoryHandler:67"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.metadata.QuickTimeDirectoryHandler:70"
        BranchSideFuncs:
        - "processData(byte[],com.drew.lang.SequentialByteArrayReader)"
      - BranchSide: "com.drew.metadata.mov.metadata.QuickTimeDirectoryHandler:69"
        BranchSideFuncs:
        - "<init>(byte[])"
        - "getBytes(int)"
    - Branch String: "com.drew.metadata.mov.metadata.QuickTimeDirectoryHandler:73"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.metadata.QuickTimeDirectoryHandler:76"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.mov.metadata.QuickTimeDirectoryHandler:75"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.mov.metadata.QuickTimeDirectoryHandler:66,1"
      Dst: "[com.drew.lang.SequentialByteArrayReader].<init>(byte[])"
    - Src: "com.drew.metadata.mov.metadata.QuickTimeDirectoryHandler:67,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "com.drew.metadata.mov.metadata.QuickTimeDirectoryHandler:68,1"
      Dst: "[com.drew.metadata.mov.metadata.QuickTimeDirectoryHandler].processData(byte[],com.drew.lang.SequentialByteArrayReader)"
    - Src: "com.drew.metadata.mov.metadata.QuickTimeDirectoryHandler:70,1"
      Dst: "[com.drew.lang.SequentialByteArrayReader].getBytes(int)"
    - Src: "com.drew.metadata.mov.metadata.QuickTimeDirectoryHandler:70,1"
      Dst: "[java.lang.String].<init>(byte[])"
    - Src: "com.drew.metadata.mov.metadata.QuickTimeDirectoryHandler:73,1"
      Dst: "[java.util.HashMap].containsKey(java.lang.Object)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 10
    CyclomaticComplexity: 5
  - functionName: "[com.drew.metadata.mov.metadata.QuickTimeDirectoryHandler].processData(byte[],com.drew.lang.SequentialByteArrayReader)"
    functionSourceFile: "com.drew.metadata.mov.metadata.QuickTimeDirectoryHandler"
    linkageType: ""
    functionLinenumber: 86
    functionLinenumberEnd: 95
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "byte[]"
    - "com.drew.lang.SequentialByteArrayReader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.SequentialByteArrayReader].skip(long)"
    - "[java.lang.String].<init>(byte[])"
    - "[com.drew.lang.SequentialByteArrayReader].getBytes(int)"
    - "[java.util.HashMap].get(java.lang.Object)"
    - "[java.lang.Integer].intValue()"
    - "[com.drew.metadata.Directory].setString(int,java.lang.String)"
    functionUses: 2
    ICount: 18
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "com.drew.metadata.mov.metadata.QuickTimeDirectoryHandler:91"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mov.metadata.QuickTimeDirectoryHandler:94"
        BranchSideFuncs:
        - "intValue()"
        - "setString(int,java.lang.String)"
      - BranchSide: "com.drew.metadata.mov.metadata.QuickTimeDirectoryHandler:93"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.mov.metadata.QuickTimeDirectoryHandler:87,1"
      Dst: "[com.drew.lang.SequentialByteArrayReader].skip(long)"
    - Src: "com.drew.metadata.mov.metadata.QuickTimeDirectoryHandler:88,1"
      Dst: "[com.drew.lang.SequentialByteArrayReader].getBytes(int)"
    - Src: "com.drew.metadata.mov.metadata.QuickTimeDirectoryHandler:88,1"
      Dst: "[java.lang.String].<init>(byte[])"
    - Src: "com.drew.metadata.mov.metadata.QuickTimeDirectoryHandler:90,1"
      Dst: "[java.util.HashMap].get(java.lang.Object)"
    - Src: "com.drew.metadata.mov.metadata.QuickTimeDirectoryHandler:92,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.mov.metadata.QuickTimeDirectoryHandler:92,1"
      Dst: "[com.drew.metadata.Directory].setString(int,java.lang.String)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.mov.metadata.QuickTimeDirectoryHandler].processKeys(com.drew.lang.SequentialByteArrayReader)"
    functionSourceFile: "com.drew.metadata.mov.metadata.QuickTimeDirectoryHandler"
    linkageType: ""
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.lang.SequentialByteArrayReader"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    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: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDirectory)"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDescriptor:45,1"
      Dst: "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    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: "[com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDescriptor].getDescription(int)"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 51
    functionLinenumberEnd: 63
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getVersionBytesDescription(int,int)"
    - "[com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDescriptor].getColorMatrix2Description()"
    - "[com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDescriptor].getYCbCrCoefficientsDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDescriptor].getOlympusLightSourceDescription()"
    - "[com.drew.metadata.TagDescriptor].getDescription(int)"
    functionUses: 1
    ICount: 13
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDescriptor:54,1"
      Dst: "[com.drew.metadata.TagDescriptor].getVersionBytesDescription(int,int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDescriptor:56,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDescriptor].getColorMatrix2Description()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDescriptor:58,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDescriptor].getYCbCrCoefficientsDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDescriptor:60,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDescriptor].getOlympusLightSourceDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDescriptor:62,1"
      Dst: "[com.drew.metadata.TagDescriptor].getDescription(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: 6
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDescriptor].getColorMatrix2Description()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 68
    functionLinenumberEnd: 80
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getIntArray(int)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(int)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].length()"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 27
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDescriptor:70"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDescriptor:73"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDescriptor:72"
        BranchSideFuncs:
        - "<init>()"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDescriptor:74"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDescriptor:79"
        BranchSideFuncs:
        - "append(int)"
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDescriptor:78"
        BranchSideFuncs:
        - "toString()"
        - "length()"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDescriptor:76"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDescriptor:73"
        BranchSideFuncs:
        - "append(java.lang.String)"
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDescriptor:72"
        BranchSideFuncs:
        - "<init>()"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDescriptor:79"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDescriptor:78"
        BranchSideFuncs:
        - "toString()"
        - "length()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDescriptor:69,1"
      Dst: "[com.drew.metadata.Directory].getIntArray(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDescriptor:73,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDescriptor:75,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDescriptor:77,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDescriptor:79,1"
      Dst: "[java.lang.StringBuilder].length()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDescriptor:79,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: 11
    CyclomaticComplexity: 4
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDescriptor].getYCbCrCoefficientsDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 84
    functionLinenumberEnd: 102
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getIntArray(int)"
    - "[com.drew.lang.Rational].<init>(long,long)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(double)"
    - "[com.drew.lang.Rational].doubleValue()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].length()"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 47
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDescriptor:86"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDescriptor:89"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDescriptor:88"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDescriptor:90"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDescriptor:94"
        BranchSideFuncs:
        - "<init>()"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDescriptor:96"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDescriptor:101"
        BranchSideFuncs:
        - "doubleValue()"
        - "append(double)"
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDescriptor:100"
        BranchSideFuncs:
        - "toString()"
        - "length()"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDescriptor:98"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDescriptor:95"
        BranchSideFuncs:
        - "append(java.lang.String)"
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDescriptor:94"
        BranchSideFuncs:
        - "<init>()"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDescriptor:101"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDescriptor:100"
        BranchSideFuncs:
        - "toString()"
        - "length()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDescriptor:85,1"
      Dst: "[com.drew.metadata.Directory].getIntArray(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDescriptor:92,1"
      Dst: "[com.drew.lang.Rational].<init>(long,long)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDescriptor:95,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDescriptor:97,1"
      Dst: "[com.drew.lang.Rational].doubleValue()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDescriptor:97,1"
      Dst: "[java.lang.StringBuilder].append(double)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDescriptor:99,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDescriptor:101,1"
      Dst: "[java.lang.StringBuilder].length()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDescriptor:101,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: 14
    CyclomaticComplexity: 5
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDescriptor].getOlympusLightSourceDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 106
    functionLinenumberEnd: 139
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].shortValue()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 28
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDescriptor:108"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDescriptor:111"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDescriptor:110"
        BranchSideFuncs:
        - "shortValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDescriptor:107,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDescriptor:111,1"
      Dst: "[java.lang.Integer].shortValue()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDescriptor:138,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDescriptor:138,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDescriptor:138,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDescriptor:138,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: 16
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.iptc.IptcReader].getSegmentTypes()"
    functionSourceFile: "com.drew.metadata.iptc.IptcReader"
    linkageType: ""
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionDepth: 0
    returnType: "java.lang.Iterable"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Collections].singletonList(java.lang.Object)"
    functionUses: 2
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.iptc.IptcReader:65,1"
      Dst: "[java.util.Collections].singletonList(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: "[com.drew.metadata.iptc.IptcReader].readJpegSegments(java.lang.Iterable,com.drew.metadata.Metadata,com.drew.imaging.jpeg.JpegSegmentType)"
    functionSourceFile: "com.drew.metadata.iptc.IptcReader"
    linkageType: ""
    functionLinenumber: 69
    functionLinenumberEnd: 77
    functionDepth: 5
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.Iterable"
    - "com.drew.metadata.Metadata"
    - "com.drew.imaging.jpeg.JpegSegmentType"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.adobe.internal.xmp.impl.XMPNode$1].hasNext()"
    - "[jdk.internal.module.ModuleBootstrap$2].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIterator].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIteratorChildren].hasNext()"
    - "[java.nio.file.FileTreeIterator].hasNext()"
    - "[java.util.concurrent.ConcurrentHashMap$EntrySetView].iterator()"
    - "[jdk.internal.module.ModuleBootstrap$2].next()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIterator].next()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl].next()"
    - "[com.adobe.internal.xmp.impl.XMPNode$1].next()"
    - "[java.io.BufferedReader$1:java.nio.file.FileTreeIterator:java.nio.file.Files$2].next()"
    - "[com.drew.lang.SequentialByteArrayReader].<init>(byte[])"
    - "[com.drew.metadata.iptc.IptcReader].extract(com.drew.lang.SequentialReader,com.drew.metadata.Metadata,long)"
    - "[java.lang.Iterable].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    functionUses: 1
    ICount: 21
    EdgeCount: 14
    BranchProfiles:
    - Branch String: "com.drew.metadata.iptc.IptcReader:70"
      Branch Sides:
      - BranchSide: "com.drew.metadata.iptc.IptcReader:76"
        BranchSideFuncs:
        - "hasNext()"
        - "iterator()"
        - "next()"
      - BranchSide: "com.drew.metadata.iptc.IptcReader:75"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.iptc.IptcReader:72"
      Branch Sides:
      - BranchSide: "com.drew.metadata.iptc.IptcReader:75"
        BranchSideFuncs:
        - "extract(com.drew.lang.SequentialReader,com.drew.metadata.Metadata,long)"
        - "<init>(byte[])"
      - BranchSide: "com.drew.metadata.iptc.IptcReader:74"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.iptc.IptcReader:72"
      Branch Sides:
      - BranchSide: "com.drew.metadata.iptc.IptcReader:75"
        BranchSideFuncs:
        - "extract(com.drew.lang.SequentialReader,com.drew.metadata.Metadata,long)"
        - "<init>(byte[])"
      - BranchSide: "com.drew.metadata.iptc.IptcReader:74"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.iptc.IptcReader:70,1"
      Dst: "[java.lang.Iterable].iterator()"
    - Src: "com.drew.metadata.iptc.IptcReader:70,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.drew.metadata.iptc.IptcReader:70,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.drew.metadata.iptc.IptcReader:73,1"
      Dst: "[com.drew.lang.SequentialByteArrayReader].<init>(byte[])"
    - Src: "com.drew.metadata.iptc.IptcReader:73,1"
      Dst: "[com.drew.metadata.iptc.IptcReader].extract(com.drew.lang.SequentialReader,com.drew.metadata.Metadata,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: 7
    CyclomaticComplexity: 4
  - functionName: "[com.drew.metadata.iptc.IptcReader].extract(com.drew.lang.SequentialReader,com.drew.metadata.Metadata,long)"
    functionSourceFile: "com.drew.metadata.iptc.IptcReader"
    linkageType: ""
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "com.drew.metadata.Metadata"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.iptc.IptcReader].extract(com.drew.lang.SequentialReader,com.drew.metadata.Metadata,long,com.drew.metadata.Directory)"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.iptc.IptcReader:83,1"
      Dst: "[com.drew.metadata.iptc.IptcReader].extract(com.drew.lang.SequentialReader,com.drew.metadata.Metadata,long,com.drew.metadata.Directory)"
    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: "[com.drew.lang.StreamUtil].<init>()"
    functionSourceFile: "com.drew.lang.StreamUtil"
    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: "com.drew.lang.StreamUtil:30,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: "[com.drew.metadata.jpeg.JpegDhtReader].<init>()"
    functionSourceFile: "com.drew.metadata.jpeg.JpegDhtReader"
    linkageType: ""
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.jpeg.JpegDhtReader: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: "[com.drew.metadata.jpeg.JpegDhtReader].getSegmentTypes()"
    functionSourceFile: "com.drew.metadata.jpeg.JpegDhtReader"
    linkageType: ""
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionDepth: 0
    returnType: "java.lang.Iterable"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Collections].singletonList(java.lang.Object)"
    functionUses: 2
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.jpeg.JpegDhtReader:44,1"
      Dst: "[java.util.Collections].singletonList(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: "[com.drew.metadata.jpeg.JpegDhtReader].readJpegSegments(java.lang.Iterable<byte[]>,com.drew.metadata.Metadata,com.drew.imaging.jpeg.JpegSegmentType)"
    functionSourceFile: "com.drew.metadata.jpeg.JpegDhtReader"
    linkageType: ""
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.Iterable<byte[]>"
    - "com.drew.metadata.Metadata"
    - "com.drew.imaging.jpeg.JpegSegmentType"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.adobe.internal.xmp.impl.XMPNode$1].hasNext()"
    - "[jdk.internal.module.ModuleBootstrap$2].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIterator].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIteratorChildren].hasNext()"
    - "[java.nio.file.FileTreeIterator].hasNext()"
    - "[java.util.concurrent.ConcurrentHashMap$EntrySetView].iterator()"
    - "[jdk.internal.module.ModuleBootstrap$2].next()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIterator].next()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl].next()"
    - "[com.adobe.internal.xmp.impl.XMPNode$1].next()"
    - "[java.io.BufferedReader$1:java.nio.file.FileTreeIterator:java.nio.file.Files$2].next()"
    - "[com.drew.lang.SequentialByteArrayReader].<init>(byte[])"
    - "[com.drew.metadata.jpeg.JpegDhtReader].extract(com.drew.lang.SequentialReader,com.drew.metadata.Metadata)"
    - "[java.lang.Iterable].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    functionUses: 1
    ICount: 14
    EdgeCount: 14
    BranchProfiles:
    - Branch String: "com.drew.metadata.jpeg.JpegDhtReader:49"
      Branch Sides:
      - BranchSide: "com.drew.metadata.jpeg.JpegDhtReader:52"
        BranchSideFuncs:
        - "hasNext()"
        - "iterator()"
        - "next()"
        - "extract(com.drew.lang.SequentialReader,com.drew.metadata.Metadata)"
        - "<init>(byte[])"
      - BranchSide: "com.drew.metadata.jpeg.JpegDhtReader:51"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.jpeg.JpegDhtReader:49,1"
      Dst: "[java.lang.Iterable].iterator()"
    - Src: "com.drew.metadata.jpeg.JpegDhtReader:49,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.drew.metadata.jpeg.JpegDhtReader:49,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.drew.metadata.jpeg.JpegDhtReader:50,1"
      Dst: "[com.drew.lang.SequentialByteArrayReader].<init>(byte[])"
    - Src: "com.drew.metadata.jpeg.JpegDhtReader:50,1"
      Dst: "[com.drew.metadata.jpeg.JpegDhtReader].extract(com.drew.lang.SequentialReader,com.drew.metadata.Metadata)"
    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: "[com.drew.metadata.jpeg.JpegDhtReader].extract(com.drew.lang.SequentialReader,com.drew.metadata.Metadata)"
    functionSourceFile: "com.drew.metadata.jpeg.JpegDhtReader"
    linkageType: ""
    functionLinenumber: 59
    functionLinenumberEnd: 86
    functionDepth: 3
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "com.drew.metadata.Metadata"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Metadata].getFirstDirectoryOfType(java.lang.Class)"
    - "[com.drew.metadata.jpeg.HuffmanTablesDirectory].<init>()"
    - "[com.drew.metadata.Metadata].addDirectory(com.drew.metadata.Directory)"
    - "[com.drew.lang.StreamReader].available()"
    - "[com.drew.lang.SequentialByteArrayReader].available()"
    - "[com.drew.lang.StreamReader].getByte()"
    - "[com.drew.lang.SequentialByteArrayReader].getByte()"
    - "[com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable$HuffmanTableClass].typeOf(int)"
    - "[com.drew.metadata.jpeg.JpegDhtReader].getBytes(com.drew.lang.SequentialReader,int)"
    - "[com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable].<init>(com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable$HuffmanTableClass,int,byte[],byte[])"
    - "[java.util.ArrayList].add(java.lang.Object)"
    - "[com.drew.metadata.jpeg.HuffmanTablesDirectory].getTables()"
    - "[com.drew.metadata.Directory].addError(java.lang.String)"
    - "[java.io.InvalidClassException].getMessage()"
    - "[com.drew.metadata.Directory].setInt(int,int)"
    - "[java.util.ArrayList:java.util.LinkedList:java.util.Vector:java.util.concurrent.CopyOnWriteArrayList].size()"
    - "[com.drew.lang.SequentialReader].available()"
    - "[com.drew.lang.SequentialReader].getByte()"
    - "[java.util.List].add(java.lang.Object)"
    - "[java.lang.Throwable].getMessage()"
    - "[java.util.List].size()"
    functionUses: 1
    ICount: 47
    EdgeCount: 18
    BranchProfiles:
    - Branch String: "com.drew.metadata.jpeg.JpegDhtReader:61"
      Branch Sides:
      - BranchSide: "com.drew.metadata.jpeg.JpegDhtReader:67"
        BranchSideFuncs:
        - "addDirectory(com.drew.metadata.Directory)"
        - "<init>()"
      - BranchSide: "com.drew.metadata.jpeg.JpegDhtReader:66"
        BranchSideFuncs:
        - "available()"
    - Branch String: "com.drew.metadata.jpeg.JpegDhtReader:67"
      Branch Sides:
      - BranchSide: "com.drew.metadata.jpeg.JpegDhtReader:82"
        BranchSideFuncs:
        - "getByte()"
        - "typeOf(int)"
      - BranchSide: "com.drew.metadata.jpeg.JpegDhtReader:81"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.jpeg.JpegDhtReader:74"
      Branch Sides:
      - BranchSide: "com.drew.metadata.jpeg.JpegDhtReader:77"
        BranchSideFuncs:
        - "available()"
        - "<init>(com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable$HuffmanTableClass,int,byte[],byte[])"
        - "add(java.lang.Object)"
        - "getBytes(com.drew.lang.SequentialReader,int)"
        - "getMessage()"
        - "getByte()"
        - "typeOf(int)"
        - "addError(java.lang.String)"
      - BranchSide: "com.drew.metadata.jpeg.JpegDhtReader:76"
        BranchSideFuncs:
        - "<init>(com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable$HuffmanTableClass,int,byte[],byte[])"
        - "add(java.lang.Object)"
        - "getBytes(com.drew.lang.SequentialReader,int)"
    Callsites:
    - Src: "com.drew.metadata.jpeg.JpegDhtReader:60,1"
      Dst: "[com.drew.metadata.Metadata].getFirstDirectoryOfType(java.lang.Class)"
    - Src: "com.drew.metadata.jpeg.JpegDhtReader:62,1"
      Dst: "[com.drew.metadata.jpeg.HuffmanTablesDirectory].<init>()"
    - Src: "com.drew.metadata.jpeg.JpegDhtReader:63,1"
      Dst: "[com.drew.metadata.Metadata].addDirectory(com.drew.metadata.Directory)"
    - Src: "com.drew.metadata.jpeg.JpegDhtReader:67,1"
      Dst: "[com.drew.lang.SequentialReader].available()"
    - Src: "com.drew.metadata.jpeg.JpegDhtReader:68,1"
      Dst: "[com.drew.lang.SequentialReader].getByte()"
    - Src: "com.drew.metadata.jpeg.JpegDhtReader:69,1"
      Dst: "[com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable$HuffmanTableClass].typeOf(int)"
    - Src: "com.drew.metadata.jpeg.JpegDhtReader:72,1"
      Dst: "[com.drew.metadata.jpeg.JpegDhtReader].getBytes(com.drew.lang.SequentialReader,int)"
    - Src: "com.drew.metadata.jpeg.JpegDhtReader:78,1"
      Dst: "[com.drew.metadata.jpeg.HuffmanTablesDirectory].getTables()"
    - Src: "com.drew.metadata.jpeg.JpegDhtReader:78,1"
      Dst: "[com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable].<init>(com.drew.metadata.jpeg.HuffmanTablesDirectory$HuffmanTable$HuffmanTableClass,int,byte[],byte[])"
    - Src: "com.drew.metadata.jpeg.JpegDhtReader:78,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    - Src: "com.drew.metadata.jpeg.JpegDhtReader:81,1"
      Dst: "[java.lang.Throwable].getMessage()"
    - Src: "com.drew.metadata.jpeg.JpegDhtReader:81,1"
      Dst: "[com.drew.metadata.Directory].addError(java.lang.String)"
    - Src: "com.drew.metadata.jpeg.JpegDhtReader:84,1"
      Dst: "[java.util.List].size()"
    - Src: "com.drew.metadata.jpeg.JpegDhtReader:84,1"
      Dst: "[com.drew.metadata.Directory].setInt(int,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: 10
    CyclomaticComplexity: 4
  - functionName: "[com.drew.metadata.jpeg.JpegDhtReader].getBytes(com.drew.lang.SequentialReader,int)"
    functionSourceFile: "com.drew.metadata.jpeg.JpegDhtReader"
    linkageType: ""
    functionLinenumber: 87
    functionLinenumberEnd: 100
    functionDepth: 1
    returnType: "byte[]"
    argCount: 2
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.StreamReader].getByte()"
    - "[com.drew.lang.SequentialByteArrayReader].getByte()"
    - "[java.io.IOException].<init>(java.lang.String)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[com.drew.imaging.jpeg.JpegSegmentType].fromByte(byte)"
    - "[java.lang.StringBuilder].toString()"
    - "[com.drew.lang.SequentialReader].getByte()"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    functionUses: 2
    ICount: 27
    EdgeCount: 9
    BranchProfiles:
    - Branch String: "com.drew.metadata.jpeg.JpegDhtReader:89"
      Branch Sides:
      - BranchSide: "com.drew.metadata.jpeg.JpegDhtReader:99"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.jpeg.JpegDhtReader:98"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.jpeg.JpegDhtReader:91"
      Branch Sides:
      - BranchSide: "com.drew.metadata.jpeg.JpegDhtReader:null"
        BranchSideFuncs:
        - "getByte()"
    - Branch String: "com.drew.metadata.jpeg.JpegDhtReader:93"
      Branch Sides:
      - BranchSide: "com.drew.metadata.jpeg.JpegDhtReader:null"
        BranchSideFuncs:
        - "<init>()"
        - "append(java.lang.String)"
        - "toString()"
        - "fromByte(byte)"
        - "<init>(java.lang.String)"
    Callsites:
    - Src: "com.drew.metadata.jpeg.JpegDhtReader:90,1"
      Dst: "[com.drew.lang.SequentialReader].getByte()"
    - Src: "com.drew.metadata.jpeg.JpegDhtReader:94,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.jpeg.JpegDhtReader:94,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.jpeg.JpegDhtReader:94,1"
      Dst: "[com.drew.imaging.jpeg.JpegSegmentType].fromByte(byte)"
    - Src: "com.drew.metadata.jpeg.JpegDhtReader:94,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.drew.metadata.jpeg.JpegDhtReader:94,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "com.drew.metadata.jpeg.JpegDhtReader:94,1"
      Dst: "[java.io.IOException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.png.PngChromaticitiesDirectory].getName()"
    functionSourceFile: "com.drew.metadata.png.PngChromaticitiesDirectory"
    linkageType: ""
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.png.PngChromaticitiesDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.png.PngChromaticitiesDirectory"
    linkageType: ""
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.imaging.eps.EpsMetadataReader].<init>()"
    functionSourceFile: "com.drew.imaging.eps.EpsMetadataReader"
    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: "com.drew.imaging.eps.EpsMetadataReader:18,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: "[com.drew.imaging.eps.EpsMetadataReader].readMetadata(java.io.File)"
    functionSourceFile: "com.drew.imaging.eps.EpsMetadataReader"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 11
    returnType: "com.drew.metadata.Metadata"
    argCount: 1
    argTypes:
    - "java.io.File"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Metadata].<init>()"
    - "[java.io.FileInputStream].<init>(java.io.File)"
    - "[com.drew.metadata.eps.EpsReader].<init>()"
    - "[com.drew.metadata.eps.EpsReader].extract(java.io.InputStream,com.drew.metadata.Metadata)"
    - "[java.io.FileInputStream].close()"
    - "[com.drew.metadata.file.FileSystemMetadataReader].<init>()"
    - "[com.drew.metadata.file.FileSystemMetadataReader].read(java.io.File,com.drew.metadata.Metadata)"
    functionUses: 0
    ICount: 17
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.eps.EpsMetadataReader:22,1"
      Dst: "[com.drew.metadata.Metadata].<init>()"
    - Src: "com.drew.imaging.eps.EpsMetadataReader:24,1"
      Dst: "[java.io.FileInputStream].<init>(java.io.File)"
    - Src: "com.drew.imaging.eps.EpsMetadataReader:27,1"
      Dst: "[com.drew.metadata.eps.EpsReader].<init>()"
    - Src: "com.drew.imaging.eps.EpsMetadataReader:27,1"
      Dst: "[com.drew.metadata.eps.EpsReader].extract(java.io.InputStream,com.drew.metadata.Metadata)"
    - Src: "com.drew.imaging.eps.EpsMetadataReader:29,1"
      Dst: "[java.io.FileInputStream].close()"
    - Src: "com.drew.imaging.eps.EpsMetadataReader:32,1"
      Dst: "[com.drew.metadata.file.FileSystemMetadataReader].<init>()"
    - Src: "com.drew.imaging.eps.EpsMetadataReader:32,1"
      Dst: "[com.drew.metadata.file.FileSystemMetadataReader].read(java.io.File,com.drew.metadata.Metadata)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDirectory)"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:44,1"
      Dst: "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    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: "[com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor].getDescription(int)"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 50
    functionLinenumberEnd: 72
    functionDepth: 3
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor].getImageProcessingVersionDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor].getColorMatrixDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor].getNoiseReduction2Description()"
    - "[com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor].getDistortionCorrection2Description()"
    - "[com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor].getShadingCompensation2Description()"
    - "[com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor].getMultipleExposureModeDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor].getAspectRatioDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor].getKeystoneCompensationDescription()"
    - "[com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor].getKeystoneDirectionDescription()"
    - "[com.drew.metadata.TagDescriptor].getDescription(int)"
    functionUses: 1
    ICount: 23
    EdgeCount: 10
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:53,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor].getImageProcessingVersionDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:55,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor].getColorMatrixDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:57,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor].getNoiseReduction2Description()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:59,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor].getDistortionCorrection2Description()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:61,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor].getShadingCompensation2Description()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:63,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor].getMultipleExposureModeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:65,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor].getAspectRatioDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:67,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor].getKeystoneCompensationDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:69,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor].getKeystoneDirectionDescription()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:71,1"
      Dst: "[com.drew.metadata.TagDescriptor].getDescription(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: 11
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor].getImageProcessingVersionDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getVersionBytesDescription(int,int)"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:78,1"
      Dst: "[com.drew.metadata.TagDescriptor].getVersionBytesDescription(int,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: "[com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor].getColorMatrixDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 83
    functionLinenumberEnd: 95
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getIntArray(int)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(int)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 21
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:85"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:88"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:87"
        BranchSideFuncs:
        - "<init>()"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:89"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:94"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:93"
        BranchSideFuncs:
        - "toString()"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:90"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:null"
        BranchSideFuncs:
        - "append(java.lang.String)"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:84,1"
      Dst: "[com.drew.metadata.Directory].getIntArray(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:88,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:91,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:92,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:94,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: 8
    CyclomaticComplexity: 3
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor].getNoiseReduction2Description()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 99
    functionLinenumberEnd: 115
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.Integer].shortValue()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].length()"
    - "[java.lang.StringBuilder].substring(int,int)"
    functionUses: 1
    ICount: 29
    EdgeCount: 9
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:101"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:104"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:103"
        BranchSideFuncs:
        - "intValue()"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:104"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:107"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:106"
        BranchSideFuncs:
        - "shortValue()"
        - "<init>()"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:110"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:null"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:111"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:null"
        BranchSideFuncs:
        - "append(java.lang.String)"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:112"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:113"
        BranchSideFuncs:
        - "length()"
        - "substring(int,int)"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:100,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:104,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:107,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:108,1"
      Dst: "[java.lang.Integer].shortValue()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:110,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:114,1"
      Dst: "[java.lang.StringBuilder].length()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:114,1"
      Dst: "[java.lang.StringBuilder].substring(int,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: 11
    CyclomaticComplexity: 4
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor].getDistortionCorrection2Description()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 119
    functionLinenumberEnd: 121
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:120,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor].getShadingCompensation2Description()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 125
    functionLinenumberEnd: 127
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:126,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor].getMultipleExposureModeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 131
    functionLinenumberEnd: 169
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getIntArray(int)"
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(int)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 44
    EdgeCount: 13
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:133"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:143"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:137"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:140"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:139"
        BranchSideFuncs:
        - "intValue()"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:144"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:147"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:146"
        BranchSideFuncs:
        - "<init>()"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:165"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:168"
        BranchSideFuncs:
        - "append(java.lang.String)"
        - "append(int)"
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:167"
        BranchSideFuncs:
        - "toString()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:132,1"
      Dst: "[com.drew.metadata.Directory].getIntArray(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:136,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:141,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:147,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:152,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:161,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:168,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: 14
    CyclomaticComplexity: 6
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor].getAspectRatioDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 173
    functionLinenumberEnd: 213
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getByteArray(int)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.lang.Byte].valueOf(byte)"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 79
    EdgeCount: 23
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:175"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:176"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:175"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:175"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:178"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:177"
        BranchSideFuncs:
        - "format(java.lang.String,java.lang.Object[])"
        - "valueOf(byte)"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:181"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:183"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:182"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:183"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:185"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:184"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:185"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:187"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:186"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:187"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:189"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:188"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:189"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:191"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:190"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:191"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:193"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:192"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:193"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:195"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:194"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:195"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:197"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:196"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:197"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:199"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:198"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:199"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:201"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:200"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:201"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:203"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:202"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:203"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:205"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:204"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:205"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:207"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:206"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:207"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:210"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:209"
        BranchSideFuncs:
        - "<init>()"
        - "append(java.lang.String)"
        - "toString()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:174,1"
      Dst: "[com.drew.metadata.Directory].getByteArray(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:178,1"
      Dst: "[java.lang.Byte].valueOf(byte)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:178,1"
      Dst: "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - Src: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:181,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:210,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:210,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:210,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: 33
    CyclomaticComplexity: 16
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor].getKeystoneCompensationDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 217
    functionLinenumberEnd: 233
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getByteArray(int)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.lang.Byte].valueOf(byte)"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 31
    EdgeCount: 11
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:219"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:220"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:219"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:219"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:222"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:221"
        BranchSideFuncs:
        - "format(java.lang.String,java.lang.Object[])"
        - "valueOf(byte)"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:225"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:227"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:226"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:227"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:230"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:229"
        BranchSideFuncs:
        - "<init>()"
        - "append(java.lang.String)"
        - "toString()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:218,1"
      Dst: "[com.drew.metadata.Directory].getByteArray(int)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:222,1"
      Dst: "[java.lang.Byte].valueOf(byte)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:222,1"
      Dst: "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - Src: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:225,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:230,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:230,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:230,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: 9
    CyclomaticComplexity: 4
  - functionName: "[com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor].getKeystoneDirectionDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 237
    functionLinenumberEnd: 239
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusImageProcessingMakernoteDescriptor:238,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.gif.GifImageDirectory].getName()"
    functionSourceFile: "com.drew.metadata.gif.GifImageDirectory"
    linkageType: ""
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.gif.GifImageDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.gif.GifImageDirectory"
    linkageType: ""
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.imaging.mp4.Mp4MetadataReader].<init>()"
    functionSourceFile: "com.drew.imaging.mp4.Mp4MetadataReader"
    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: "com.drew.imaging.mp4.Mp4MetadataReader: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: "[com.drew.imaging.mp4.Mp4MetadataReader].readMetadata(java.io.File)"
    functionSourceFile: "com.drew.imaging.mp4.Mp4MetadataReader"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "com.drew.metadata.Metadata"
    argCount: 1
    argTypes:
    - "java.io.File"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.FileInputStream].<init>(java.io.File)"
    - "[com.drew.imaging.mp4.Mp4MetadataReader].readMetadata(java.io.InputStream)"
    - "[java.io.InputStream].close()"
    - "[com.drew.metadata.file.FileSystemMetadataReader].<init>()"
    - "[com.drew.metadata.file.FileSystemMetadataReader].read(java.io.File,com.drew.metadata.Metadata)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.mp4.Mp4MetadataReader:41,1"
      Dst: "[java.io.FileInputStream].<init>(java.io.File)"
    - Src: "com.drew.imaging.mp4.Mp4MetadataReader:44,1"
      Dst: "[com.drew.imaging.mp4.Mp4MetadataReader].readMetadata(java.io.InputStream)"
    - Src: "com.drew.imaging.mp4.Mp4MetadataReader:46,1"
      Dst: "[java.io.InputStream].close()"
    - Src: "com.drew.imaging.mp4.Mp4MetadataReader:48,1"
      Dst: "[com.drew.metadata.file.FileSystemMetadataReader].<init>()"
    - Src: "com.drew.imaging.mp4.Mp4MetadataReader:48,1"
      Dst: "[com.drew.metadata.file.FileSystemMetadataReader].read(java.io.File,com.drew.metadata.Metadata)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.jpeg.JpegComponent].getComponentId()"
    functionSourceFile: "com.drew.metadata.jpeg.JpegComponent"
    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: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.jpeg.JpegComponent].getComponentName()"
    functionSourceFile: "com.drew.metadata.jpeg.JpegComponent"
    linkageType: ""
    functionLinenumber: 59
    functionLinenumberEnd: 74
    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)"
    functionUses: 1
    ICount: 14
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.jpeg.JpegComponent:73,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.drew.metadata.jpeg.JpegComponent:73,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: 7
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.jpeg.JpegComponent].getQuantizationTableNumber()"
    functionSourceFile: "com.drew.metadata.jpeg.JpegComponent"
    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: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.jpeg.JpegComponent].getHorizontalSamplingFactor()"
    functionSourceFile: "com.drew.metadata.jpeg.JpegComponent"
    linkageType: ""
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    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: "[com.drew.metadata.jpeg.JpegComponent].getVerticalSamplingFactor()"
    functionSourceFile: "com.drew.metadata.jpeg.JpegComponent"
    linkageType: ""
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    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: "[com.drew.metadata.jpeg.JpegComponent].toString()"
    functionSourceFile: "com.drew.metadata.jpeg.JpegComponent"
    linkageType: ""
    functionLinenumber: 94
    functionLinenumberEnd: 100
    functionDepth: 1
    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)"
    - "[com.drew.metadata.jpeg.JpegComponent].getHorizontalSamplingFactor()"
    - "[com.drew.metadata.jpeg.JpegComponent].getVerticalSamplingFactor()"
    functionUses: 14
    ICount: 13
    EdgeCount: 6
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.jpeg.JpegComponent:97,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.drew.metadata.jpeg.JpegComponent:98,1"
      Dst: "[com.drew.metadata.jpeg.JpegComponent].getHorizontalSamplingFactor()"
    - Src: "com.drew.metadata.jpeg.JpegComponent:99,1"
      Dst: "[com.drew.metadata.jpeg.JpegComponent].getVerticalSamplingFactor()"
    - Src: "com.drew.metadata.jpeg.JpegComponent:95,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: "[com.drew.metadata.gif.GifControlDirectory].getName()"
    functionSourceFile: "com.drew.metadata.gif.GifControlDirectory"
    linkageType: ""
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.gif.GifControlDirectory].getDisposalMethod()"
    functionSourceFile: "com.drew.metadata.gif.GifControlDirectory"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.drew.metadata.gif.GifControlDirectory$DisposalMethod"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getObject(int)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.gif.GifControlDirectory:70,1"
      Dst: "[com.drew.metadata.Directory].getObject(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: "[com.drew.metadata.gif.GifControlDirectory].isTransparent()"
    functionSourceFile: "com.drew.metadata.gif.GifControlDirectory"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getBooleanObject(int)"
    - "[java.lang.Boolean].booleanValue()"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.metadata.gif.GifControlDirectory:78"
      Branch Sides:
      - BranchSide: "com.drew.metadata.gif.GifControlDirectory:76"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.gif.GifControlDirectory:78"
      Branch Sides:
      - BranchSide: "com.drew.metadata.gif.GifControlDirectory:76"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.gif.GifControlDirectory:77,1"
      Dst: "[com.drew.metadata.Directory].getBooleanObject(int)"
    - Src: "com.drew.metadata.gif.GifControlDirectory:78,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: 5
    CyclomaticComplexity: 3
  - functionName: "[com.drew.metadata.gif.GifControlDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.gif.GifControlDirectory"
    linkageType: ""
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.jpeg.JpegCommentDescriptor].getJpegCommentDescription()"
    functionSourceFile: "com.drew.metadata.jpeg.JpegCommentDescriptor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getString(int)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.jpeg.JpegCommentDescriptor:43,1"
      Dst: "[com.drew.metadata.Directory].getString(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: "[com.drew.metadata.eps.EpsDescriptor].getDescription(int)"
    functionSourceFile: "com.drew.metadata.eps.EpsDescriptor"
    linkageType: ""
    functionLinenumber: 22
    functionLinenumberEnd: 34
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.eps.EpsDescriptor].getPixelDescription(int)"
    - "[com.drew.metadata.eps.EpsDescriptor].getByteSizeDescription(int)"
    - "[com.drew.metadata.eps.EpsDescriptor].getColorTypeDescription()"
    - "[com.drew.metadata.Directory].getString(int)"
    functionUses: 1
    ICount: 13
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.eps.EpsDescriptor:26,1"
      Dst: "[com.drew.metadata.eps.EpsDescriptor].getPixelDescription(int)"
    - Src: "com.drew.metadata.eps.EpsDescriptor:29,1"
      Dst: "[com.drew.metadata.eps.EpsDescriptor].getByteSizeDescription(int)"
    - Src: "com.drew.metadata.eps.EpsDescriptor:31,1"
      Dst: "[com.drew.metadata.eps.EpsDescriptor].getColorTypeDescription()"
    - Src: "com.drew.metadata.eps.EpsDescriptor:33,1"
      Dst: "[com.drew.metadata.Directory].getString(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: 5
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.eps.EpsDescriptor].getPixelDescription(int)"
    functionSourceFile: "com.drew.metadata.eps.EpsDescriptor"
    linkageType: ""
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[com.drew.metadata.Directory].getString(int)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 11
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.eps.EpsDescriptor:39,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.eps.EpsDescriptor:39,1"
      Dst: "[com.drew.metadata.Directory].getString(int)"
    - Src: "com.drew.metadata.eps.EpsDescriptor:39,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.eps.EpsDescriptor:39,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: "[com.drew.metadata.eps.EpsDescriptor].getByteSizeDescription(int)"
    functionSourceFile: "com.drew.metadata.eps.EpsDescriptor"
    linkageType: ""
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[com.drew.metadata.Directory].getString(int)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 11
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.eps.EpsDescriptor:44,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.eps.EpsDescriptor:44,1"
      Dst: "[com.drew.metadata.Directory].getString(int)"
    - Src: "com.drew.metadata.eps.EpsDescriptor:44,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.eps.EpsDescriptor:44,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: "[com.drew.metadata.eps.EpsDescriptor].getColorTypeDescription()"
    functionSourceFile: "com.drew.metadata.eps.EpsDescriptor"
    linkageType: ""
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,java.lang.String[])"
    functionUses: 1
    ICount: 8
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.eps.EpsDescriptor:50,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,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: "[com.drew.metadata.exif.makernotes.RicohMakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.RicohMakernoteDirectory)"
    functionSourceFile: "com.drew.metadata.exif.makernotes.RicohMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.exif.makernotes.RicohMakernoteDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.RicohMakernoteDescriptor:40,1"
      Dst: "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    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: "[com.drew.metadata.exif.makernotes.RicohMakernoteDescriptor].getDescription(int)"
    functionSourceFile: "com.drew.metadata.exif.makernotes.RicohMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getDescription(int)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.RicohMakernoteDescriptor:51,1"
      Dst: "[com.drew.metadata.TagDescriptor].getDescription(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: 2
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.mov.QuickTimeDictionary].<init>()"
    functionSourceFile: "com.drew.metadata.mov.QuickTimeDictionary"
    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: "com.drew.metadata.mov.QuickTimeDictionary:292,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: "[com.drew.metadata.exif.makernotes.AppleMakernoteDirectory].<init>()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.AppleMakernoteDirectory"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].<init>()"
    - "[com.drew.metadata.exif.makernotes.AppleMakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.AppleMakernoteDirectory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.AppleMakernoteDirectory:61,1"
      Dst: "[com.drew.metadata.Directory].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.AppleMakernoteDirectory:62,1"
      Dst: "[com.drew.metadata.exif.makernotes.AppleMakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.AppleMakernoteDirectory)"
    - Src: "com.drew.metadata.exif.makernotes.AppleMakernoteDirectory:62,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.exif.makernotes.AppleMakernoteDirectory].getName()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.AppleMakernoteDirectory"
    linkageType: ""
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.exif.makernotes.AppleMakernoteDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.AppleMakernoteDirectory"
    linkageType: ""
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.icc.IccDescriptor].getDescription(int)"
    functionSourceFile: "com.drew.metadata.icc.IccDescriptor"
    linkageType: ""
    functionLinenumber: 50
    functionLinenumberEnd: 66
    functionDepth: 4
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.icc.IccDescriptor].getProfileVersionDescription()"
    - "[com.drew.metadata.icc.IccDescriptor].getProfileClassDescription()"
    - "[com.drew.metadata.icc.IccDescriptor].getPlatformDescription()"
    - "[com.drew.metadata.icc.IccDescriptor].getRenderingIntentDescription()"
    - "[com.drew.metadata.icc.IccDescriptor].getTagDataString(int)"
    - "[com.drew.metadata.TagDescriptor].getDescription(int)"
    functionUses: 1
    ICount: 17
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "com.drew.metadata.icc.IccDescriptor:62"
      Branch Sides:
      - BranchSide: "com.drew.metadata.icc.IccDescriptor:65"
        BranchSideFuncs:
        - "getTagDataString(int)"
      - BranchSide: "com.drew.metadata.icc.IccDescriptor:64"
        BranchSideFuncs:
        - "getDescription(int)"
    - Branch String: "com.drew.metadata.icc.IccDescriptor:62"
      Branch Sides:
      - BranchSide: "com.drew.metadata.icc.IccDescriptor:65"
        BranchSideFuncs:
        - "getTagDataString(int)"
      - BranchSide: "com.drew.metadata.icc.IccDescriptor:64"
        BranchSideFuncs:
        - "getDescription(int)"
    Callsites:
    - Src: "com.drew.metadata.icc.IccDescriptor:53,1"
      Dst: "[com.drew.metadata.icc.IccDescriptor].getProfileVersionDescription()"
    - Src: "com.drew.metadata.icc.IccDescriptor:55,1"
      Dst: "[com.drew.metadata.icc.IccDescriptor].getProfileClassDescription()"
    - Src: "com.drew.metadata.icc.IccDescriptor:57,1"
      Dst: "[com.drew.metadata.icc.IccDescriptor].getPlatformDescription()"
    - Src: "com.drew.metadata.icc.IccDescriptor:59,1"
      Dst: "[com.drew.metadata.icc.IccDescriptor].getRenderingIntentDescription()"
    - Src: "com.drew.metadata.icc.IccDescriptor:63,1"
      Dst: "[com.drew.metadata.icc.IccDescriptor].getTagDataString(int)"
    - Src: "com.drew.metadata.icc.IccDescriptor:65,1"
      Dst: "[com.drew.metadata.TagDescriptor].getDescription(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: 9
    CyclomaticComplexity: 2
  - functionName: "[com.drew.metadata.icc.IccDescriptor].getProfileVersionDescription()"
    functionSourceFile: "com.drew.metadata.icc.IccDescriptor"
    linkageType: ""
    functionLinenumber: 324
    functionLinenumberEnd: 335
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.lang.Integer].valueOf(int)"
    functionUses: 1
    ICount: 24
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "com.drew.metadata.icc.IccDescriptor:327"
      Branch Sides:
      - BranchSide: "com.drew.metadata.icc.IccDescriptor:330"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.icc.IccDescriptor:329"
        BranchSideFuncs:
        - "intValue()"
        - "format(java.lang.String,java.lang.Object[])"
        - "valueOf(int)"
    Callsites:
    - Src: "com.drew.metadata.icc.IccDescriptor:325,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.icc.IccDescriptor:330,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.icc.IccDescriptor:334,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.drew.metadata.icc.IccDescriptor:334,1"
      Dst: "[java.lang.String].format(java.lang.String,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: 1
  - functionName: "[com.drew.metadata.icc.IccDescriptor].getProfileClassDescription()"
    functionSourceFile: "com.drew.metadata.icc.IccDescriptor"
    linkageType: ""
    functionLinenumber: 290
    functionLinenumberEnd: 319
    functionDepth: 3
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getString(int)"
    - "[com.drew.metadata.icc.IccDescriptor].getInt32FromString(java.lang.String)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    functionUses: 1
    ICount: 22
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.drew.metadata.icc.IccDescriptor:292"
      Branch Sides:
      - BranchSide: "com.drew.metadata.icc.IccDescriptor:298"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.icc.IccDescriptor:297"
        BranchSideFuncs:
        - "getInt32FromString(java.lang.String)"
    Callsites:
    - Src: "com.drew.metadata.icc.IccDescriptor:291,1"
      Dst: "[com.drew.metadata.Directory].getString(int)"
    - Src: "com.drew.metadata.icc.IccDescriptor:298,1"
      Dst: "[com.drew.metadata.icc.IccDescriptor].getInt32FromString(java.lang.String)"
    - Src: "com.drew.metadata.icc.IccDescriptor:318,1"
      Dst: "[java.lang.String].format(java.lang.String,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: 1
  - functionName: "[com.drew.metadata.icc.IccDescriptor].getInt32FromString(java.lang.String)"
    functionSourceFile: "com.drew.metadata.icc.IccDescriptor"
    linkageType: ""
    functionLinenumber: 338
    functionLinenumberEnd: 341
    functionDepth: 2
    returnType: "int"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].getBytes()"
    - "[com.drew.lang.ByteArrayReader].<init>(byte[])"
    - "[com.drew.lang.RandomAccessReader].getInt32(int)"
    functionUses: 2
    ICount: 6
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.icc.IccDescriptor:339,1"
      Dst: "[java.lang.String].getBytes()"
    - Src: "com.drew.metadata.icc.IccDescriptor:340,1"
      Dst: "[com.drew.lang.ByteArrayReader].<init>(byte[])"
    - Src: "com.drew.metadata.icc.IccDescriptor:340,1"
      Dst: "[com.drew.lang.RandomAccessReader].getInt32(int)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.icc.IccDescriptor].getPlatformDescription()"
    functionSourceFile: "com.drew.metadata.icc.IccDescriptor"
    linkageType: ""
    functionLinenumber: 260
    functionLinenumberEnd: 285
    functionDepth: 3
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getString(int)"
    - "[com.drew.metadata.icc.IccDescriptor].getInt32FromString(java.lang.String)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    functionUses: 1
    ICount: 20
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.drew.metadata.icc.IccDescriptor:262"
      Branch Sides:
      - BranchSide: "com.drew.metadata.icc.IccDescriptor:268"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.icc.IccDescriptor:267"
        BranchSideFuncs:
        - "getInt32FromString(java.lang.String)"
    Callsites:
    - Src: "com.drew.metadata.icc.IccDescriptor:261,1"
      Dst: "[com.drew.metadata.Directory].getString(int)"
    - Src: "com.drew.metadata.icc.IccDescriptor:268,1"
      Dst: "[com.drew.metadata.icc.IccDescriptor].getInt32FromString(java.lang.String)"
    - Src: "com.drew.metadata.icc.IccDescriptor:284,1"
      Dst: "[java.lang.String].format(java.lang.String,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: 11
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.icc.IccDescriptor].getRenderingIntentDescription()"
    functionSourceFile: "com.drew.metadata.icc.IccDescriptor"
    linkageType: ""
    functionLinenumber: 250
    functionLinenumberEnd: 252
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 8
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.icc.IccDescriptor:251,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.icc.IccDescriptor].getTagDataString(int)"
    functionSourceFile: "com.drew.metadata.icc.IccDescriptor"
    linkageType: ""
    functionLinenumber: 79
    functionLinenumberEnd: 224
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getByteArray(int)"
    - "[com.drew.metadata.Directory].getString(int)"
    - "[com.drew.lang.ByteArrayReader].<init>(byte[])"
    - "[com.drew.lang.RandomAccessReader].getInt32(int)"
    - "[java.lang.String].<init>(byte[],int,int,java.lang.String)"
    - "[java.lang.String].<init>(byte[],int,int)"
    - "[com.drew.metadata.icc.IccReader].getStringFromInt32(int)"
    - "[com.drew.lang.RandomAccessReader].getS15Fixed16(int)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.lang.Integer].valueOf(int)"
    - "[java.text.DecimalFormat].<init>(java.lang.String)"
    - "[java.text.NumberFormat].format(double)"
    - "[java.lang.Math].round(float)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.StringBuilder].append(int)"
    - "[com.drew.metadata.icc.IccDescriptor].formatDoubleAsString(double,int,boolean)"
    - "[com.drew.lang.RandomAccessReader].getUInt16(int)"
    functionUses: 1
    ICount: 213
    EdgeCount: 73
    BranchProfiles:
    - Branch String: "com.drew.metadata.icc.IccDescriptor:81"
      Branch Sides:
      - BranchSide: "com.drew.metadata.icc.IccDescriptor:83"
        BranchSideFuncs:
        - "getString(int)"
      - BranchSide: "com.drew.metadata.icc.IccDescriptor:82"
        BranchSideFuncs:
        - "<init>(byte[])"
    - Branch String: "com.drew.metadata.icc.IccDescriptor:174"
      Branch Sides:
      - BranchSide: "com.drew.metadata.icc.IccDescriptor:182"
        BranchSideFuncs:
        - "getS15Fixed16(int)"
      - BranchSide: "com.drew.metadata.icc.IccDescriptor:181"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.icc.IccDescriptor:178"
      Branch Sides:
      - BranchSide: "com.drew.metadata.icc.IccDescriptor:82"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.icc.IccDescriptor:81"
        BranchSideFuncs:
        - "format(double)"
        - "getStringFromInt32(int)"
        - "<init>(byte[],int,int)"
        - "append(java.lang.String)"
        - "toString()"
        - "format(java.lang.String,java.lang.Object[])"
        - "round(float)"
        - "getInt32(int)"
        - "getS15Fixed16(int)"
        - "append(int)"
        - "formatDoubleAsString(double,int,boolean)"
        - "<init>()"
        - "getUInt16(int)"
        - "<init>(byte[],int,int,java.lang.String)"
        - "valueOf(int)"
        - "<init>(byte[])"
        - "<init>(java.lang.String)"
        - "getString(int)"
    - Branch String: "com.drew.metadata.icc.IccDescriptor:190"
      Branch Sides:
      - BranchSide: "com.drew.metadata.icc.IccDescriptor:203"
        BranchSideFuncs:
        - "<init>(byte[],int,int)"
        - "<init>(byte[],int,int,java.lang.String)"
      - BranchSide: "com.drew.metadata.icc.IccDescriptor:202"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.icc.IccDescriptor:208"
      Branch Sides:
      - BranchSide: "com.drew.metadata.icc.IccDescriptor:214"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.icc.IccDescriptor:213"
        BranchSideFuncs:
        - "toString()"
    - Branch String: "com.drew.metadata.icc.IccDescriptor:209"
      Branch Sides:
      - BranchSide: "com.drew.metadata.icc.IccDescriptor:82"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.icc.IccDescriptor:81"
        BranchSideFuncs:
        - "format(double)"
        - "getStringFromInt32(int)"
        - "<init>(byte[],int,int)"
        - "append(java.lang.String)"
        - "toString()"
        - "format(java.lang.String,java.lang.Object[])"
        - "round(float)"
        - "getInt32(int)"
        - "getS15Fixed16(int)"
        - "append(int)"
        - "formatDoubleAsString(double,int,boolean)"
        - "<init>()"
        - "getUInt16(int)"
        - "<init>(byte[],int,int,java.lang.String)"
        - "valueOf(int)"
        - "<init>(byte[])"
        - "<init>(java.lang.String)"
        - "getString(int)"
    Callsites:
    - Src: "com.drew.metadata.icc.IccDescriptor:80,1"
      Dst: "[com.drew.metadata.Directory].getByteArray(int)"
    - Src: "com.drew.metadata.icc.IccDescriptor:82,1"
      Dst: "[com.drew.metadata.Directory].getString(int)"
    - Src: "com.drew.metadata.icc.IccDescriptor:83,1"
      Dst: "[com.drew.lang.ByteArrayReader].<init>(byte[])"
    - Src: "com.drew.metadata.icc.IccDescriptor:84,1"
      Dst: "[com.drew.lang.RandomAccessReader].getInt32(int)"
    - Src: "com.drew.metadata.icc.IccDescriptor:88,1"
      Dst: "[java.lang.String].<init>(byte[],int,int,java.lang.String)"
    - Src: "com.drew.metadata.icc.IccDescriptor:90,1"
      Dst: "[java.lang.String].<init>(byte[],int,int)"
    - Src: "com.drew.metadata.icc.IccDescriptor:96,1"
      Dst: "[com.drew.metadata.icc.IccReader].getStringFromInt32(int)"
    - Src: "com.drew.metadata.icc.IccDescriptor:99,1"
      Dst: "[com.drew.lang.RandomAccessReader].getS15Fixed16(int)"
    - Src: "com.drew.metadata.icc.IccDescriptor:117,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.drew.metadata.icc.IccDescriptor:117,1"
      Dst: "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - Src: "com.drew.metadata.icc.IccDescriptor:166,1"
      Dst: "[java.text.DecimalFormat].<init>(java.lang.String)"
    - Src: "com.drew.metadata.icc.IccDescriptor:168,1"
      Dst: "[java.text.NumberFormat].format(double)"
    - Src: "com.drew.metadata.icc.IccDescriptor:168,1"
      Dst: "[java.lang.Math].round(float)"
    - Src: "com.drew.metadata.icc.IccDescriptor:171,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.icc.IccDescriptor:179,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.icc.IccDescriptor:182,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "com.drew.metadata.icc.IccDescriptor:187,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    - Src: "com.drew.metadata.icc.IccDescriptor:211,1"
      Dst: "[com.drew.lang.RandomAccessReader].getUInt16(int)"
    - Src: "com.drew.metadata.icc.IccDescriptor:211,1"
      Dst: "[com.drew.metadata.icc.IccDescriptor].formatDoubleAsString(double,int,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: 49
    CyclomaticComplexity: 19
  - functionName: "[com.drew.metadata.icc.IccDescriptor].formatDoubleAsString(double,int,boolean)"
    functionSourceFile: "com.drew.metadata.icc.IccDescriptor"
    linkageType: ""
    functionLinenumber: 229
    functionLinenumberEnd: 246
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 3
    argTypes:
    - "double"
    - "int"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(long)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.Math].round(double)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.Math].abs(long)"
    - "[java.lang.Math].abs(double)"
    - "[java.lang.Math].pow(double,double)"
    - "[java.lang.String].length()"
    - "[java.lang.StringBuilder].append(int)"
    functionUses: 1
    ICount: 68
    EdgeCount: 21
    BranchProfiles:
    - Branch String: "com.drew.metadata.icc.IccDescriptor:230"
      Branch Sides:
      - BranchSide: "com.drew.metadata.icc.IccDescriptor:232"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.icc.IccDescriptor:231"
        BranchSideFuncs:
        - "round(double)"
        - "pow(double,double)"
        - "abs(double)"
    - Branch String: "com.drew.metadata.icc.IccDescriptor:237"
      Branch Sides:
      - BranchSide: "com.drew.metadata.icc.IccDescriptor:243"
        BranchSideFuncs:
        - "abs(long)"
        - "length()"
      - BranchSide: "com.drew.metadata.icc.IccDescriptor:242"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.icc.IccDescriptor:240"
      Branch Sides:
      - BranchSide: "com.drew.metadata.icc.IccDescriptor:241"
        BranchSideFuncs:
        - "append(int)"
      - BranchSide: "com.drew.metadata.icc.IccDescriptor:240"
        BranchSideFuncs:
        - "append(int)"
    - Branch String: "com.drew.metadata.icc.IccDescriptor:240"
      Branch Sides:
      - BranchSide: "com.drew.metadata.icc.IccDescriptor:241"
        BranchSideFuncs:
        - "append(int)"
      - BranchSide: "com.drew.metadata.icc.IccDescriptor:240"
        BranchSideFuncs:
        - "append(int)"
    - Branch String: "com.drew.metadata.icc.IccDescriptor:240"
      Branch Sides:
      - BranchSide: "com.drew.metadata.icc.IccDescriptor:241"
        BranchSideFuncs:
        - "append(int)"
      - BranchSide: "com.drew.metadata.icc.IccDescriptor:240"
        BranchSideFuncs:
        - "append(int)"
    - Branch String: "com.drew.metadata.icc.IccDescriptor:240"
      Branch Sides:
      - BranchSide: "com.drew.metadata.icc.IccDescriptor:-1"
        BranchSideFuncs:
        - "append(int)"
      - BranchSide: "com.drew.metadata.icc.IccDescriptor:-2"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.icc.IccDescriptor:244"
      Branch Sides:
      - BranchSide: "com.drew.metadata.icc.IccDescriptor:-1"
        BranchSideFuncs:
        - "<init>()"
        - "append(java.lang.String)"
        - "toString()"
        - "append(long)"
      - BranchSide: "com.drew.metadata.icc.IccDescriptor:-2"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.icc.IccDescriptor:244"
      Branch Sides:
      - BranchSide: "com.drew.metadata.icc.IccDescriptor:243"
        BranchSideFuncs:
        - "<init>()"
        - "append(java.lang.String)"
        - "toString()"
        - "append(long)"
      - BranchSide: "com.drew.metadata.icc.IccDescriptor:242"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.icc.IccDescriptor:244"
      Branch Sides:
      - BranchSide: "com.drew.metadata.icc.IccDescriptor:-1"
        BranchSideFuncs:
        - "<init>()"
        - "append(java.lang.String)"
        - "toString()"
        - "append(long)"
      - BranchSide: "com.drew.metadata.icc.IccDescriptor:-2"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.icc.IccDescriptor:245"
      Branch Sides:
      - BranchSide: "com.drew.metadata.icc.IccDescriptor:244"
        BranchSideFuncs:
        - "<init>()"
        - "append(java.lang.String)"
        - "toString()"
        - "append(long)"
    Callsites:
    - Src: "com.drew.metadata.icc.IccDescriptor:231,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.icc.IccDescriptor:231,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.icc.IccDescriptor:231,1"
      Dst: "[java.lang.Math].round(double)"
    - Src: "com.drew.metadata.icc.IccDescriptor:231,1"
      Dst: "[java.lang.StringBuilder].append(long)"
    - Src: "com.drew.metadata.icc.IccDescriptor:231,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "com.drew.metadata.icc.IccDescriptor:232,1"
      Dst: "[java.lang.Math].abs(long)"
    - Src: "com.drew.metadata.icc.IccDescriptor:233,1"
      Dst: "[java.lang.Math].abs(double)"
    - Src: "com.drew.metadata.icc.IccDescriptor:233,1"
      Dst: "[java.lang.Math].pow(double,double)"
    - Src: "com.drew.metadata.icc.IccDescriptor:240,1"
      Dst: "[java.lang.String].length()"
    - Src: "com.drew.metadata.icc.IccDescriptor:241,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 19
    CyclomaticComplexity: 10
  - functionName: "[com.drew.lang.ByteArrayReader].getByte(int)"
    functionSourceFile: "com.drew.lang.ByteArrayReader"
    linkageType: ""
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionDepth: 3
    returnType: "byte"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.ByteArrayReader].validateIndex(int,int)"
    functionUses: 70
    ICount: 8
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.lang.ByteArrayReader:78,1"
      Dst: "[com.drew.lang.ByteArrayReader].validateIndex(int,int)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.bmp.BmpHeaderDirectory$ColorEncoding].values()"
    functionSourceFile: "com.drew.metadata.bmp.BmpHeaderDirectory$ColorEncoding"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.drew.metadata.bmp.BmpHeaderDirectory$ColorEncoding[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].clone()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.bmp.BmpHeaderDirectory$ColorEncoding:356,1"
      Dst: "[java.lang.Object].clone()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.bmp.BmpHeaderDirectory$ColorEncoding].valueOf(java.lang.String)"
    functionSourceFile: "com.drew.metadata.bmp.BmpHeaderDirectory$ColorEncoding"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.drew.metadata.bmp.BmpHeaderDirectory$ColorEncoding"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].valueOf(java.lang.Class,java.lang.String)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.bmp.BmpHeaderDirectory$ColorEncoding:356,1"
      Dst: "[java.lang.Enum].valueOf(java.lang.Class,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: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.bmp.BmpHeaderDirectory$ColorEncoding].<init>(java.lang.String,int,int)"
    functionSourceFile: "com.drew.metadata.bmp.BmpHeaderDirectory$ColorEncoding"
    linkageType: ""
    functionLinenumber: 360
    functionLinenumberEnd: 364
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].<init>(java.lang.String,int)"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.bmp.BmpHeaderDirectory$ColorEncoding:361,1"
      Dst: "[java.lang.Enum].<init>(java.lang.String,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.bmp.BmpHeaderDirectory$ColorEncoding].getValue()"
    functionSourceFile: "com.drew.metadata.bmp.BmpHeaderDirectory$ColorEncoding"
    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: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.bmp.BmpHeaderDirectory$ColorEncoding].$values()"
    functionSourceFile: "com.drew.metadata.bmp.BmpHeaderDirectory$ColorEncoding"
    linkageType: ""
    functionLinenumber: 355
    functionLinenumberEnd: 357
    functionDepth: 0
    returnType: "com.drew.metadata.bmp.BmpHeaderDirectory$ColorEncoding[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    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: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.mp3.Mp3Directory].getName()"
    functionSourceFile: "com.drew.metadata.mp3.Mp3Directory"
    linkageType: ""
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.mp3.Mp3Directory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.mp3.Mp3Directory"
    linkageType: ""
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.webp.WebpDirectory].<init>()"
    functionSourceFile: "com.drew.metadata.webp.WebpDirectory"
    linkageType: ""
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].<init>()"
    - "[com.drew.metadata.webp.WebpDescriptor].<init>(com.drew.metadata.webp.WebpDirectory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 2
    ICount: 6
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.webp.WebpDirectory:59,1"
      Dst: "[com.drew.metadata.Directory].<init>()"
    - Src: "com.drew.metadata.webp.WebpDirectory:60,1"
      Dst: "[com.drew.metadata.webp.WebpDescriptor].<init>(com.drew.metadata.webp.WebpDirectory)"
    - Src: "com.drew.metadata.webp.WebpDirectory:60,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.webp.WebpDirectory].getName()"
    functionSourceFile: "com.drew.metadata.webp.WebpDirectory"
    linkageType: ""
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.webp.WebpDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.webp.WebpDirectory"
    linkageType: ""
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.mov.atoms.SoundSampleDescriptionAtom].getSampleDescription(com.drew.lang.SequentialReader)"
    functionSourceFile: "com.drew.metadata.mov.atoms.SoundSampleDescriptionAtom"
    linkageType: ""
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionDepth: 2
    returnType: "com.drew.metadata.mov.atoms.SoundSampleDescriptionAtom$SoundSampleDescription"
    argCount: 1
    argTypes:
    - "com.drew.lang.SequentialReader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mov.atoms.SoundSampleDescriptionAtom$SoundSampleDescription].<init>(com.drew.lang.SequentialReader)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.atoms.SoundSampleDescriptionAtom:46,1"
      Dst: "[com.drew.metadata.mov.atoms.SoundSampleDescriptionAtom$SoundSampleDescription].<init>(com.drew.lang.SequentialReader)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.lang.Iterables].<init>()"
    functionSourceFile: "com.drew.lang.Iterables"
    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: "com.drew.lang.Iterables:11,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: "[com.drew.lang.Iterables].toList(java.lang.Iterable<E>)"
    functionSourceFile: "com.drew.lang.Iterables"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.util.List<E>"
    argCount: 1
    argTypes:
    - "java.lang.Iterable<E>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].<init>()"
    - "[java.lang.Iterable].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.util.ArrayList].add(java.lang.Object)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.lang.Iterables:16"
      Branch Sides:
      - BranchSide: "com.drew.lang.Iterables:19"
        BranchSideFuncs: []
      - BranchSide: "com.drew.lang.Iterables:18"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.lang.Iterables:15,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "com.drew.lang.Iterables:16,1"
      Dst: "[java.lang.Iterable].iterator()"
    - Src: "com.drew.lang.Iterables:16,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.drew.lang.Iterables:16,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.drew.lang.Iterables:17,1"
      Dst: "[java.util.ArrayList].add(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: "[com.drew.lang.Iterables].toSet(java.lang.Iterable<E>)"
    functionSourceFile: "com.drew.lang.Iterables"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.util.Set<E>"
    argCount: 1
    argTypes:
    - "java.lang.Iterable<E>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.HashSet].<init>()"
    - "[java.lang.Iterable].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.util.HashSet].add(java.lang.Object)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.lang.Iterables:25"
      Branch Sides:
      - BranchSide: "com.drew.lang.Iterables:28"
        BranchSideFuncs: []
      - BranchSide: "com.drew.lang.Iterables:27"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.lang.Iterables:24,1"
      Dst: "[java.util.HashSet].<init>()"
    - Src: "com.drew.lang.Iterables:25,1"
      Dst: "[java.lang.Iterable].iterator()"
    - Src: "com.drew.lang.Iterables:25,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.drew.lang.Iterables:25,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.drew.lang.Iterables:26,1"
      Dst: "[java.util.HashSet].add(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: "[com.drew.metadata.exif.PanasonicRawDistortionDescriptor].getDescription(int)"
    functionSourceFile: "com.drew.metadata.exif.PanasonicRawDistortionDescriptor"
    linkageType: ""
    functionLinenumber: 48
    functionLinenumberEnd: 66
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.PanasonicRawDistortionDescriptor].getDistortionParam02Description()"
    - "[com.drew.metadata.exif.PanasonicRawDistortionDescriptor].getDistortionParam04Description()"
    - "[com.drew.metadata.exif.PanasonicRawDistortionDescriptor].getDistortionScaleDescription()"
    - "[com.drew.metadata.exif.PanasonicRawDistortionDescriptor].getDistortionCorrectionDescription()"
    - "[com.drew.metadata.exif.PanasonicRawDistortionDescriptor].getDistortionParam08Description()"
    - "[com.drew.metadata.exif.PanasonicRawDistortionDescriptor].getDistortionParam09Description()"
    - "[com.drew.metadata.exif.PanasonicRawDistortionDescriptor].getDistortionParam11Description()"
    - "[com.drew.metadata.TagDescriptor].getDescription(int)"
    functionUses: 1
    ICount: 19
    EdgeCount: 8
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.PanasonicRawDistortionDescriptor:51,1"
      Dst: "[com.drew.metadata.exif.PanasonicRawDistortionDescriptor].getDistortionParam02Description()"
    - Src: "com.drew.metadata.exif.PanasonicRawDistortionDescriptor:53,1"
      Dst: "[com.drew.metadata.exif.PanasonicRawDistortionDescriptor].getDistortionParam04Description()"
    - Src: "com.drew.metadata.exif.PanasonicRawDistortionDescriptor:55,1"
      Dst: "[com.drew.metadata.exif.PanasonicRawDistortionDescriptor].getDistortionScaleDescription()"
    - Src: "com.drew.metadata.exif.PanasonicRawDistortionDescriptor:57,1"
      Dst: "[com.drew.metadata.exif.PanasonicRawDistortionDescriptor].getDistortionCorrectionDescription()"
    - Src: "com.drew.metadata.exif.PanasonicRawDistortionDescriptor:59,1"
      Dst: "[com.drew.metadata.exif.PanasonicRawDistortionDescriptor].getDistortionParam08Description()"
    - Src: "com.drew.metadata.exif.PanasonicRawDistortionDescriptor:61,1"
      Dst: "[com.drew.metadata.exif.PanasonicRawDistortionDescriptor].getDistortionParam09Description()"
    - Src: "com.drew.metadata.exif.PanasonicRawDistortionDescriptor:63,1"
      Dst: "[com.drew.metadata.exif.PanasonicRawDistortionDescriptor].getDistortionParam11Description()"
    - Src: "com.drew.metadata.exif.PanasonicRawDistortionDescriptor:65,1"
      Dst: "[com.drew.metadata.TagDescriptor].getDescription(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: 9
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.PanasonicRawDistortionDescriptor].getDistortionParam02Description()"
    functionSourceFile: "com.drew.metadata.exif.PanasonicRawDistortionDescriptor"
    linkageType: ""
    functionLinenumber: 71
    functionLinenumberEnd: 77
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[com.drew.lang.Rational].<init>(long,long)"
    - "[java.lang.Integer].intValue()"
    - "[com.drew.lang.Rational].toString()"
    functionUses: 1
    ICount: 12
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.PanasonicRawDistortionDescriptor:73"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.PanasonicRawDistortionDescriptor:76"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.PanasonicRawDistortionDescriptor:75"
        BranchSideFuncs:
        - "intValue()"
        - "toString()"
        - "<init>(long,long)"
    Callsites:
    - Src: "com.drew.metadata.exif.PanasonicRawDistortionDescriptor:72,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.PanasonicRawDistortionDescriptor:76,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.PanasonicRawDistortionDescriptor:76,1"
      Dst: "[com.drew.lang.Rational].<init>(long,long)"
    - Src: "com.drew.metadata.exif.PanasonicRawDistortionDescriptor:76,1"
      Dst: "[com.drew.lang.Rational].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: 3
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.PanasonicRawDistortionDescriptor].getDistortionParam04Description()"
    functionSourceFile: "com.drew.metadata.exif.PanasonicRawDistortionDescriptor"
    linkageType: ""
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[com.drew.lang.Rational].<init>(long,long)"
    - "[java.lang.Integer].intValue()"
    - "[com.drew.lang.Rational].toString()"
    functionUses: 1
    ICount: 12
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.PanasonicRawDistortionDescriptor:83"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.PanasonicRawDistortionDescriptor:86"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.PanasonicRawDistortionDescriptor:85"
        BranchSideFuncs:
        - "intValue()"
        - "toString()"
        - "<init>(long,long)"
    Callsites:
    - Src: "com.drew.metadata.exif.PanasonicRawDistortionDescriptor:82,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.PanasonicRawDistortionDescriptor:86,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.PanasonicRawDistortionDescriptor:86,1"
      Dst: "[com.drew.lang.Rational].<init>(long,long)"
    - Src: "com.drew.metadata.exif.PanasonicRawDistortionDescriptor:86,1"
      Dst: "[com.drew.lang.Rational].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: 3
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.PanasonicRawDistortionDescriptor].getDistortionScaleDescription()"
    functionSourceFile: "com.drew.metadata.exif.PanasonicRawDistortionDescriptor"
    linkageType: ""
    functionLinenumber: 91
    functionLinenumberEnd: 98
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.Integer].toString(int)"
    functionUses: 1
    ICount: 13
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.PanasonicRawDistortionDescriptor:93"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.PanasonicRawDistortionDescriptor:97"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.PanasonicRawDistortionDescriptor:96"
        BranchSideFuncs:
        - "intValue()"
        - "toString(int)"
    Callsites:
    - Src: "com.drew.metadata.exif.PanasonicRawDistortionDescriptor:92,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.PanasonicRawDistortionDescriptor:97,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.PanasonicRawDistortionDescriptor:97,1"
      Dst: "[java.lang.Integer].toString(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: 3
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.PanasonicRawDistortionDescriptor].getDistortionCorrectionDescription()"
    functionSourceFile: "com.drew.metadata.exif.PanasonicRawDistortionDescriptor"
    linkageType: ""
    functionLinenumber: 102
    functionLinenumberEnd: 117
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    functionUses: 1
    ICount: 18
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.PanasonicRawDistortionDescriptor:104"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.PanasonicRawDistortionDescriptor:109"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.PanasonicRawDistortionDescriptor:108"
        BranchSideFuncs:
        - "intValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.PanasonicRawDistortionDescriptor:103,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.PanasonicRawDistortionDescriptor:109,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.PanasonicRawDistortionDescriptor:116,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.PanasonicRawDistortionDescriptor:116,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.PanasonicRawDistortionDescriptor:116,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.drew.metadata.exif.PanasonicRawDistortionDescriptor:116,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: 6
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.PanasonicRawDistortionDescriptor].getDistortionParam08Description()"
    functionSourceFile: "com.drew.metadata.exif.PanasonicRawDistortionDescriptor"
    linkageType: ""
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[com.drew.lang.Rational].<init>(long,long)"
    - "[java.lang.Integer].intValue()"
    - "[com.drew.lang.Rational].toString()"
    functionUses: 1
    ICount: 12
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.PanasonicRawDistortionDescriptor:124"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.PanasonicRawDistortionDescriptor:127"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.PanasonicRawDistortionDescriptor:126"
        BranchSideFuncs:
        - "intValue()"
        - "toString()"
        - "<init>(long,long)"
    Callsites:
    - Src: "com.drew.metadata.exif.PanasonicRawDistortionDescriptor:123,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.PanasonicRawDistortionDescriptor:127,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.PanasonicRawDistortionDescriptor:127,1"
      Dst: "[com.drew.lang.Rational].<init>(long,long)"
    - Src: "com.drew.metadata.exif.PanasonicRawDistortionDescriptor:127,1"
      Dst: "[com.drew.lang.Rational].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: 3
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.PanasonicRawDistortionDescriptor].getDistortionParam09Description()"
    functionSourceFile: "com.drew.metadata.exif.PanasonicRawDistortionDescriptor"
    linkageType: ""
    functionLinenumber: 132
    functionLinenumberEnd: 138
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[com.drew.lang.Rational].<init>(long,long)"
    - "[java.lang.Integer].intValue()"
    - "[com.drew.lang.Rational].toString()"
    functionUses: 1
    ICount: 12
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.PanasonicRawDistortionDescriptor:134"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.PanasonicRawDistortionDescriptor:137"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.PanasonicRawDistortionDescriptor:136"
        BranchSideFuncs:
        - "intValue()"
        - "toString()"
        - "<init>(long,long)"
    Callsites:
    - Src: "com.drew.metadata.exif.PanasonicRawDistortionDescriptor:133,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.PanasonicRawDistortionDescriptor:137,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.PanasonicRawDistortionDescriptor:137,1"
      Dst: "[com.drew.lang.Rational].<init>(long,long)"
    - Src: "com.drew.metadata.exif.PanasonicRawDistortionDescriptor:137,1"
      Dst: "[com.drew.lang.Rational].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: 3
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.PanasonicRawDistortionDescriptor].getDistortionParam11Description()"
    functionSourceFile: "com.drew.metadata.exif.PanasonicRawDistortionDescriptor"
    linkageType: ""
    functionLinenumber: 142
    functionLinenumberEnd: 148
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[com.drew.lang.Rational].<init>(long,long)"
    - "[java.lang.Integer].intValue()"
    - "[com.drew.lang.Rational].toString()"
    functionUses: 1
    ICount: 12
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.PanasonicRawDistortionDescriptor:144"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.PanasonicRawDistortionDescriptor:147"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.PanasonicRawDistortionDescriptor:146"
        BranchSideFuncs:
        - "intValue()"
        - "toString()"
        - "<init>(long,long)"
    Callsites:
    - Src: "com.drew.metadata.exif.PanasonicRawDistortionDescriptor:143,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.PanasonicRawDistortionDescriptor:147,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.PanasonicRawDistortionDescriptor:147,1"
      Dst: "[com.drew.lang.Rational].<init>(long,long)"
    - Src: "com.drew.metadata.exif.PanasonicRawDistortionDescriptor:147,1"
      Dst: "[com.drew.lang.Rational].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: 3
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.ReconyxUltraFireMakernoteDescriptor].getDescription(int)"
    functionSourceFile: "com.drew.metadata.exif.makernotes.ReconyxUltraFireMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 52
    functionLinenumberEnd: 108
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getString(int)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[com.drew.metadata.Directory].getIntArray(int)"
    - "[java.lang.Integer].valueOf(int)"
    - "[java.text.SimpleDateFormat].<init>(java.lang.String)"
    - "[java.text.DateFormat].format(java.util.Date)"
    - "[java.text.DateFormat].parse(java.lang.String)"
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    - "[com.drew.metadata.Directory].getDoubleObject(int)"
    - "[java.text.DecimalFormat].<init>(java.lang.String)"
    - "[java.text.Format].format(java.lang.Object)"
    - "[com.drew.metadata.Directory].getStringValue(int)"
    - "[com.drew.metadata.StringValue].toString()"
    - "[com.drew.metadata.TagDescriptor].getDescription(int)"
    functionUses: 1
    ICount: 116
    EdgeCount: 31
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.ReconyxUltraFireMakernoteDescriptor:72"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.ReconyxUltraFireMakernoteDescriptor:74"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.ReconyxUltraFireMakernoteDescriptor:73"
        BranchSideFuncs:
        - "valueOf(int)"
    - Branch String: "com.drew.metadata.exif.makernotes.ReconyxUltraFireMakernoteDescriptor:97"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.ReconyxUltraFireMakernoteDescriptor:94"
        BranchSideFuncs:
        - "format(java.lang.Object)"
        - "getDoubleObject(int)"
        - "<init>(java.lang.String)"
    - Branch String: "com.drew.metadata.exif.makernotes.ReconyxUltraFireMakernoteDescriptor:101"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.ReconyxUltraFireMakernoteDescriptor:103"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.ReconyxUltraFireMakernoteDescriptor:102"
        BranchSideFuncs:
        - "toString()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.ReconyxUltraFireMakernoteDescriptor:55,1"
      Dst: "[com.drew.metadata.Directory].getString(int)"
    - Src: "com.drew.metadata.exif.makernotes.ReconyxUltraFireMakernoteDescriptor:57,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.ReconyxUltraFireMakernoteDescriptor:57,1"
      Dst: "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - Src: "com.drew.metadata.exif.makernotes.ReconyxUltraFireMakernoteDescriptor:71,1"
      Dst: "[com.drew.metadata.Directory].getIntArray(int)"
    - Src: "com.drew.metadata.exif.makernotes.ReconyxUltraFireMakernoteDescriptor:74,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.drew.metadata.exif.makernotes.ReconyxUltraFireMakernoteDescriptor:80,1"
      Dst: "[java.text.SimpleDateFormat].<init>(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.ReconyxUltraFireMakernoteDescriptor:81,1"
      Dst: "[java.text.DateFormat].parse(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.ReconyxUltraFireMakernoteDescriptor:81,1"
      Dst: "[java.text.DateFormat].format(java.util.Date)"
    - Src: "com.drew.metadata.exif.makernotes.ReconyxUltraFireMakernoteDescriptor:88,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    - Src: "com.drew.metadata.exif.makernotes.ReconyxUltraFireMakernoteDescriptor:95,1"
      Dst: "[com.drew.metadata.Directory].getDoubleObject(int)"
    - Src: "com.drew.metadata.exif.makernotes.ReconyxUltraFireMakernoteDescriptor:96,1"
      Dst: "[java.text.DecimalFormat].<init>(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.ReconyxUltraFireMakernoteDescriptor:97,1"
      Dst: "[java.text.Format].format(java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.ReconyxUltraFireMakernoteDescriptor:100,1"
      Dst: "[com.drew.metadata.Directory].getStringValue(int)"
    - Src: "com.drew.metadata.exif.makernotes.ReconyxUltraFireMakernoteDescriptor:103,1"
      Dst: "[com.drew.metadata.StringValue].toString()"
    - Src: "com.drew.metadata.exif.makernotes.ReconyxUltraFireMakernoteDescriptor:107,1"
      Dst: "[com.drew.metadata.TagDescriptor].getDescription(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: 25
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.photoshop.PsdHeaderDirectory].getName()"
    functionSourceFile: "com.drew.metadata.photoshop.PsdHeaderDirectory"
    linkageType: ""
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.photoshop.PsdHeaderDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.photoshop.PsdHeaderDirectory"
    linkageType: ""
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.CanonMakernoteDirectory$Panorama].<init>()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CanonMakernoteDirectory$Panorama"
    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: "com.drew.metadata.exif.makernotes.CanonMakernoteDirectory$Panorama:361,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: "[com.drew.metadata.mp4.media.Mp4MetaHandler].getDirectory()"
    functionSourceFile: "com.drew.metadata.mp4.media.Mp4MetaHandler"
    linkageType: ""
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionDepth: 3
    returnType: "com.drew.metadata.mp4.media.Mp4MetaDirectory"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mp4.media.Mp4MetaDirectory].<init>()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mp4.media.Mp4MetaHandler:43,1"
      Dst: "[com.drew.metadata.mp4.media.Mp4MetaDirectory].<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: "[com.drew.metadata.mp4.media.Mp4MetaHandler].getMediaInformation()"
    functionSourceFile: "com.drew.metadata.mp4.media.Mp4MetaHandler"
    linkageType: ""
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 2
    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: "[com.drew.metadata.mp4.media.Mp4MetaHandler].processSampleDescription(com.drew.lang.SequentialReader)"
    functionSourceFile: "com.drew.metadata.mp4.media.Mp4MetaHandler"
    linkageType: ""
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.lang.SequentialReader"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    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: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.mp4.media.Mp4MetaHandler].processMediaInformation(com.drew.lang.SequentialReader)"
    functionSourceFile: "com.drew.metadata.mp4.media.Mp4MetaHandler"
    linkageType: ""
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.lang.SequentialReader"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    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: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.mp4.media.Mp4MetaHandler].processTimeToSample(com.drew.lang.SequentialReader,com.drew.metadata.mp4.Mp4Context)"
    functionSourceFile: "com.drew.metadata.mp4.media.Mp4MetaHandler"
    linkageType: ""
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "com.drew.metadata.mp4.Mp4Context"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    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: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler].<init>()"
    functionSourceFile: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.tools.ProcessAllImagesInFolderUtility$FileHandlerBase].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:306,1"
      Dst: "[com.drew.tools.ProcessAllImagesInFolderUtility$FileHandlerBase].<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: "[com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler].onStartingDirectory(java.io.File)"
    functionSourceFile: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.io.File"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.tools.ProcessAllImagesInFolderUtility$FileHandlerBase].onStartingDirectory(java.io.File)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.io.File].<init>(java.lang.String)"
    - "[java.io.File].exists()"
    - "[com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler].deleteRecursively(java.io.File)"
    functionUses: 0
    ICount: 14
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:318"
      Branch Sides:
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:320"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:319"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:314,1"
      Dst: "[com.drew.tools.ProcessAllImagesInFolderUtility$FileHandlerBase].onStartingDirectory(java.io.File)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:317,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:317,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:317,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:317,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:317,1"
      Dst: "[java.io.File].<init>(java.lang.String)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:318,1"
      Dst: "[java.io.File].exists()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:319,1"
      Dst: "[com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler].deleteRecursively(java.io.File)"
    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: "[com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler].deleteRecursively(java.io.File)"
    functionSourceFile: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.io.File"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.File].isDirectory()"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.io.File].exists()"
    - "[java.io.File].list()"
    - "[java.io.File].<init>(java.lang.String)"
    - "[com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler].deleteRecursively(java.io.File)"
    - "[java.io.File].delete()"
    functionUses: 0
    ICount: 25
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:324"
      Branch Sides:
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:327"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:326"
        BranchSideFuncs: []
    - Branch String: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:327"
      Branch Sides:
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:340"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:339"
        BranchSideFuncs: []
    - Branch String: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:329"
      Branch Sides:
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:340"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:339"
        BranchSideFuncs: []
    - Branch String: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:330"
      Branch Sides:
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:340"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:339"
        BranchSideFuncs: []
    - Branch String: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:332"
      Branch Sides:
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:335"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:334"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:324,1"
      Dst: "[java.io.File].isDirectory()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:325,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:327,1"
      Dst: "[java.io.File].exists()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:328,1"
      Dst: "[java.io.File].list()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:331,1"
      Dst: "[java.io.File].<init>(java.lang.String)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:333,1"
      Dst: "[com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler].deleteRecursively(java.io.File)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:335,1"
      Dst: "[java.io.File].delete()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 11
    CyclomaticComplexity: 5
  - functionName: "[com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler].onBeforeExtraction(java.io.File,java.io.PrintStream,java.lang.String)"
    functionSourceFile: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.io.File"
    - "java.io.PrintStream"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.tools.ProcessAllImagesInFolderUtility$FileHandlerBase].onBeforeExtraction(java.io.File,java.io.PrintStream,java.lang.String)"
    - "[java.io.File].getAbsoluteFile()"
    - "[java.io.PrintStream].print(java.lang.Object)"
    - "[java.io.PrintStream].print(java.lang.String)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:346,1"
      Dst: "[com.drew.tools.ProcessAllImagesInFolderUtility$FileHandlerBase].onBeforeExtraction(java.io.File,java.io.PrintStream,java.lang.String)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:347,1"
      Dst: "[java.io.File].getAbsoluteFile()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:347,1"
      Dst: "[java.io.PrintStream].print(java.lang.Object)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:348,1"
      Dst: "[java.io.PrintStream].print(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: "[com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler].onExtractionSuccess(java.io.File,com.drew.metadata.Metadata,java.lang.String,java.io.PrintStream)"
    functionSourceFile: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 4
    argTypes:
    - "java.io.File"
    - "com.drew.metadata.Metadata"
    - "java.lang.String"
    - "java.io.PrintStream"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.tools.ProcessAllImagesInFolderUtility$FileHandlerBase].onExtractionSuccess(java.io.File,com.drew.metadata.Metadata,java.lang.String,java.io.PrintStream)"
    - "[com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler].openWriter(java.io.File)"
    - "[com.drew.metadata.Metadata].hasErrors()"
    - "[com.drew.metadata.Metadata].getDirectories()"
    - "[java.lang.Iterable].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[com.drew.metadata.Directory].hasErrors()"
    - "[com.drew.metadata.Directory].getErrors()"
    - "[com.drew.metadata.Directory].getName()"
    - "[java.io.PrintWriter].format(java.lang.String,java.lang.Object[])"
    - "[java.io.PrintWriter].write(java.lang.String)"
    - "[com.drew.metadata.Directory].getTags()"
    - "[java.util.Collection].iterator()"
    - "[com.drew.metadata.Tag].getTagName()"
    - "[com.drew.metadata.Tag].getDescription()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.Throwable].getMessage()"
    - "[java.lang.StringBuilder].toString()"
    - "[com.drew.metadata.Tag].getTagType()"
    - "[com.drew.metadata.Tag].getTagTypeHex()"
    - "[com.drew.metadata.Directory].getTagCount()"
    - "[com.drew.metadata.xmp.XmpDirectory].getXMPMeta()"
    - "[com.adobe.internal.xmp.options.IteratorOptions].<init>()"
    - "[com.adobe.internal.xmp.options.IteratorOptions].setJustLeafnodes(boolean)"
    - "[com.adobe.internal.xmp.XMPMeta].iterator(com.adobe.internal.xmp.options.IteratorOptions)"
    - "[com.adobe.internal.xmp.properties.XMPPropertyInfo].getNamespace()"
    - "[com.adobe.internal.xmp.properties.XMPPropertyInfo].getPath()"
    - "[com.adobe.internal.xmp.properties.XMPPropertyInfo].getValue()"
    - "[java.lang.String].length()"
    - "[java.lang.String].substring(int,int)"
    - "[java.lang.Integer].valueOf(int)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.lang.Throwable].printStackTrace()"
    - "[com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler].writeHierarchyLevel(com.drew.metadata.Metadata,java.io.PrintWriter,com.drew.metadata.Directory,int)"
    - "[com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler].closeWriter(java.io.Writer)"
    functionUses: 0
    ICount: 137
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:363"
      Branch Sides:
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:374"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:373"
        BranchSideFuncs: []
    - Branch String: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:364"
      Branch Sides:
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:370"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:369"
        BranchSideFuncs: []
    - Branch String: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:365"
      Branch Sides:
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:367"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:366"
        BranchSideFuncs: []
    - Branch String: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:367"
      Branch Sides:
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:369"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:368"
        BranchSideFuncs: []
    - Branch String: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:374"
      Branch Sides:
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:431"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:430"
        BranchSideFuncs: []
    - Branch String: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:377"
      Branch Sides:
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:392"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:391"
        BranchSideFuncs: []
    - Branch String: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:385"
      Branch Sides:
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:388"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:387"
        BranchSideFuncs: []
    - Branch String: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:388"
      Branch Sides:
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:390"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:389"
        BranchSideFuncs: []
    - Branch String: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:388"
      Branch Sides:
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:390"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:389"
        BranchSideFuncs: []
    - Branch String: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:392"
      Branch Sides:
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:395"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:394"
        BranchSideFuncs: []
    - Branch String: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:395"
      Branch Sides:
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:428"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:427"
        BranchSideFuncs: []
    - Branch String: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:402"
      Branch Sides:
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:424"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:423"
        BranchSideFuncs: []
    - Branch String: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:408"
      Branch Sides:
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:410"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:409"
        BranchSideFuncs: []
    - Branch String: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:410"
      Branch Sides:
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:414"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:413"
        BranchSideFuncs: []
    - Branch String: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:414"
      Branch Sides:
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:416"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:415"
        BranchSideFuncs: []
    - Branch String: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:416"
      Branch Sides:
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:419"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:418"
        BranchSideFuncs: []
    - Branch String: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:425"
      Branch Sides:
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:428"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:427"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:354,1"
      Dst: "[com.drew.tools.ProcessAllImagesInFolderUtility$FileHandlerBase].onExtractionSuccess(java.io.File,com.drew.metadata.Metadata,java.lang.String,java.io.PrintStream)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:360,1"
      Dst: "[com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler].openWriter(java.io.File)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:363,1"
      Dst: "[com.drew.metadata.Metadata].hasErrors()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:364,1"
      Dst: "[com.drew.metadata.Metadata].getDirectories()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:364,1"
      Dst: "[java.lang.Iterable].iterator()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:364,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:364,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:365,1"
      Dst: "[com.drew.metadata.Directory].hasErrors()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:367,1"
      Dst: "[com.drew.metadata.Directory].getErrors()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:368,1"
      Dst: "[com.drew.metadata.Directory].getName()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:368,1"
      Dst: "[java.io.PrintWriter].format(java.lang.String,java.lang.Object[])"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:370,1"
      Dst: "[java.io.PrintWriter].write(java.lang.String)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:377,1"
      Dst: "[com.drew.metadata.Directory].getTags()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:377,1"
      Dst: "[java.util.Collection].iterator()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:378,1"
      Dst: "[com.drew.metadata.Tag].getTagName()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:381,1"
      Dst: "[com.drew.metadata.Tag].getDescription()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:383,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:383,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:383,1"
      Dst: "[java.lang.Throwable].getMessage()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:383,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:388,1"
      Dst: "[com.drew.metadata.Tag].getTagType()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:390,1"
      Dst: "[com.drew.metadata.Tag].getTagTypeHex()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:392,1"
      Dst: "[com.drew.metadata.Directory].getTagCount()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:398,1"
      Dst: "[com.drew.metadata.xmp.XmpDirectory].getXMPMeta()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:400,1"
      Dst: "[com.adobe.internal.xmp.options.IteratorOptions].<init>()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:400,1"
      Dst: "[com.adobe.internal.xmp.options.IteratorOptions].setJustLeafnodes(boolean)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:401,1"
      Dst: "[com.adobe.internal.xmp.XMPMeta].iterator(com.adobe.internal.xmp.options.IteratorOptions)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:404,1"
      Dst: "[com.adobe.internal.xmp.properties.XMPPropertyInfo].getNamespace()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:405,1"
      Dst: "[com.adobe.internal.xmp.properties.XMPPropertyInfo].getPath()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:406,1"
      Dst: "[com.adobe.internal.xmp.properties.XMPPropertyInfo].getValue()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:416,1"
      Dst: "[java.lang.String].length()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:417,1"
      Dst: "[java.lang.String].substring(int,int)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:417,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:417,1"
      Dst: "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:423,1"
      Dst: "[java.lang.Throwable].printStackTrace()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:431,1"
      Dst: "[com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler].writeHierarchyLevel(com.drew.metadata.Metadata,java.io.PrintWriter,com.drew.metadata.Directory,int)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:435,1"
      Dst: "[com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler].closeWriter(java.io.Writer)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 46
    CyclomaticComplexity: 17
  - functionName: "[com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler].openWriter(java.io.File)"
    functionSourceFile: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "java.io.PrintWriter"
    argCount: 1
    argTypes:
    - "java.io.File"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.File].getParent()"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.io.File].<init>(java.lang.String)"
    - "[java.io.File].exists()"
    - "[java.io.File].mkdir()"
    - "[java.io.File].getName()"
    - "[java.io.FileOutputStream].<init>(java.lang.String)"
    - "[java.io.OutputStreamWriter].<init>(java.io.OutputStream,java.lang.String)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.io.Writer].write(java.lang.String)"
    - "[java.io.FileInputStream].<init>(java.io.File)"
    - "[java.io.BufferedInputStream].<init>(java.io.InputStream)"
    - "[com.drew.imaging.FileTypeDetector].detectFileType(java.io.InputStream)"
    - "[java.lang.Enum].toString()"
    - "[java.lang.String].toUpperCase()"
    - "[java.io.BufferedInputStream].close()"
    - "[java.io.PrintWriter].<init>(java.io.Writer)"
    functionUses: 0
    ICount: 61
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:488"
      Branch Sides:
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:491"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:490"
        BranchSideFuncs: []
    - Branch String: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:492"
      Branch Sides:
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:495"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:494"
        BranchSideFuncs: []
    - Branch String: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:510"
      Branch Sides:
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:515"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:514"
        BranchSideFuncs: []
    - Branch String: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:510"
      Branch Sides:
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:513"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:512"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:487,1"
      Dst: "[java.io.File].getParent()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:487,1"
      Dst: "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:487,1"
      Dst: "[java.io.File].<init>(java.lang.String)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:488,1"
      Dst: "[java.io.File].exists()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:489,1"
      Dst: "[java.io.File].mkdir()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:495,1"
      Dst: "[java.io.File].getName()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:496,1"
      Dst: "[java.io.FileOutputStream].<init>(java.lang.String)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:496,1"
      Dst: "[java.io.OutputStreamWriter].<init>(java.io.OutputStream,java.lang.String)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:500,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:500,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:500,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:500,1"
      Dst: "[java.io.Writer].write(java.lang.String)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:505,1"
      Dst: "[java.io.FileInputStream].<init>(java.io.File)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:505,1"
      Dst: "[java.io.BufferedInputStream].<init>(java.io.InputStream)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:506,1"
      Dst: "[com.drew.imaging.FileTypeDetector].detectFileType(java.io.InputStream)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:507,1"
      Dst: "[java.lang.Enum].toString()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:507,1"
      Dst: "[java.lang.String].toUpperCase()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:511,1"
      Dst: "[java.io.BufferedInputStream].close()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:515,1"
      Dst: "[java.io.PrintWriter].<init>(java.io.Writer)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 10
    CyclomaticComplexity: 4
  - functionName: "[com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler].writeHierarchyLevel(com.drew.metadata.Metadata,java.io.PrintWriter,com.drew.metadata.Directory,int)"
    functionSourceFile: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 4
    argTypes:
    - "com.drew.metadata.Metadata"
    - "java.io.PrintWriter"
    - "com.drew.metadata.Directory"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Metadata].getDirectories()"
    - "[java.lang.Iterable].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[com.drew.metadata.Directory].getParent()"
    - "[java.lang.Object].equals(java.lang.Object)"
    - "[java.io.PrintWriter].write(int)"
    - "[java.io.PrintWriter].write(java.lang.String)"
    - "[com.drew.metadata.Directory].getName()"
    - "[com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler].writeHierarchyLevel(com.drew.metadata.Metadata,java.io.PrintWriter,com.drew.metadata.Directory,int)"
    functionUses: 0
    ICount: 32
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:446"
      Branch Sides:
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:462"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:461"
        BranchSideFuncs: []
    - Branch String: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:447"
      Branch Sides:
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:450"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:449"
        BranchSideFuncs: []
    - Branch String: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:448"
      Branch Sides:
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:454"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:453"
        BranchSideFuncs: []
    - Branch String: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:450"
      Branch Sides:
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:454"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:453"
        BranchSideFuncs: []
    - Branch String: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:454"
      Branch Sides:
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:456"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:446,1"
      Dst: "[com.drew.metadata.Metadata].getDirectories()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:446,1"
      Dst: "[java.lang.Iterable].iterator()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:446,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:446,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:448,1"
      Dst: "[com.drew.metadata.Directory].getParent()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:450,1"
      Dst: "[java.lang.Object].equals(java.lang.Object)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:455,1"
      Dst: "[java.io.PrintWriter].write(int)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:457,1"
      Dst: "[java.io.PrintWriter].write(java.lang.String)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:458,1"
      Dst: "[com.drew.metadata.Directory].getName()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:460,1"
      Dst: "[com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler].writeHierarchyLevel(com.drew.metadata.Metadata,java.io.PrintWriter,com.drew.metadata.Directory,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 12
    CyclomaticComplexity: 6
  - functionName: "[com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler].closeWriter(java.io.Writer)"
    functionSourceFile: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.io.Writer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.Writer].write(java.lang.String)"
    - "[java.io.Writer].flush()"
    - "[java.io.Writer].close()"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:520"
      Branch Sides:
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:526"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:525"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:521,1"
      Dst: "[java.io.Writer].write(java.lang.String)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:523,1"
      Dst: "[java.io.Writer].flush()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:524,1"
      Dst: "[java.io.Writer].close()"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler].onExtractionError(java.io.File,java.lang.Throwable,java.io.PrintStream)"
    functionSourceFile: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.io.File"
    - "java.lang.Throwable"
    - "java.io.PrintStream"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.tools.ProcessAllImagesInFolderUtility$FileHandlerBase].onExtractionError(java.io.File,java.lang.Throwable,java.io.PrintStream)"
    - "[com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler].openWriter(java.io.File)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.Throwable].getMessage()"
    - "[java.lang.StringBuilder].toString()"
    - "[java.io.PrintWriter].write(java.lang.String)"
    - "[com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler].closeWriter(java.io.Writer)"
    - "[java.io.PrintStream].printf(java.lang.String,java.lang.Object[])"
    functionUses: 0
    ICount: 31
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:467,1"
      Dst: "[com.drew.tools.ProcessAllImagesInFolderUtility$FileHandlerBase].onExtractionError(java.io.File,java.lang.Throwable,java.io.PrintStream)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:472,1"
      Dst: "[com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler].openWriter(java.io.File)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:473,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:473,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:473,1"
      Dst: "[java.lang.Throwable].getMessage()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:473,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:473,1"
      Dst: "[java.io.PrintWriter].write(java.lang.String)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:476,1"
      Dst: "[com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler].closeWriter(java.io.Writer)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$TextFileOutputHandler:479,1"
      Dst: "[java.io.PrintStream].printf(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: 5
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.GpsDirectory].<init>()"
    functionSourceFile: "com.drew.metadata.exif.GpsDirectory"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.ExifDirectoryBase].<init>()"
    - "[com.drew.metadata.exif.GpsDescriptor].<init>(com.drew.metadata.exif.GpsDirectory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.GpsDirectory:150,1"
      Dst: "[com.drew.metadata.exif.ExifDirectoryBase].<init>()"
    - Src: "com.drew.metadata.exif.GpsDirectory:151,1"
      Dst: "[com.drew.metadata.exif.GpsDescriptor].<init>(com.drew.metadata.exif.GpsDirectory)"
    - Src: "com.drew.metadata.exif.GpsDirectory:151,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.exif.GpsDirectory].getName()"
    functionSourceFile: "com.drew.metadata.exif.GpsDirectory"
    linkageType: ""
    functionLinenumber: 157
    functionLinenumberEnd: 159
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.exif.GpsDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.exif.GpsDirectory"
    linkageType: ""
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.GpsDirectory].getGpsDate()"
    functionSourceFile: "com.drew.metadata.exif.GpsDirectory"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "java.util.Date"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getString(int)"
    - "[com.drew.metadata.Directory].getRationalArray(int)"
    - "[com.drew.lang.Rational].intValue()"
    - "[java.lang.Integer].valueOf(int)"
    - "[com.drew.lang.Rational].doubleValue()"
    - "[java.lang.Double].valueOf(double)"
    - "[java.lang.String].format(java.util.Locale,java.lang.String,java.lang.Object[])"
    - "[java.text.SimpleDateFormat].<init>(java.lang.String)"
    - "[java.text.DateFormat].parse(java.lang.String)"
    functionUses: 0
    ICount: 31
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.GpsDirectory:213"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.GpsDirectory:215"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.GpsDirectory:214"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.GpsDirectory:215"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.GpsDirectory:216"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.GpsDirectory:215"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.GpsDirectory:215"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.GpsDirectory:219"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.GpsDirectory:218"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.exif.GpsDirectory:209,1"
      Dst: "[com.drew.metadata.Directory].getString(int)"
    - Src: "com.drew.metadata.exif.GpsDirectory:210,1"
      Dst: "[com.drew.metadata.Directory].getRationalArray(int)"
    - Src: "com.drew.metadata.exif.GpsDirectory:219,1"
      Dst: "[com.drew.lang.Rational].intValue()"
    - Src: "com.drew.metadata.exif.GpsDirectory:219,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.drew.metadata.exif.GpsDirectory:219,1"
      Dst: "[com.drew.lang.Rational].doubleValue()"
    - Src: "com.drew.metadata.exif.GpsDirectory:219,1"
      Dst: "[java.lang.Double].valueOf(double)"
    - Src: "com.drew.metadata.exif.GpsDirectory:218,1"
      Dst: "[java.lang.String].format(java.util.Locale,java.lang.String,java.lang.Object[])"
    - Src: "com.drew.metadata.exif.GpsDirectory:221,1"
      Dst: "[java.text.SimpleDateFormat].<init>(java.lang.String)"
    - Src: "com.drew.metadata.exif.GpsDirectory:222,1"
      Dst: "[java.text.DateFormat].parse(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: 7
    CyclomaticComplexity: 1
  - functionName: "[com.drew.imaging.png.PngChunk].<init>(com.drew.imaging.png.PngChunkType,byte[])"
    functionSourceFile: "com.drew.imaging.png.PngChunk"
    linkageType: ""
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.imaging.png.PngChunkType"
    - "byte[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.png.PngChunk: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: "[com.drew.metadata.jpeg.JpegDescriptor].getDescription(int)"
    functionSourceFile: "com.drew.metadata.jpeg.JpegDescriptor"
    linkageType: ""
    functionLinenumber: 46
    functionLinenumberEnd: 67
    functionDepth: 3
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.jpeg.JpegDescriptor].getImageCompressionTypeDescription()"
    - "[com.drew.metadata.jpeg.JpegDescriptor].getComponentDataDescription(int)"
    - "[com.drew.metadata.jpeg.JpegDescriptor].getDataPrecisionDescription()"
    - "[com.drew.metadata.jpeg.JpegDescriptor].getImageHeightDescription()"
    - "[com.drew.metadata.jpeg.JpegDescriptor].getImageWidthDescription()"
    - "[com.drew.metadata.TagDescriptor].getDescription(int)"
    functionUses: 1
    ICount: 21
    EdgeCount: 9
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.jpeg.JpegDescriptor:50,1"
      Dst: "[com.drew.metadata.jpeg.JpegDescriptor].getImageCompressionTypeDescription()"
    - Src: "com.drew.metadata.jpeg.JpegDescriptor:52,1"
      Dst: "[com.drew.metadata.jpeg.JpegDescriptor].getComponentDataDescription(int)"
    - Src: "com.drew.metadata.jpeg.JpegDescriptor:60,1"
      Dst: "[com.drew.metadata.jpeg.JpegDescriptor].getDataPrecisionDescription()"
    - Src: "com.drew.metadata.jpeg.JpegDescriptor:62,1"
      Dst: "[com.drew.metadata.jpeg.JpegDescriptor].getImageHeightDescription()"
    - Src: "com.drew.metadata.jpeg.JpegDescriptor:64,1"
      Dst: "[com.drew.metadata.jpeg.JpegDescriptor].getImageWidthDescription()"
    - Src: "com.drew.metadata.jpeg.JpegDescriptor:66,1"
      Dst: "[com.drew.metadata.TagDescriptor].getDescription(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: 10
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.jpeg.JpegDescriptor].getImageCompressionTypeDescription()"
    functionSourceFile: "com.drew.metadata.jpeg.JpegDescriptor"
    linkageType: ""
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 21
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.jpeg.JpegDescriptor:73,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.jpeg.JpegDescriptor].getComponentDataDescription(int)"
    functionSourceFile: "com.drew.metadata.jpeg.JpegDescriptor"
    linkageType: ""
    functionLinenumber: 121
    functionLinenumberEnd: 128
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.jpeg.JpegDirectory].getComponent(int)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[com.drew.metadata.jpeg.JpegComponent].getComponentName()"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    functionUses: 4
    ICount: 15
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "com.drew.metadata.jpeg.JpegDescriptor:124"
      Branch Sides:
      - BranchSide: "com.drew.metadata.jpeg.JpegDescriptor:127"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.jpeg.JpegDescriptor:126"
        BranchSideFuncs:
        - "<init>()"
        - "append(java.lang.Object)"
        - "toString()"
        - "getComponentName()"
    Callsites:
    - Src: "com.drew.metadata.jpeg.JpegDescriptor:122,1"
      Dst: "[com.drew.metadata.jpeg.JpegDirectory].getComponent(int)"
    - Src: "com.drew.metadata.jpeg.JpegDescriptor:127,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.jpeg.JpegDescriptor:127,1"
      Dst: "[com.drew.metadata.jpeg.JpegComponent].getComponentName()"
    - Src: "com.drew.metadata.jpeg.JpegDescriptor:127,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.jpeg.JpegDescriptor:127,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.drew.metadata.jpeg.JpegDescriptor:127,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: 3
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.jpeg.JpegDescriptor].getDataPrecisionDescription()"
    functionSourceFile: "com.drew.metadata.jpeg.JpegDescriptor"
    linkageType: ""
    functionLinenumber: 112
    functionLinenumberEnd: 117
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getString(int)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 12
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.drew.metadata.jpeg.JpegDescriptor:114"
      Branch Sides:
      - BranchSide: "com.drew.metadata.jpeg.JpegDescriptor:116"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.jpeg.JpegDescriptor:115"
        BranchSideFuncs:
        - "<init>()"
        - "append(java.lang.String)"
        - "toString()"
    Callsites:
    - Src: "com.drew.metadata.jpeg.JpegDescriptor:113,1"
      Dst: "[com.drew.metadata.Directory].getString(int)"
    - Src: "com.drew.metadata.jpeg.JpegDescriptor:116,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.jpeg.JpegDescriptor:116,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.jpeg.JpegDescriptor:116,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: 3
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.jpeg.JpegDescriptor].getImageHeightDescription()"
    functionSourceFile: "com.drew.metadata.jpeg.JpegDescriptor"
    linkageType: ""
    functionLinenumber: 103
    functionLinenumberEnd: 108
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getString(int)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 12
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.drew.metadata.jpeg.JpegDescriptor:105"
      Branch Sides:
      - BranchSide: "com.drew.metadata.jpeg.JpegDescriptor:107"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.jpeg.JpegDescriptor:106"
        BranchSideFuncs:
        - "<init>()"
        - "append(java.lang.String)"
        - "toString()"
    Callsites:
    - Src: "com.drew.metadata.jpeg.JpegDescriptor:104,1"
      Dst: "[com.drew.metadata.Directory].getString(int)"
    - Src: "com.drew.metadata.jpeg.JpegDescriptor:107,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.jpeg.JpegDescriptor:107,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.jpeg.JpegDescriptor:107,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: 3
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.jpeg.JpegDescriptor].getImageWidthDescription()"
    functionSourceFile: "com.drew.metadata.jpeg.JpegDescriptor"
    linkageType: ""
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getString(int)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 12
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.drew.metadata.jpeg.JpegDescriptor:96"
      Branch Sides:
      - BranchSide: "com.drew.metadata.jpeg.JpegDescriptor:98"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.jpeg.JpegDescriptor:97"
        BranchSideFuncs:
        - "<init>()"
        - "append(java.lang.String)"
        - "toString()"
    Callsites:
    - Src: "com.drew.metadata.jpeg.JpegDescriptor:95,1"
      Dst: "[com.drew.metadata.Directory].getString(int)"
    - Src: "com.drew.metadata.jpeg.JpegDescriptor:98,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.jpeg.JpegDescriptor:98,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.jpeg.JpegDescriptor:98,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: 3
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.LeicaType5MakernoteDirectory].<init>()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.LeicaType5MakernoteDirectory"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].<init>()"
    - "[com.drew.metadata.exif.makernotes.LeicaType5MakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.LeicaType5MakernoteDirectory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.LeicaType5MakernoteDirectory:62,1"
      Dst: "[com.drew.metadata.Directory].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.LeicaType5MakernoteDirectory:63,1"
      Dst: "[com.drew.metadata.exif.makernotes.LeicaType5MakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.LeicaType5MakernoteDirectory)"
    - Src: "com.drew.metadata.exif.makernotes.LeicaType5MakernoteDirectory:63,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.exif.makernotes.LeicaType5MakernoteDirectory].getName()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.LeicaType5MakernoteDirectory"
    linkageType: ""
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.exif.makernotes.LeicaType5MakernoteDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.LeicaType5MakernoteDirectory"
    linkageType: ""
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.imaging.png.PngChunkReader].extract(com.drew.lang.SequentialReader,java.util.Set<PngChunkType>)"
    functionSourceFile: "com.drew.imaging.png.PngChunkReader"
    linkageType: ""
    functionLinenumber: 78
    functionLinenumberEnd: 136
    functionDepth: 6
    returnType: "java.lang.Iterable<PngChunk>"
    argCount: 2
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "java.util.Set<PngChunkType>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.SequentialReader].setMotorolaByteOrder(boolean)"
    - "[com.drew.lang.SequentialReader:java.util.Arrays].equals(byte[],byte[])"
    - "[com.drew.lang.SequentialByteArrayReader].getBytes(int)"
    - "[com.drew.lang.StreamReader].getBytes(int)"
    - "[com.drew.imaging.png.PngProcessingException].<init>(java.lang.String)"
    - "[java.util.ArrayList].<init>()"
    - "[java.util.HashSet].<init>()"
    - "[com.drew.lang.SequentialReader].getInt32()"
    - "[com.drew.imaging.png.PngChunkType].<init>(byte[])"
    - "[java.util.concurrent.ConcurrentHashMap$EntrySetView].contains(java.lang.Object)"
    - "[com.drew.lang.StreamReader].skip(long)"
    - "[com.drew.lang.SequentialByteArrayReader].skip(long)"
    - "[com.drew.imaging.png.PngChunkType].areMultipleAllowed()"
    - "[java.util.HashSet].contains(java.lang.Object)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[com.drew.imaging.png.PngChunkType].equals(java.lang.Object)"
    - "[com.drew.imaging.png.PngChunk].<init>(com.drew.imaging.png.PngChunkType,byte[])"
    - "[java.util.ArrayList].add(java.lang.Object)"
    - "[java.util.HashSet].add(java.lang.Object)"
    - "[com.drew.lang.SequentialReader].getBytes(int)"
    - "[java.util.Arrays].equals(byte[],byte[])"
    - "[java.util.Set].contains(java.lang.Object)"
    - "[com.drew.lang.SequentialReader].skip(long)"
    - "[java.util.List].add(java.lang.Object)"
    - "[java.util.Set].add(java.lang.Object)"
    functionUses: 1
    ICount: 80
    EdgeCount: 30
    BranchProfiles:
    - Branch String: "com.drew.imaging.png.PngChunkReader:81"
      Branch Sides:
      - BranchSide: "com.drew.imaging.png.PngChunkReader:85"
        BranchSideFuncs: []
      - BranchSide: "com.drew.imaging.png.PngChunkReader:84"
        BranchSideFuncs:
        - "<init>()"
    - Branch String: "com.drew.imaging.png.PngChunkReader:91"
      Branch Sides:
      - BranchSide: "com.drew.imaging.png.PngChunkReader:134"
        BranchSideFuncs: []
    - Branch String: "com.drew.imaging.png.PngChunkReader:95"
      Branch Sides:
      - BranchSide: "com.drew.imaging.png.PngChunkReader:98"
        BranchSideFuncs: []
      - BranchSide: "com.drew.imaging.png.PngChunkReader:97"
        BranchSideFuncs:
        - "<init>(byte[])"
    - Branch String: "com.drew.imaging.png.PngChunkReader:100"
      Branch Sides:
      - BranchSide: "com.drew.imaging.png.PngChunkReader:-1"
        BranchSideFuncs: []
      - BranchSide: "com.drew.imaging.png.PngChunkReader:-2"
        BranchSideFuncs: []
    - Branch String: "com.drew.imaging.png.PngChunkReader:100"
      Branch Sides:
      - BranchSide: "com.drew.imaging.png.PngChunkReader:-1"
        BranchSideFuncs: []
      - BranchSide: "com.drew.imaging.png.PngChunkReader:-2"
        BranchSideFuncs: []
    - Branch String: "com.drew.imaging.png.PngChunkReader:103"
      Branch Sides:
      - BranchSide: "com.drew.imaging.png.PngChunkReader:106"
        BranchSideFuncs:
        - "getBytes(int)"
      - BranchSide: "com.drew.imaging.png.PngChunkReader:105"
        BranchSideFuncs: []
    - Branch String: "com.drew.imaging.png.PngChunkReader:114"
      Branch Sides:
      - BranchSide: "com.drew.imaging.png.PngChunkReader:118"
        BranchSideFuncs: []
      - BranchSide: "com.drew.imaging.png.PngChunkReader:117"
        BranchSideFuncs: []
    - Branch String: "com.drew.imaging.png.PngChunkReader:114"
      Branch Sides:
      - BranchSide: "com.drew.imaging.png.PngChunkReader:118"
        BranchSideFuncs: []
      - BranchSide: "com.drew.imaging.png.PngChunkReader:117"
        BranchSideFuncs: []
    - Branch String: "com.drew.imaging.png.PngChunkReader:114"
      Branch Sides:
      - BranchSide: "com.drew.imaging.png.PngChunkReader:118"
        BranchSideFuncs: []
      - BranchSide: "com.drew.imaging.png.PngChunkReader:117"
        BranchSideFuncs: []
    - Branch String: "com.drew.imaging.png.PngChunkReader:118"
      Branch Sides:
      - BranchSide: "com.drew.imaging.png.PngChunkReader:120"
        BranchSideFuncs: []
      - BranchSide: "com.drew.imaging.png.PngChunkReader:119"
        BranchSideFuncs: []
    - Branch String: "com.drew.imaging.png.PngChunkReader:120"
      Branch Sides:
      - BranchSide: "com.drew.imaging.png.PngChunkReader:124"
        BranchSideFuncs:
        - "format(java.lang.String,java.lang.Object[])"
        - "<init>(java.lang.String)"
      - BranchSide: "com.drew.imaging.png.PngChunkReader:123"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "com.drew.imaging.png.PngChunkReader:124"
      Branch Sides:
      - BranchSide: "com.drew.imaging.png.PngChunkReader:128"
        BranchSideFuncs: []
      - BranchSide: "com.drew.imaging.png.PngChunkReader:127"
        BranchSideFuncs: []
    - Branch String: "com.drew.imaging.png.PngChunkReader:128"
      Branch Sides:
      - BranchSide: "com.drew.imaging.png.PngChunkReader:132"
        BranchSideFuncs:
        - "<init>(com.drew.imaging.png.PngChunkType,byte[])"
      - BranchSide: "com.drew.imaging.png.PngChunkReader:131"
        BranchSideFuncs:
        - "add(java.lang.Object)"
    Callsites:
    - Src: "com.drew.imaging.png.PngChunkReader:79,1"
      Dst: "[com.drew.lang.SequentialReader].setMotorolaByteOrder(boolean)"
    - Src: "com.drew.imaging.png.PngChunkReader:81,1"
      Dst: "[com.drew.lang.SequentialReader].getBytes(int)"
    - Src: "com.drew.imaging.png.PngChunkReader:81,1"
      Dst: "[java.util.Arrays].equals(byte[],byte[])"
    - Src: "com.drew.imaging.png.PngChunkReader:82,1"
      Dst: "[com.drew.imaging.png.PngProcessingException].<init>(java.lang.String)"
    - Src: "com.drew.imaging.png.PngChunkReader:88,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "com.drew.imaging.png.PngChunkReader:89,1"
      Dst: "[java.util.HashSet].<init>()"
    - Src: "com.drew.imaging.png.PngChunkReader:93,1"
      Dst: "[com.drew.lang.SequentialReader].getInt32()"
    - Src: "com.drew.imaging.png.PngChunkReader:98,1"
      Dst: "[com.drew.imaging.png.PngChunkType].<init>(byte[])"
    - Src: "com.drew.imaging.png.PngChunkReader:100,1"
      Dst: "[java.util.Set].contains(java.lang.Object)"
    - Src: "com.drew.imaging.png.PngChunkReader:107,1"
      Dst: "[com.drew.lang.SequentialReader].skip(long)"
    - Src: "com.drew.imaging.png.PngChunkReader:114,1"
      Dst: "[com.drew.imaging.png.PngChunkType].areMultipleAllowed()"
    - Src: "com.drew.imaging.png.PngChunkReader:115,1"
      Dst: "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - Src: "com.drew.imaging.png.PngChunkReader:118,1"
      Dst: "[com.drew.imaging.png.PngChunkType].equals(java.lang.Object)"
    - Src: "com.drew.imaging.png.PngChunkReader:129,1"
      Dst: "[com.drew.imaging.png.PngChunk].<init>(com.drew.imaging.png.PngChunkType,byte[])"
    - Src: "com.drew.imaging.png.PngChunkReader:129,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    - Src: "com.drew.imaging.png.PngChunkReader:132,1"
      Dst: "[java.util.Set].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions:
      - "com.drew.imaging.png.PngProcessingException"
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 27
    CyclomaticComplexity: 10
  - functionName: "[com.drew.lang.NullOutputStream].<init>()"
    functionSourceFile: "com.drew.lang.NullOutputStream"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.OutputStream].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.lang.NullOutputStream:35,1"
      Dst: "[java.io.OutputStream].<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: "[com.drew.lang.NullOutputStream].write(int)"
    functionSourceFile: "com.drew.lang.NullOutputStream"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    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: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.ReconyxHyperFire2MakernoteDescriptor].getDescription(int)"
    functionSourceFile: "com.drew.metadata.exif.makernotes.ReconyxHyperFire2MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 50
    functionLinenumberEnd: 139
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[com.drew.metadata.Directory].getString(int)"
    - "[java.text.SimpleDateFormat].<init>(java.lang.String)"
    - "[java.text.DateFormat].format(java.util.Date)"
    - "[java.text.DateFormat].parse(java.lang.String)"
    - "[com.drew.metadata.Directory].getIntArray(int)"
    - "[java.lang.Integer].valueOf(int)"
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    - "[com.drew.metadata.Directory].getDoubleObject(int)"
    - "[java.text.DecimalFormat].<init>(java.lang.String)"
    - "[java.text.Format].format(java.lang.Object)"
    - "[com.drew.metadata.Directory].getStringValue(int)"
    - "[com.drew.metadata.StringValue].toString()"
    - "[com.drew.metadata.TagDescriptor].getDescription(int)"
    functionUses: 1
    ICount: 150
    EdgeCount: 40
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.ReconyxHyperFire2MakernoteDescriptor:76"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.ReconyxHyperFire2MakernoteDescriptor:78"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.ReconyxHyperFire2MakernoteDescriptor:77"
        BranchSideFuncs:
        - "valueOf(int)"
    - Branch String: "com.drew.metadata.exif.makernotes.ReconyxHyperFire2MakernoteDescriptor:123"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.ReconyxHyperFire2MakernoteDescriptor:120"
        BranchSideFuncs:
        - "format(java.lang.Object)"
        - "getDoubleObject(int)"
        - "<init>(java.lang.String)"
    - Branch String: "com.drew.metadata.exif.makernotes.ReconyxHyperFire2MakernoteDescriptor:133"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.ReconyxHyperFire2MakernoteDescriptor:135"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.ReconyxHyperFire2MakernoteDescriptor:134"
        BranchSideFuncs:
        - "toString()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.ReconyxHyperFire2MakernoteDescriptor:54,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.ReconyxHyperFire2MakernoteDescriptor:54,1"
      Dst: "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - Src: "com.drew.metadata.exif.makernotes.ReconyxHyperFire2MakernoteDescriptor:60,1"
      Dst: "[com.drew.metadata.Directory].getString(int)"
    - Src: "com.drew.metadata.exif.makernotes.ReconyxHyperFire2MakernoteDescriptor:65,1"
      Dst: "[java.text.SimpleDateFormat].<init>(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.ReconyxHyperFire2MakernoteDescriptor:66,1"
      Dst: "[java.text.DateFormat].parse(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.ReconyxHyperFire2MakernoteDescriptor:66,1"
      Dst: "[java.text.DateFormat].format(java.util.Date)"
    - Src: "com.drew.metadata.exif.makernotes.ReconyxHyperFire2MakernoteDescriptor:75,1"
      Dst: "[com.drew.metadata.Directory].getIntArray(int)"
    - Src: "com.drew.metadata.exif.makernotes.ReconyxHyperFire2MakernoteDescriptor:78,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.drew.metadata.exif.makernotes.ReconyxHyperFire2MakernoteDescriptor:93,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    - Src: "com.drew.metadata.exif.makernotes.ReconyxHyperFire2MakernoteDescriptor:121,1"
      Dst: "[com.drew.metadata.Directory].getDoubleObject(int)"
    - Src: "com.drew.metadata.exif.makernotes.ReconyxHyperFire2MakernoteDescriptor:122,1"
      Dst: "[java.text.DecimalFormat].<init>(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.ReconyxHyperFire2MakernoteDescriptor:123,1"
      Dst: "[java.text.Format].format(java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.ReconyxHyperFire2MakernoteDescriptor:132,1"
      Dst: "[com.drew.metadata.Directory].getStringValue(int)"
    - Src: "com.drew.metadata.exif.makernotes.ReconyxHyperFire2MakernoteDescriptor:135,1"
      Dst: "[com.drew.metadata.StringValue].toString()"
    - Src: "com.drew.metadata.exif.makernotes.ReconyxHyperFire2MakernoteDescriptor:138,1"
      Dst: "[com.drew.metadata.TagDescriptor].getDescription(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: 30
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.NikonPictureControl1Descriptor].getDescription(int)"
    functionSourceFile: "com.drew.metadata.exif.makernotes.NikonPictureControl1Descriptor"
    linkageType: ""
    functionLinenumber: 18
    functionLinenumberEnd: 28
    functionDepth: 3
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.makernotes.NikonPictureControl1Descriptor].getPictureControlAdjustDescription()"
    - "[com.drew.metadata.exif.makernotes.NikonPictureControl1Descriptor].getFilterEffectDescription()"
    - "[com.drew.metadata.exif.makernotes.NikonPictureControl1Descriptor].getToningEffectDescription()"
    - "[com.drew.metadata.TagDescriptor].getDescription(int)"
    functionUses: 1
    ICount: 11
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.NikonPictureControl1Descriptor:21,1"
      Dst: "[com.drew.metadata.exif.makernotes.NikonPictureControl1Descriptor].getPictureControlAdjustDescription()"
    - Src: "com.drew.metadata.exif.makernotes.NikonPictureControl1Descriptor:23,1"
      Dst: "[com.drew.metadata.exif.makernotes.NikonPictureControl1Descriptor].getFilterEffectDescription()"
    - Src: "com.drew.metadata.exif.makernotes.NikonPictureControl1Descriptor:25,1"
      Dst: "[com.drew.metadata.exif.makernotes.NikonPictureControl1Descriptor].getToningEffectDescription()"
    - Src: "com.drew.metadata.exif.makernotes.NikonPictureControl1Descriptor:27,1"
      Dst: "[com.drew.metadata.TagDescriptor].getDescription(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: 5
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.NikonPictureControl1Descriptor].getPictureControlAdjustDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.NikonPictureControl1Descriptor"
    linkageType: ""
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.NikonPictureControl1Descriptor:33,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.NikonPictureControl1Descriptor].getFilterEffectDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.NikonPictureControl1Descriptor"
    linkageType: ""
    functionLinenumber: 42
    functionLinenumberEnd: 63
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[com.drew.metadata.TagDescriptor].getDescription(int)"
    functionUses: 1
    ICount: 16
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.NikonPictureControl1Descriptor:44"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.NikonPictureControl1Descriptor:48"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.NikonPictureControl1Descriptor:47"
        BranchSideFuncs:
        - "intValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.NikonPictureControl1Descriptor:43,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.NikonPictureControl1Descriptor:48,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.NikonPictureControl1Descriptor:62,1"
      Dst: "[com.drew.metadata.TagDescriptor].getDescription(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: 10
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.NikonPictureControl1Descriptor].getToningEffectDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.NikonPictureControl1Descriptor"
    linkageType: ""
    functionLinenumber: 67
    functionLinenumberEnd: 98
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[com.drew.metadata.TagDescriptor].getDescription(int)"
    functionUses: 1
    ICount: 21
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.NikonPictureControl1Descriptor:69"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.NikonPictureControl1Descriptor:73"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.NikonPictureControl1Descriptor:72"
        BranchSideFuncs:
        - "intValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.NikonPictureControl1Descriptor:68,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.NikonPictureControl1Descriptor:73,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.NikonPictureControl1Descriptor:97,1"
      Dst: "[com.drew.metadata.TagDescriptor].getDescription(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: 15
    CyclomaticComplexity: 1
  - functionName: "[com.drew.tools.ProcessAllImagesInFolderUtility$UnknownTagHandler$1].compare(java.util.Map$Entry,java.util.Map$Entry)"
    functionSourceFile: "com.drew.tools.ProcessAllImagesInFolderUtility$UnknownTagHandler$1"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 2
    argTypes:
    - "java.util.Map$Entry"
    - "java.util.Map$Entry"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Map$Entry].getValue()"
    - "[java.lang.Integer].compareTo(java.lang.Integer)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$UnknownTagHandler$1:733,1"
      Dst: "[java.util.Map$Entry].getValue()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$UnknownTagHandler$1:733,1"
      Dst: "[java.lang.Integer].compareTo(java.lang.Integer)"
    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: "[com.drew.tools.ProcessAllImagesInFolderUtility$UnknownTagHandler$1].compare(java.lang.Object,java.lang.Object)"
    functionSourceFile: "com.drew.tools.ProcessAllImagesInFolderUtility$UnknownTagHandler$1"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "int"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.tools.ProcessAllImagesInFolderUtility$UnknownTagHandler$1].compare(java.util.Map$Entry,java.util.Map$Entry)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility$UnknownTagHandler$1:730,1"
      Dst: "[com.drew.tools.ProcessAllImagesInFolderUtility$UnknownTagHandler$1].compare(java.util.Map$Entry,java.util.Map$Entry)"
    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: "[com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDirectory].<init>()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDirectory"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].<init>()"
    - "[com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDirectory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDirectory:125,1"
      Dst: "[com.drew.metadata.Directory].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDirectory:126,1"
      Dst: "[com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDirectory)"
    - Src: "com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDirectory:126,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDirectory].getName()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDirectory"
    linkageType: ""
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.OlympusRawInfoMakernoteDirectory"
    linkageType: ""
    functionLinenumber: 139
    functionLinenumberEnd: 141
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.webp.WebpRiffHandler].shouldAcceptRiffIdentifier(java.lang.String)"
    functionSourceFile: "com.drew.metadata.webp.WebpRiffHandler"
    linkageType: ""
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].equals(java.lang.Object)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.webp.WebpRiffHandler:58,1"
      Dst: "[java.lang.String].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: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.webp.WebpRiffHandler].shouldAcceptChunk(java.lang.String)"
    functionSourceFile: "com.drew.metadata.webp.WebpRiffHandler"
    linkageType: ""
    functionLinenumber: 62
    functionLinenumberEnd: 69
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].equals(java.lang.Object)"
    functionUses: 1
    ICount: 18
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "com.drew.metadata.webp.WebpRiffHandler:63"
      Branch Sides:
      - BranchSide: "com.drew.metadata.webp.WebpRiffHandler:63"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.webp.WebpRiffHandler:62"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.webp.WebpRiffHandler:64"
      Branch Sides:
      - BranchSide: "com.drew.metadata.webp.WebpRiffHandler:63"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.webp.WebpRiffHandler:62"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.webp.WebpRiffHandler:65"
      Branch Sides:
      - BranchSide: "com.drew.metadata.webp.WebpRiffHandler:63"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.webp.WebpRiffHandler:62"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.webp.WebpRiffHandler:66"
      Branch Sides:
      - BranchSide: "com.drew.metadata.webp.WebpRiffHandler:63"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.webp.WebpRiffHandler:62"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.webp.WebpRiffHandler:67"
      Branch Sides:
      - BranchSide: "com.drew.metadata.webp.WebpRiffHandler:63"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
      - BranchSide: "com.drew.metadata.webp.WebpRiffHandler:62"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.webp.WebpRiffHandler:68"
      Branch Sides:
      - BranchSide: "com.drew.metadata.webp.WebpRiffHandler:62"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.webp.WebpRiffHandler:63,1"
      Dst: "[java.lang.String].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: 7
  - functionName: "[com.drew.metadata.webp.WebpRiffHandler].shouldAcceptList(java.lang.String)"
    functionSourceFile: "com.drew.metadata.webp.WebpRiffHandler"
    linkageType: ""
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    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: "[com.drew.metadata.webp.WebpRiffHandler].processChunk(java.lang.String,byte[])"
    functionSourceFile: "com.drew.metadata.webp.WebpRiffHandler"
    linkageType: ""
    functionLinenumber: 78
    functionLinenumberEnd: 171
    functionDepth: 8
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "byte[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.webp.WebpDirectory].<init>()"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[com.drew.metadata.exif.ExifReader].startsWithJpegExifPreamble(byte[])"
    - "[com.drew.lang.ByteArrayReader].<init>(byte[],int)"
    - "[java.lang.String].length()"
    - "[com.drew.lang.ByteArrayReader].<init>(byte[])"
    - "[com.drew.metadata.exif.ExifReader].<init>()"
    - "[com.drew.metadata.exif.ExifReader].extract(com.drew.lang.RandomAccessReader,com.drew.metadata.Metadata)"
    - "[com.drew.metadata.icc.IccReader].<init>()"
    - "[com.drew.metadata.icc.IccReader].extract(com.drew.lang.RandomAccessReader,com.drew.metadata.Metadata)"
    - "[com.drew.metadata.xmp.XmpReader].<init>()"
    - "[com.drew.metadata.xmp.XmpReader].extract(byte[],com.drew.metadata.Metadata)"
    - "[com.drew.lang.RandomAccessReader].setMotorolaByteOrder(boolean)"
    - "[com.drew.lang.RandomAccessReader].getBit(int)"
    - "[com.drew.lang.RandomAccessReader].getInt24(int)"
    - "[com.drew.metadata.Directory].setInt(int,int)"
    - "[com.drew.metadata.Directory].setBoolean(int,boolean)"
    - "[com.drew.metadata.Metadata].addDirectory(com.drew.metadata.Directory)"
    - "[com.drew.metadata.Directory].addError(java.lang.String)"
    - "[java.io.InvalidClassException].getMessage()"
    - "[com.drew.lang.RandomAccessReader].getInt8(int)"
    - "[com.drew.lang.RandomAccessReader].getUInt8(int)"
    - "[java.lang.Throwable].getMessage()"
    - "[java.nio.file.FileSystemException].getMessage()"
    - "[com.drew.lang.RandomAccessReader].getUInt16(int)"
    functionUses: 2
    ICount: 134
    EdgeCount: 59
    BranchProfiles:
    - Branch String: "com.drew.metadata.webp.WebpRiffHandler:80"
      Branch Sides:
      - BranchSide: "com.drew.metadata.webp.WebpRiffHandler:78"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.webp.WebpRiffHandler:83"
      Branch Sides:
      - BranchSide: "com.drew.metadata.webp.WebpRiffHandler:85"
        BranchSideFuncs:
        - "length()"
        - "<init>(byte[],int)"
      - BranchSide: "com.drew.metadata.webp.WebpRiffHandler:84"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.webp.WebpRiffHandler:80"
      Branch Sides:
      - BranchSide: "com.drew.metadata.webp.WebpRiffHandler:88"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.webp.WebpRiffHandler:89"
      Branch Sides:
      - BranchSide: "com.drew.metadata.webp.WebpRiffHandler:91"
        BranchSideFuncs:
        - "extract(byte[],com.drew.metadata.Metadata)"
        - "<init>()"
      - BranchSide: "com.drew.metadata.webp.WebpRiffHandler:90"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "com.drew.metadata.webp.WebpRiffHandler:91"
      Branch Sides:
      - BranchSide: "com.drew.metadata.webp.WebpRiffHandler:91"
        BranchSideFuncs:
        - "getInt24(int)"
        - "setBoolean(int,boolean)"
        - "getBit(int)"
      - BranchSide: "com.drew.metadata.webp.WebpRiffHandler:90"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "com.drew.metadata.webp.WebpRiffHandler:91"
      Branch Sides:
      - BranchSide: "com.drew.metadata.webp.WebpRiffHandler:91"
        BranchSideFuncs:
        - "getInt24(int)"
        - "setBoolean(int,boolean)"
        - "getBit(int)"
      - BranchSide: "com.drew.metadata.webp.WebpRiffHandler:90"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "com.drew.metadata.webp.WebpRiffHandler:91"
      Branch Sides:
      - BranchSide: "com.drew.metadata.webp.WebpRiffHandler:91"
        BranchSideFuncs:
        - "getInt24(int)"
        - "setBoolean(int,boolean)"
        - "getBit(int)"
      - BranchSide: "com.drew.metadata.webp.WebpRiffHandler:90"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "com.drew.metadata.webp.WebpRiffHandler:91"
      Branch Sides:
      - BranchSide: "com.drew.metadata.webp.WebpRiffHandler:91"
        BranchSideFuncs:
        - "getInt24(int)"
        - "setBoolean(int,boolean)"
        - "getBit(int)"
      - BranchSide: "com.drew.metadata.webp.WebpRiffHandler:90"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "com.drew.metadata.webp.WebpRiffHandler:126"
      Branch Sides:
      - BranchSide: "com.drew.metadata.webp.WebpRiffHandler:128"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.webp.WebpRiffHandler:127"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.webp.WebpRiffHandler:91"
      Branch Sides:
      - BranchSide: "com.drew.metadata.webp.WebpRiffHandler:170"
        BranchSideFuncs:
        - "getInt24(int)"
        - "setBoolean(int,boolean)"
        - "getBit(int)"
      - BranchSide: "com.drew.metadata.webp.WebpRiffHandler:169"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.webp.WebpRiffHandler:91"
      Branch Sides:
      - BranchSide: "com.drew.metadata.webp.WebpRiffHandler:170"
        BranchSideFuncs:
        - "getInt24(int)"
        - "setBoolean(int,boolean)"
        - "getBit(int)"
      - BranchSide: "com.drew.metadata.webp.WebpRiffHandler:169"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.webp.WebpRiffHandler:154"
      Branch Sides:
      - BranchSide: "com.drew.metadata.webp.WebpRiffHandler:157"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.webp.WebpRiffHandler:156"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.webp.WebpRiffHandler:155"
      Branch Sides:
      - BranchSide: "com.drew.metadata.webp.WebpRiffHandler:157"
        BranchSideFuncs:
        - "getUInt8(int)"
      - BranchSide: "com.drew.metadata.webp.WebpRiffHandler:156"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.webp.WebpRiffHandler:156"
      Branch Sides:
      - BranchSide: "com.drew.metadata.webp.WebpRiffHandler:158"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.webp.WebpRiffHandler:157"
        BranchSideFuncs:
        - "addDirectory(com.drew.metadata.Directory)"
        - "getMessage()"
        - "getUInt16(int)"
        - "addError(java.lang.String)"
        - "setInt(int,int)"
    Callsites:
    - Src: "com.drew.metadata.webp.WebpRiffHandler:79,1"
      Dst: "[com.drew.metadata.webp.WebpDirectory].<init>()"
    - Src: "com.drew.metadata.webp.WebpRiffHandler:80,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "com.drew.metadata.webp.WebpRiffHandler:83,1"
      Dst: "[com.drew.metadata.exif.ExifReader].startsWithJpegExifPreamble(byte[])"
    - Src: "com.drew.metadata.webp.WebpRiffHandler:84,1"
      Dst: "[java.lang.String].length()"
    - Src: "com.drew.metadata.webp.WebpRiffHandler:84,1"
      Dst: "[com.drew.lang.ByteArrayReader].<init>(byte[],int)"
    - Src: "com.drew.metadata.webp.WebpRiffHandler:85,1"
      Dst: "[com.drew.lang.ByteArrayReader].<init>(byte[])"
    - Src: "com.drew.metadata.webp.WebpRiffHandler:86,1"
      Dst: "[com.drew.metadata.exif.ExifReader].<init>()"
    - Src: "com.drew.metadata.webp.WebpRiffHandler:86,1"
      Dst: "[com.drew.metadata.exif.ExifReader].extract(com.drew.lang.RandomAccessReader,com.drew.metadata.Metadata)"
    - Src: "com.drew.metadata.webp.WebpRiffHandler:88,1"
      Dst: "[com.drew.metadata.icc.IccReader].<init>()"
    - Src: "com.drew.metadata.webp.WebpRiffHandler:88,1"
      Dst: "[com.drew.metadata.icc.IccReader].extract(com.drew.lang.RandomAccessReader,com.drew.metadata.Metadata)"
    - Src: "com.drew.metadata.webp.WebpRiffHandler:90,1"
      Dst: "[com.drew.metadata.xmp.XmpReader].<init>()"
    - Src: "com.drew.metadata.webp.WebpRiffHandler:90,1"
      Dst: "[com.drew.metadata.xmp.XmpReader].extract(byte[],com.drew.metadata.Metadata)"
    - Src: "com.drew.metadata.webp.WebpRiffHandler:93,1"
      Dst: "[com.drew.lang.RandomAccessReader].setMotorolaByteOrder(boolean)"
    - Src: "com.drew.metadata.webp.WebpRiffHandler:98,1"
      Dst: "[com.drew.lang.RandomAccessReader].getBit(int)"
    - Src: "com.drew.metadata.webp.WebpRiffHandler:105,1"
      Dst: "[com.drew.lang.RandomAccessReader].getInt24(int)"
    - Src: "com.drew.metadata.webp.WebpRiffHandler:108,1"
      Dst: "[com.drew.metadata.Directory].setInt(int,int)"
    - Src: "com.drew.metadata.webp.WebpRiffHandler:110,1"
      Dst: "[com.drew.metadata.Directory].setBoolean(int,boolean)"
    - Src: "com.drew.metadata.webp.WebpRiffHandler:113,1"
      Dst: "[com.drew.metadata.Metadata].addDirectory(com.drew.metadata.Directory)"
    - Src: "com.drew.metadata.webp.WebpRiffHandler:116,1"
      Dst: "[java.lang.Throwable].getMessage()"
    - Src: "com.drew.metadata.webp.WebpRiffHandler:116,1"
      Dst: "[com.drew.metadata.Directory].addError(java.lang.String)"
    - Src: "com.drew.metadata.webp.WebpRiffHandler:126,1"
      Dst: "[com.drew.lang.RandomAccessReader].getInt8(int)"
    - Src: "com.drew.metadata.webp.WebpRiffHandler:128,1"
      Dst: "[com.drew.lang.RandomAccessReader].getUInt8(int)"
    - Src: "com.drew.metadata.webp.WebpRiffHandler:158,1"
      Dst: "[com.drew.lang.RandomAccessReader].getUInt16(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: 30
    CyclomaticComplexity: 13
  - functionName: "[com.drew.metadata.webp.WebpRiffHandler].addError(java.lang.String)"
    functionSourceFile: "com.drew.metadata.webp.WebpRiffHandler"
    linkageType: ""
    functionLinenumber: 174
    functionLinenumberEnd: 179
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.webp.WebpDirectory].<init>()"
    - "[com.drew.metadata.Directory].addError(java.lang.String)"
    - "[com.drew.metadata.Metadata].addDirectory(com.drew.metadata.Directory)"
    functionUses: 4
    ICount: 8
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.webp.WebpRiffHandler:175,1"
      Dst: "[com.drew.metadata.webp.WebpDirectory].<init>()"
    - Src: "com.drew.metadata.webp.WebpRiffHandler:176,1"
      Dst: "[com.drew.metadata.Directory].addError(java.lang.String)"
    - Src: "com.drew.metadata.webp.WebpRiffHandler:177,1"
      Dst: "[com.drew.metadata.Metadata].addDirectory(com.drew.metadata.Directory)"
    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: "[com.drew.imaging.riff.RiffProcessingException].<init>(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "com.drew.imaging.riff.RiffProcessingException"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.imaging.ImageProcessingException].<init>(java.lang.String,java.lang.Throwable)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.riff.RiffProcessingException:43,1"
      Dst: "[com.drew.imaging.ImageProcessingException].<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: "[com.drew.imaging.riff.RiffProcessingException].<init>(java.lang.Throwable)"
    functionSourceFile: "com.drew.imaging.riff.RiffProcessingException"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.imaging.ImageProcessingException].<init>(java.lang.Throwable)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.riff.RiffProcessingException:48,1"
      Dst: "[com.drew.imaging.ImageProcessingException].<init>(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: "[com.drew.metadata.exif.makernotes.KyoceraMakernoteDirectory].<init>()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.KyoceraMakernoteDirectory"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].<init>()"
    - "[com.drew.metadata.exif.makernotes.KyoceraMakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.KyoceraMakernoteDirectory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.KyoceraMakernoteDirectory:49,1"
      Dst: "[com.drew.metadata.Directory].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.KyoceraMakernoteDirectory:50,1"
      Dst: "[com.drew.metadata.exif.makernotes.KyoceraMakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.KyoceraMakernoteDirectory)"
    - Src: "com.drew.metadata.exif.makernotes.KyoceraMakernoteDirectory:50,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.exif.makernotes.KyoceraMakernoteDirectory].getName()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.KyoceraMakernoteDirectory"
    linkageType: ""
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.exif.makernotes.KyoceraMakernoteDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.KyoceraMakernoteDirectory"
    linkageType: ""
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.xmp.XmpDirectory].getName()"
    functionSourceFile: "com.drew.metadata.xmp.XmpDirectory"
    linkageType: ""
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.xmp.XmpDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.xmp.XmpDirectory"
    linkageType: ""
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.xmp.XmpDirectory].getXmpProperties()"
    functionSourceFile: "com.drew.metadata.xmp.XmpDirectory"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.util.Map"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.HashMap].<init>()"
    - "[com.adobe.internal.xmp.options.IteratorOptions].<init>()"
    - "[com.adobe.internal.xmp.options.IteratorOptions].setJustLeafnodes(boolean)"
    - "[com.adobe.internal.xmp.XMPMeta].iterator(com.adobe.internal.xmp.options.IteratorOptions)"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[com.adobe.internal.xmp.properties.XMPPropertyInfo].getPath()"
    - "[com.adobe.internal.xmp.properties.XMPPropertyInfo].getValue()"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    - "[java.util.Collections].unmodifiableMap(java.util.Map)"
    functionUses: 0
    ICount: 24
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.metadata.xmp.XmpDirectory:92"
      Branch Sides:
      - BranchSide: "com.drew.metadata.xmp.XmpDirectory:107"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.xmp.XmpDirectory:96"
      Branch Sides:
      - BranchSide: "com.drew.metadata.xmp.XmpDirectory:105"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.xmp.XmpDirectory:104"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.xmp.XmpDirectory:100"
      Branch Sides:
      - BranchSide: "com.drew.metadata.xmp.XmpDirectory:103"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.xmp.XmpDirectory:102"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.xmp.XmpDirectory:100"
      Branch Sides:
      - BranchSide: "com.drew.metadata.xmp.XmpDirectory:103"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.xmp.XmpDirectory:102"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.xmp.XmpDirectory:90,1"
      Dst: "[java.util.HashMap].<init>()"
    - Src: "com.drew.metadata.xmp.XmpDirectory:95,1"
      Dst: "[com.adobe.internal.xmp.options.IteratorOptions].<init>()"
    - Src: "com.drew.metadata.xmp.XmpDirectory:95,1"
      Dst: "[com.adobe.internal.xmp.options.IteratorOptions].setJustLeafnodes(boolean)"
    - Src: "com.drew.metadata.xmp.XmpDirectory:96,1"
      Dst: "[com.adobe.internal.xmp.XMPMeta].iterator(com.adobe.internal.xmp.options.IteratorOptions)"
    - Src: "com.drew.metadata.xmp.XmpDirectory:96,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.drew.metadata.xmp.XmpDirectory:97,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.drew.metadata.xmp.XmpDirectory:98,1"
      Dst: "[com.adobe.internal.xmp.properties.XMPPropertyInfo].getPath()"
    - Src: "com.drew.metadata.xmp.XmpDirectory:99,1"
      Dst: "[com.adobe.internal.xmp.properties.XMPPropertyInfo].getValue()"
    - Src: "com.drew.metadata.xmp.XmpDirectory:101,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    - Src: "com.drew.metadata.xmp.XmpDirectory:108,1"
      Dst: "[java.util.Collections].unmodifiableMap(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: 10
    CyclomaticComplexity: 5
  - functionName: "[com.drew.metadata.photoshop.DuckyDirectory].<init>()"
    functionSourceFile: "com.drew.metadata.photoshop.DuckyDirectory"
    linkageType: ""
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].<init>()"
    - "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 1
    ICount: 6
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.photoshop.DuckyDirectory:52,1"
      Dst: "[com.drew.metadata.Directory].<init>()"
    - Src: "com.drew.metadata.photoshop.DuckyDirectory:53,1"
      Dst: "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    - Src: "com.drew.metadata.photoshop.DuckyDirectory:53,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.photoshop.DuckyDirectory].getName()"
    functionSourceFile: "com.drew.metadata.photoshop.DuckyDirectory"
    linkageType: ""
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.photoshop.DuckyDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.photoshop.DuckyDirectory"
    linkageType: ""
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.tools.ProcessAllImagesInFolderUtility].<init>()"
    functionSourceFile: "com.drew.tools.ProcessAllImagesInFolderUtility"
    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: "com.drew.tools.ProcessAllImagesInFolderUtility:50,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: "[com.drew.tools.ProcessAllImagesInFolderUtility].printUsage()"
    functionSourceFile: "com.drew.tools.ProcessAllImagesInFolderUtility"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.PrintStream].println(java.lang.String)"
    - "[java.io.PrintStream].println()"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility:112,1"
      Dst: "[java.io.PrintStream].println(java.lang.String)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility:113,1"
      Dst: "[java.io.PrintStream].println()"
    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: "[com.drew.tools.ProcessAllImagesInFolderUtility].processDirectory(java.io.File,com.drew.tools.ProcessAllImagesInFolderUtility$FileHandler,java.lang.String,java.io.PrintStream)"
    functionSourceFile: "com.drew.tools.ProcessAllImagesInFolderUtility"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 15
    returnType: "void"
    argCount: 4
    argTypes:
    - "java.io.File"
    - "com.drew.tools.ProcessAllImagesInFolderUtility$FileHandler"
    - "java.lang.String"
    - "java.io.PrintStream"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.tools.ProcessAllImagesInFolderUtility$FileHandler].onStartingDirectory(java.io.File)"
    - "[java.io.File].list()"
    - "[java.util.Arrays].sort(java.lang.Object[])"
    - "[java.io.File].<init>(java.io.File,java.lang.String)"
    - "[java.io.File].isDirectory()"
    - "[java.lang.String].length()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    - "[com.drew.tools.ProcessAllImagesInFolderUtility].processDirectory(java.io.File,com.drew.tools.ProcessAllImagesInFolderUtility$FileHandler,java.lang.String,java.io.PrintStream)"
    - "[com.drew.tools.ProcessAllImagesInFolderUtility$FileHandler].shouldProcess(java.io.File)"
    - "[com.drew.tools.ProcessAllImagesInFolderUtility$FileHandler].onBeforeExtraction(java.io.File,java.io.PrintStream,java.lang.String)"
    - "[com.drew.imaging.ImageMetadataReader].readMetadata(java.io.File)"
    - "[com.drew.tools.ProcessAllImagesInFolderUtility$FileHandler].onExtractionError(java.io.File,java.lang.Throwable,java.io.PrintStream)"
    - "[com.drew.tools.ProcessAllImagesInFolderUtility$FileHandler].onExtractionSuccess(java.io.File,com.drew.metadata.Metadata,java.lang.String,java.io.PrintStream)"
    functionUses: 0
    ICount: 41
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.tools.ProcessAllImagesInFolderUtility:123"
      Branch Sides:
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility:128"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility:127"
        BranchSideFuncs: []
    - Branch String: "com.drew.tools.ProcessAllImagesInFolderUtility:130"
      Branch Sides:
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility:151"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility:150"
        BranchSideFuncs: []
    - Branch String: "com.drew.tools.ProcessAllImagesInFolderUtility:133"
      Branch Sides:
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility:135"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility:134"
        BranchSideFuncs: []
    - Branch String: "com.drew.tools.ProcessAllImagesInFolderUtility:134"
      Branch Sides:
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility:134"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility:133"
        BranchSideFuncs: []
    - Branch String: "com.drew.tools.ProcessAllImagesInFolderUtility:135"
      Branch Sides:
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility:128"
        BranchSideFuncs: []
      - BranchSide: "com.drew.tools.ProcessAllImagesInFolderUtility:127"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility:119,1"
      Dst: "[com.drew.tools.ProcessAllImagesInFolderUtility$FileHandler].onStartingDirectory(java.io.File)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility:121,1"
      Dst: "[java.io.File].list()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility:128,1"
      Dst: "[java.util.Arrays].sort(java.lang.Object[])"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility:131,1"
      Dst: "[java.io.File].<init>(java.io.File,java.lang.String)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility:133,1"
      Dst: "[java.io.File].isDirectory()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility:134,1"
      Dst: "[java.lang.String].length()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility:134,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility:134,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility:134,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility:134,1"
      Dst: "[com.drew.tools.ProcessAllImagesInFolderUtility].processDirectory(java.io.File,com.drew.tools.ProcessAllImagesInFolderUtility$FileHandler,java.lang.String,java.io.PrintStream)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility:135,1"
      Dst: "[com.drew.tools.ProcessAllImagesInFolderUtility$FileHandler].shouldProcess(java.io.File)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility:137,1"
      Dst: "[com.drew.tools.ProcessAllImagesInFolderUtility$FileHandler].onBeforeExtraction(java.io.File,java.io.PrintStream,java.lang.String)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility:142,1"
      Dst: "[com.drew.imaging.ImageMetadataReader].readMetadata(java.io.File)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility:144,1"
      Dst: "[com.drew.tools.ProcessAllImagesInFolderUtility$FileHandler].onExtractionError(java.io.File,java.lang.Throwable,java.io.PrintStream)"
    - Src: "com.drew.tools.ProcessAllImagesInFolderUtility:148,1"
      Dst: "[com.drew.tools.ProcessAllImagesInFolderUtility$FileHandler].onExtractionSuccess(java.io.File,com.drew.metadata.Metadata,java.lang.String,java.io.PrintStream)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 15
    CyclomaticComplexity: 5
  - functionName: "[com.drew.imaging.ImageProcessingException].<init>(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "com.drew.imaging.ImageProcessingException"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.CompoundException].<init>(java.lang.String,java.lang.Throwable)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.ImageProcessingException:42,1"
      Dst: "[com.drew.lang.CompoundException].<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: "[com.drew.lang.RandomAccessStreamReader].<init>(java.io.InputStream,int)"
    functionSourceFile: "com.drew.lang.RandomAccessStreamReader"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.io.InputStream"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.RandomAccessStreamReader].<init>(java.io.InputStream,int,long)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.lang.RandomAccessStreamReader:53,1"
      Dst: "[com.drew.lang.RandomAccessStreamReader].<init>(java.io.InputStream,int,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: "[com.drew.lang.RandomAccessStreamReader].getLength()"
    functionSourceFile: "com.drew.lang.RandomAccessStreamReader"
    linkageType: ""
    functionLinenumber: 76
    functionLinenumberEnd: 84
    functionDepth: 1
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.RandomAccessStreamReader].isValidIndex(int,int)"
    - "[java.lang.AssertionError].<init>()"
    functionUses: 7
    ICount: 16
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.drew.lang.RandomAccessStreamReader:77"
      Branch Sides:
      - BranchSide: "com.drew.lang.RandomAccessStreamReader:81"
        BranchSideFuncs: []
      - BranchSide: "com.drew.lang.RandomAccessStreamReader:80"
        BranchSideFuncs:
        - "<init>()"
        - "isValidIndex(int,int)"
    - Branch String: "com.drew.lang.RandomAccessStreamReader:82"
      Branch Sides:
      - BranchSide: "com.drew.lang.RandomAccessStreamReader:83"
        BranchSideFuncs: []
      - BranchSide: "com.drew.lang.RandomAccessStreamReader:82"
        BranchSideFuncs: []
    - Branch String: "com.drew.lang.RandomAccessStreamReader:82"
      Branch Sides:
      - BranchSide: "com.drew.lang.RandomAccessStreamReader:83"
        BranchSideFuncs: []
      - BranchSide: "com.drew.lang.RandomAccessStreamReader:82"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.lang.RandomAccessStreamReader:81,1"
      Dst: "[com.drew.lang.RandomAccessStreamReader].isValidIndex(int,int)"
    - Src: "com.drew.lang.RandomAccessStreamReader:82,1"
      Dst: "[java.lang.AssertionError].<init>()"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[com.drew.lang.RandomAccessStreamReader].toUnshiftedOffset(int)"
    functionSourceFile: "com.drew.lang.RandomAccessStreamReader"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 1
    argTypes:
    - "int"
    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: "[com.drew.lang.RandomAccessStreamReader].getByte(int)"
    functionSourceFile: "com.drew.lang.RandomAccessStreamReader"
    linkageType: ""
    functionLinenumber: 177
    functionLinenumberEnd: 185
    functionDepth: 0
    returnType: "byte"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.AssertionError].<init>()"
    - "[java.util.ArrayList].get(int)"
    functionUses: 67
    ICount: 17
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.drew.lang.RandomAccessStreamReader:178"
      Branch Sides:
      - BranchSide: "com.drew.lang.RandomAccessStreamReader:179"
        BranchSideFuncs:
        - "get(int)"
    - Branch String: "com.drew.lang.RandomAccessStreamReader:178"
      Branch Sides:
      - BranchSide: "com.drew.lang.RandomAccessStreamReader:179"
        BranchSideFuncs:
        - "get(int)"
    Callsites:
    - Src: "com.drew.lang.RandomAccessStreamReader:178,1"
      Dst: "[java.lang.AssertionError].<init>()"
    - Src: "com.drew.lang.RandomAccessStreamReader:182,1"
      Dst: "[java.util.ArrayList].get(int)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.mp4.Mp4ContainerTypes].<init>()"
    functionSourceFile: "com.drew.metadata.mp4.Mp4ContainerTypes"
    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: "com.drew.metadata.mp4.Mp4ContainerTypes:26,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: "[com.drew.metadata.exif.ExifImageDirectory].<init>()"
    functionSourceFile: "com.drew.metadata.exif.ExifImageDirectory"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.ExifDirectoryBase].<init>()"
    - "[com.drew.metadata.exif.ExifImageDescriptor].<init>(com.drew.metadata.exif.ExifImageDirectory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.ExifImageDirectory:47,1"
      Dst: "[com.drew.metadata.exif.ExifDirectoryBase].<init>()"
    - Src: "com.drew.metadata.exif.ExifImageDirectory:48,1"
      Dst: "[com.drew.metadata.exif.ExifImageDescriptor].<init>(com.drew.metadata.exif.ExifImageDirectory)"
    - Src: "com.drew.metadata.exif.ExifImageDirectory:48,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.exif.ExifImageDirectory].getName()"
    functionSourceFile: "com.drew.metadata.exif.ExifImageDirectory"
    linkageType: ""
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.exif.ExifImageDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.exif.ExifImageDirectory"
    linkageType: ""
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.plist.BplistReader$PropertyListResults].toXML()"
    functionSourceFile: "com.drew.metadata.plist.BplistReader$PropertyListResults"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[com.drew.metadata.plist.BplistReader$PropertyListResults].getEntrySet()"
    - "[java.util.Set].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[com.drew.metadata.plist.BplistReader$PropertyListResults].getObjects()"
    - "[java.util.Map$Entry].getKey()"
    - "[java.lang.Byte].byteValue()"
    - "[java.util.List].get(int)"
    - "[java.util.Map$Entry].getValue()"
    - "[java.lang.Object].toString()"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 0
    ICount: 39
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.metadata.plist.BplistReader$PropertyListResults:209"
      Branch Sides:
      - BranchSide: "com.drew.metadata.plist.BplistReader$PropertyListResults:224"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.plist.BplistReader$PropertyListResults:223"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.plist.BplistReader$PropertyListResults:212"
      Branch Sides:
      - BranchSide: "com.drew.metadata.plist.BplistReader$PropertyListResults:221"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.plist.BplistReader$PropertyListResults:220"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.plist.BplistReader$PropertyListResults:202,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.plist.BplistReader$PropertyListResults:203,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.plist.BplistReader$PropertyListResults:207,1"
      Dst: "[com.drew.metadata.plist.BplistReader$PropertyListResults].getEntrySet()"
    - Src: "com.drew.metadata.plist.BplistReader$PropertyListResults:212,1"
      Dst: "[java.util.Set].iterator()"
    - Src: "com.drew.metadata.plist.BplistReader$PropertyListResults:212,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.drew.metadata.plist.BplistReader$PropertyListResults:212,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.drew.metadata.plist.BplistReader$PropertyListResults:214,1"
      Dst: "[com.drew.metadata.plist.BplistReader$PropertyListResults].getObjects()"
    - Src: "com.drew.metadata.plist.BplistReader$PropertyListResults:214,1"
      Dst: "[java.util.Map$Entry].getKey()"
    - Src: "com.drew.metadata.plist.BplistReader$PropertyListResults:214,1"
      Dst: "[java.lang.Byte].byteValue()"
    - Src: "com.drew.metadata.plist.BplistReader$PropertyListResults:214,1"
      Dst: "[java.util.List].get(int)"
    - Src: "com.drew.metadata.plist.BplistReader$PropertyListResults:217,1"
      Dst: "[java.util.Map$Entry].getValue()"
    - Src: "com.drew.metadata.plist.BplistReader$PropertyListResults:217,1"
      Dst: "[java.lang.Object].toString()"
    - Src: "com.drew.metadata.plist.BplistReader$PropertyListResults:226,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: 6
    CyclomaticComplexity: 3
  - functionName: "[com.drew.metadata.exif.makernotes.KyoceraMakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.KyoceraMakernoteDirectory)"
    functionSourceFile: "com.drew.metadata.exif.makernotes.KyoceraMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.exif.makernotes.KyoceraMakernoteDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.KyoceraMakernoteDescriptor:46,1"
      Dst: "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    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: "[com.drew.metadata.exif.makernotes.KyoceraMakernoteDescriptor].getDescription(int)"
    functionSourceFile: "com.drew.metadata.exif.makernotes.KyoceraMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 52
    functionLinenumberEnd: 58
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.makernotes.KyoceraMakernoteDescriptor].getProprietaryThumbnailDataDescription()"
    - "[com.drew.metadata.TagDescriptor].getDescription(int)"
    functionUses: 1
    ICount: 7
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.KyoceraMakernoteDescriptor:55,1"
      Dst: "[com.drew.metadata.exif.makernotes.KyoceraMakernoteDescriptor].getProprietaryThumbnailDataDescription()"
    - Src: "com.drew.metadata.exif.makernotes.KyoceraMakernoteDescriptor:57,1"
      Dst: "[com.drew.metadata.TagDescriptor].getDescription(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: 3
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.KyoceraMakernoteDescriptor].getProprietaryThumbnailDataDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.KyoceraMakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getByteLengthDescription(int)"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.KyoceraMakernoteDescriptor:64,1"
      Dst: "[com.drew.metadata.TagDescriptor].getByteLengthDescription(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: "[com.drew.metadata.file.FileSystemDescriptor].getDescription(int)"
    functionSourceFile: "com.drew.metadata.file.FileSystemDescriptor"
    linkageType: ""
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.file.FileSystemDescriptor].getFileSizeDescription()"
    - "[com.drew.metadata.TagDescriptor].getDescription(int)"
    functionUses: 1
    ICount: 7
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.file.FileSystemDescriptor:46,1"
      Dst: "[com.drew.metadata.file.FileSystemDescriptor].getFileSizeDescription()"
    - Src: "com.drew.metadata.file.FileSystemDescriptor:48,1"
      Dst: "[com.drew.metadata.TagDescriptor].getDescription(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: 3
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.file.FileSystemDescriptor].getFileSizeDescription()"
    functionSourceFile: "com.drew.metadata.file.FileSystemDescriptor"
    linkageType: ""
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getLongObject(int)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.Long].longValue()"
    - "[java.lang.Long].toString(long)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 14
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "com.drew.metadata.file.FileSystemDescriptor:57"
      Branch Sides:
      - BranchSide: "com.drew.metadata.file.FileSystemDescriptor:60"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.file.FileSystemDescriptor:59"
        BranchSideFuncs:
        - "<init>()"
        - "append(java.lang.String)"
        - "toString()"
        - "toString(long)"
        - "longValue()"
    Callsites:
    - Src: "com.drew.metadata.file.FileSystemDescriptor:55,1"
      Dst: "[com.drew.metadata.Directory].getLongObject(int)"
    - Src: "com.drew.metadata.file.FileSystemDescriptor:60,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.file.FileSystemDescriptor:60,1"
      Dst: "[java.lang.Long].longValue()"
    - Src: "com.drew.metadata.file.FileSystemDescriptor:60,1"
      Dst: "[java.lang.Long].toString(long)"
    - Src: "com.drew.metadata.file.FileSystemDescriptor:60,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.file.FileSystemDescriptor:60,1"
      Dst: "[java.lang.StringBuilder].toString()"
    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: "[com.drew.metadata.exif.makernotes.CanonMakernoteDirectory$FocalLength].<init>()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CanonMakernoteDirectory$FocalLength"
    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: "com.drew.metadata.exif.makernotes.CanonMakernoteDirectory$FocalLength:280,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: "[com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.CasioType1MakernoteDirectory)"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.exif.makernotes.CasioType1MakernoteDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor:39,1"
      Dst: "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    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: "[com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor].getDescription(int)"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 45
    functionLinenumberEnd: 73
    functionDepth: 3
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor].getRecordingModeDescription()"
    - "[com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor].getQualityDescription()"
    - "[com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor].getFocusingModeDescription()"
    - "[com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor].getFlashModeDescription()"
    - "[com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor].getFlashIntensityDescription()"
    - "[com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor].getObjectDistanceDescription()"
    - "[com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor].getWhiteBalanceDescription()"
    - "[com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor].getDigitalZoomDescription()"
    - "[com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor].getSharpnessDescription()"
    - "[com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor].getContrastDescription()"
    - "[com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor].getSaturationDescription()"
    - "[com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor].getCcdSensitivityDescription()"
    - "[com.drew.metadata.TagDescriptor].getDescription(int)"
    functionUses: 1
    ICount: 29
    EdgeCount: 13
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor:48,1"
      Dst: "[com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor].getRecordingModeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor:50,1"
      Dst: "[com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor].getQualityDescription()"
    - Src: "com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor:52,1"
      Dst: "[com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor].getFocusingModeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor:54,1"
      Dst: "[com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor].getFlashModeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor:56,1"
      Dst: "[com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor].getFlashIntensityDescription()"
    - Src: "com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor:58,1"
      Dst: "[com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor].getObjectDistanceDescription()"
    - Src: "com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor:60,1"
      Dst: "[com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor].getWhiteBalanceDescription()"
    - Src: "com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor:62,1"
      Dst: "[com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor].getDigitalZoomDescription()"
    - Src: "com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor:64,1"
      Dst: "[com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor].getSharpnessDescription()"
    - Src: "com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor:66,1"
      Dst: "[com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor].getContrastDescription()"
    - Src: "com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor:68,1"
      Dst: "[com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor].getSaturationDescription()"
    - Src: "com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor:70,1"
      Dst: "[com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor].getCcdSensitivityDescription()"
    - Src: "com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor:72,1"
      Dst: "[com.drew.metadata.TagDescriptor].getDescription(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: 14
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor].getRecordingModeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,java.lang.String[])"
    functionUses: 1
    ICount: 9
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor:199,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,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: "[com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor].getQualityDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 192
    functionLinenumberEnd: 194
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,java.lang.String[])"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor:193,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,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: "[com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor].getFocusingModeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 186
    functionLinenumberEnd: 188
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,java.lang.String[])"
    functionUses: 1
    ICount: 8
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor:187,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,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: "[com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor].getFlashModeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 180
    functionLinenumberEnd: 182
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,java.lang.String[])"
    functionUses: 1
    ICount: 8
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor:181,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,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: "[com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor].getFlashIntensityDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 163
    functionLinenumberEnd: 175
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 18
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor:166"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor:169"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor:168"
        BranchSideFuncs:
        - "intValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor:164,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor:169,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor:174,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor:174,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor:174,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor:174,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: 7
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor].getObjectDistanceDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 156
    functionLinenumberEnd: 159
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[com.drew.metadata.TagDescriptor].getFocalLengthDescription(double)"
    - "[java.lang.Integer].intValue()"
    functionUses: 1
    ICount: 11
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor:158"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor:156"
        BranchSideFuncs:
        - "getFocalLengthDescription(double)"
        - "intValue()"
        - "getInteger(int)"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor:157,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor:158,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor:158,1"
      Dst: "[com.drew.metadata.TagDescriptor].getFocalLengthDescription(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: 4
    CyclomaticComplexity: 2
  - functionName: "[com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor].getWhiteBalanceDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 136
    functionLinenumberEnd: 151
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 21
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor:139"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor:142"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor:141"
        BranchSideFuncs:
        - "intValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor:137,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor:142,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor:150,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor:150,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor:150,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor:150,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: 10
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor].getDigitalZoomDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 118
    functionLinenumberEnd: 131
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 19
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor:121"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor:124"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor:123"
        BranchSideFuncs:
        - "intValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor:119,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor:124,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor:130,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor:130,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor:130,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor:130,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: 8
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor].getSharpnessDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 112
    functionLinenumberEnd: 114
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor:113,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor].getContrastDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor:107,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor].getSaturationDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor:101,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor].getCcdSensitivityDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 78
    functionLinenumberEnd: 95
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getInteger(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    functionUses: 1
    ICount: 21
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor:81"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor:84"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor:83"
        BranchSideFuncs:
        - "intValue()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor:79,1"
      Dst: "[com.drew.metadata.Directory].getInteger(int)"
    - Src: "com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor:84,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor:94,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor:94,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor:94,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.CasioType1MakernoteDescriptor:94,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: 10
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.SonyType6MakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.SonyType6MakernoteDirectory)"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SonyType6MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.exif.makernotes.SonyType6MakernoteDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SonyType6MakernoteDescriptor:40,1"
      Dst: "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    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: "[com.drew.metadata.exif.makernotes.SonyType6MakernoteDescriptor].getDescription(int)"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SonyType6MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionDepth: 3
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.makernotes.SonyType6MakernoteDescriptor].getMakernoteThumbVersionDescription()"
    - "[com.drew.metadata.TagDescriptor].getDescription(int)"
    functionUses: 1
    ICount: 7
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SonyType6MakernoteDescriptor:49,1"
      Dst: "[com.drew.metadata.exif.makernotes.SonyType6MakernoteDescriptor].getMakernoteThumbVersionDescription()"
    - Src: "com.drew.metadata.exif.makernotes.SonyType6MakernoteDescriptor:51,1"
      Dst: "[com.drew.metadata.TagDescriptor].getDescription(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: 3
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.SonyType6MakernoteDescriptor].getMakernoteThumbVersionDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.SonyType6MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getVersionBytesDescription(int,int)"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.SonyType6MakernoteDescriptor:58,1"
      Dst: "[com.drew.metadata.TagDescriptor].getVersionBytesDescription(int,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: "[com.drew.metadata.mp4.Mp4BoxTypes].<init>()"
    functionSourceFile: "com.drew.metadata.mp4.Mp4BoxTypes"
    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: "com.drew.metadata.mp4.Mp4BoxTypes:26,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: "[com.drew.metadata.mp4.media.Mp4UuidBoxHandler$UuidType].values()"
    functionSourceFile: "com.drew.metadata.mp4.media.Mp4UuidBoxHandler$UuidType"
    linkageType: ""
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionDepth: 0
    returnType: "com.drew.metadata.mp4.media.Mp4UuidBoxHandler$UuidType[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.adobe.internal.xmp.impl.XMPNode].clone()"
    - "[com.adobe.internal.xmp.options.SerializeOptions].clone()"
    - "[com.adobe.internal.xmp.impl.XMPMetaImpl].clone()"
    - "[java.lang.Enum].clone()"
    - "[java.lang.Thread].clone()"
    - "[java.lang.Object:java.lang.invoke.MemberName:java.lang.ref.Reference:java.net.HttpCookie:java.security.MessageDigest:java.security.MessageDigestSpi:java.security.Signature:java.security.SignatureSpi:java.text.BreakIterator:java.text.Collator:java.text.DateFormat:java.text.DateFormatSymbols:java.text.DecimalFormat:java.text.DecimalFormatSymbols:java.text.DigitList:java.text.Format:java.text.MessageFormat:java.text.NumberFormat:java.text.SimpleDateFormat:java.util.AbstractMap:java.util.ArrayDeque:java.util.ArrayList:java.util.Calendar:java.util.Date:java.util.EnumSet:java.util.GregorianCalendar:java.util.HashMap:java.util.HashSet:java.util.Hashtable:java.util.Hashtable$Entry:java.util.IdentityHashMap:java.util.LinkedList:java.util.Locale:java.util.Properties:java.util.SimpleTimeZone:java.util.TimeZone:java.util.TreeMap:java.util.TreeSet:java.util.Vector:java.util.concurrent.CopyOnWriteArrayList:java.util.jar.Attributes:java.util.jar.Manifest:java.util.zip.ZipEntry:sun.util.calendar.CalendarDate].clone()"
    - "[java.lang.Object].clone()"
    functionUses: 1
    ICount: 4
    EdgeCount: 6
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mp4.media.Mp4UuidBoxHandler$UuidType:49,1"
      Dst: "[java.lang.Object].clone()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.mp4.media.Mp4UuidBoxHandler$UuidType].valueOf(java.lang.String)"
    functionSourceFile: "com.drew.metadata.mp4.media.Mp4UuidBoxHandler$UuidType"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.drew.metadata.mp4.media.Mp4UuidBoxHandler$UuidType"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].valueOf(java.lang.Class,java.lang.String)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mp4.media.Mp4UuidBoxHandler$UuidType:49,1"
      Dst: "[java.lang.Enum].valueOf(java.lang.Class,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.mp4.media.Mp4UuidBoxHandler$UuidType].<init>(java.lang.String,int)"
    functionSourceFile: "com.drew.metadata.mp4.media.Mp4UuidBoxHandler$UuidType"
    linkageType: ""
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].<init>(java.lang.String,int)"
    functionUses: 10
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mp4.media.Mp4UuidBoxHandler$UuidType:49,1"
      Dst: "[java.lang.Enum].<init>(java.lang.String,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.mp4.media.Mp4UuidBoxHandler$UuidType].$values()"
    functionSourceFile: "com.drew.metadata.mp4.media.Mp4UuidBoxHandler$UuidType"
    linkageType: ""
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionDepth: 0
    returnType: "com.drew.metadata.mp4.media.Mp4UuidBoxHandler$UuidType[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 22
    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: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.photoshop.PhotoshopDirectory].getName()"
    functionSourceFile: "com.drew.metadata.photoshop.PhotoshopDirectory"
    linkageType: ""
    functionLinenumber: 235
    functionLinenumberEnd: 237
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.photoshop.PhotoshopDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.photoshop.PhotoshopDirectory"
    linkageType: ""
    functionLinenumber: 242
    functionLinenumberEnd: 244
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.photoshop.PhotoshopDirectory].getThumbnailBytes()"
    functionSourceFile: "com.drew.metadata.photoshop.PhotoshopDirectory"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "byte[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getByteArray(int)"
    - "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    functionUses: 0
    ICount: 14
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.drew.metadata.photoshop.PhotoshopDirectory:250"
      Branch Sides:
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopDirectory:252"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopDirectory:251"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.photoshop.PhotoshopDirectory:252"
      Branch Sides:
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopDirectory:253"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopDirectory:252"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.photoshop.PhotoshopDirectory:252"
      Branch Sides:
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopDirectory:255"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.photoshop.PhotoshopDirectory:254"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.drew.metadata.photoshop.PhotoshopDirectory:249,1"
      Dst: "[com.drew.metadata.Directory].getByteArray(int)"
    - Src: "com.drew.metadata.photoshop.PhotoshopDirectory:257,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: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[com.drew.metadata.MetadataException].<init>(java.lang.String)"
    functionSourceFile: "com.drew.metadata.MetadataException"
    linkageType: ""
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.CompoundException].<init>(java.lang.String)"
    functionUses: 8
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.MetadataException:37,1"
      Dst: "[com.drew.lang.CompoundException].<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: "[com.drew.metadata.MetadataException].<init>(java.lang.Throwable)"
    functionSourceFile: "com.drew.metadata.MetadataException"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.CompoundException].<init>(java.lang.Throwable)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.MetadataException:42,1"
      Dst: "[com.drew.lang.CompoundException].<init>(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: "[com.drew.metadata.MetadataException].<init>(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "com.drew.metadata.MetadataException"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.lang.CompoundException].<init>(java.lang.String,java.lang.Throwable)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.MetadataException:47,1"
      Dst: "[com.drew.lang.CompoundException].<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: "[com.drew.metadata.exif.makernotes.CanonMakernoteDirectory].<init>()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CanonMakernoteDirectory"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].<init>()"
    - "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.CanonMakernoteDirectory)"
    - "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDirectory:671,1"
      Dst: "[com.drew.metadata.Directory].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDirectory:672,1"
      Dst: "[com.drew.metadata.exif.makernotes.CanonMakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.CanonMakernoteDirectory)"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDirectory:672,1"
      Dst: "[com.drew.metadata.Directory].setDescriptor(com.drew.metadata.TagDescriptor)"
    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: "[com.drew.metadata.exif.makernotes.CanonMakernoteDirectory].getName()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CanonMakernoteDirectory"
    linkageType: ""
    functionLinenumber: 678
    functionLinenumberEnd: 680
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.exif.makernotes.CanonMakernoteDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CanonMakernoteDirectory"
    linkageType: ""
    functionLinenumber: 685
    functionLinenumberEnd: 687
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.CanonMakernoteDirectory].setObjectArray(int,java.lang.Object)"
    functionSourceFile: "com.drew.metadata.exif.makernotes.CanonMakernoteDirectory"
    linkageType: ""
    functionLinenumber: 693
    functionLinenumberEnd: 799
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "int"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].setObjectArray(int,java.lang.Object)"
    - "[com.drew.metadata.Directory].setInt(int,int)"
    - "[java.lang.Integer].valueOf(int)"
    functionUses: 13
    ICount: 125
    EdgeCount: 10
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.CanonMakernoteDirectory:694"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDirectory:703"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.CanonMakernoteDirectory:707"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDirectory:708"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.CanonMakernoteDirectory:713"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDirectory:714"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.CanonMakernoteDirectory:719"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDirectory:720"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.CanonMakernoteDirectory:725"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDirectory:726"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.CanonMakernoteDirectory:755"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDirectory:789"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.CanonMakernoteDirectory:758"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDirectory:761"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.CanonMakernoteDirectory:758"
      Branch Sides: []
    - Branch String: "com.drew.metadata.exif.makernotes.CanonMakernoteDirectory:762"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDirectory:769"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.CanonMakernoteDirectory:765"
      Branch Sides: []
    - Branch String: "com.drew.metadata.exif.makernotes.CanonMakernoteDirectory:772"
      Branch Sides: []
    - Branch String: "com.drew.metadata.exif.makernotes.CanonMakernoteDirectory:777"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.CanonMakernoteDirectory:783"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.exif.makernotes.CanonMakernoteDirectory:779"
      Branch Sides: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDirectory:696,1"
      Dst: "[com.drew.metadata.Directory].setObjectArray(int,java.lang.Object)"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDirectory:708,1"
      Dst: "[com.drew.metadata.Directory].setInt(int,int)"
    - Src: "com.drew.metadata.exif.makernotes.CanonMakernoteDirectory:787,1"
      Dst: "[java.lang.Integer].valueOf(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: 41
    CyclomaticComplexity: 18
  - functionName: "[com.drew.metadata.photoshop.DuckyReader].<init>()"
    functionSourceFile: "com.drew.metadata.photoshop.DuckyReader"
    linkageType: ""
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.photoshop.DuckyReader: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: "[com.drew.metadata.photoshop.DuckyReader].getSegmentTypes()"
    functionSourceFile: "com.drew.metadata.photoshop.DuckyReader"
    linkageType: ""
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionDepth: 0
    returnType: "java.lang.Iterable"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Collections].singletonList(java.lang.Object)"
    functionUses: 2
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.photoshop.DuckyReader:48,1"
      Dst: "[java.util.Collections].singletonList(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: "[com.drew.metadata.photoshop.DuckyReader].readJpegSegments(java.lang.Iterable,com.drew.metadata.Metadata,com.drew.imaging.jpeg.JpegSegmentType)"
    functionSourceFile: "com.drew.metadata.photoshop.DuckyReader"
    linkageType: ""
    functionLinenumber: 52
    functionLinenumberEnd: 65
    functionDepth: 3
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.Iterable"
    - "com.drew.metadata.Metadata"
    - "com.drew.imaging.jpeg.JpegSegmentType"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].length()"
    - "[com.adobe.internal.xmp.impl.XMPNode$1].hasNext()"
    - "[jdk.internal.module.ModuleBootstrap$2].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIterator].hasNext()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIteratorChildren].hasNext()"
    - "[java.nio.file.FileTreeIterator].hasNext()"
    - "[java.util.concurrent.ConcurrentHashMap$EntrySetView].iterator()"
    - "[jdk.internal.module.ModuleBootstrap$2].next()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl$NodeIterator].next()"
    - "[com.adobe.internal.xmp.impl.XMPIteratorImpl].next()"
    - "[com.adobe.internal.xmp.impl.XMPNode$1].next()"
    - "[java.io.BufferedReader$1:java.nio.file.FileTreeIterator:java.nio.file.Files$2].next()"
    - "[java.lang.String].<init>(byte[],int,int)"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[com.drew.lang.SequentialByteArrayReader].<init>(byte[],int)"
    - "[com.drew.metadata.photoshop.DuckyReader].extract(com.drew.lang.SequentialReader,com.drew.metadata.Metadata)"
    - "[java.lang.Iterable].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    functionUses: 1
    ICount: 24
    EdgeCount: 17
    BranchProfiles:
    - Branch String: "com.drew.metadata.photoshop.DuckyReader:55"
      Branch Sides:
      - BranchSide: "com.drew.metadata.photoshop.DuckyReader:64"
        BranchSideFuncs:
        - "hasNext()"
        - "iterator()"
        - "<init>(byte[],int,int)"
        - "next()"
        - "equals(java.lang.Object)"
      - BranchSide: "com.drew.metadata.photoshop.DuckyReader:63"
        BranchSideFuncs: []
    - Branch String: "com.drew.metadata.photoshop.DuckyReader:57"
      Branch Sides:
      - BranchSide: "com.drew.metadata.photoshop.DuckyReader:53"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.photoshop.DuckyReader:52"
        BranchSideFuncs:
        - "hasNext()"
        - "iterator()"
        - "next()"
        - "length()"
    - Branch String: "com.drew.metadata.photoshop.DuckyReader:57"
      Branch Sides:
      - BranchSide: "com.drew.metadata.photoshop.DuckyReader:60"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.photoshop.DuckyReader:59"
        BranchSideFuncs:
        - "extract(com.drew.lang.SequentialReader,com.drew.metadata.Metadata)"
        - "<init>(byte[],int)"
    Callsites:
    - Src: "com.drew.metadata.photoshop.DuckyReader:53,1"
      Dst: "[java.lang.String].length()"
    - Src: "com.drew.metadata.photoshop.DuckyReader:55,1"
      Dst: "[java.lang.Iterable].iterator()"
    - Src: "com.drew.metadata.photoshop.DuckyReader:55,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.drew.metadata.photoshop.DuckyReader:55,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.drew.metadata.photoshop.DuckyReader:57,1"
      Dst: "[java.lang.String].<init>(byte[],int,int)"
    - Src: "com.drew.metadata.photoshop.DuckyReader:57,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "com.drew.metadata.photoshop.DuckyReader:60,1"
      Dst: "[com.drew.lang.SequentialByteArrayReader].<init>(byte[],int)"
    - Src: "com.drew.metadata.photoshop.DuckyReader:60,1"
      Dst: "[com.drew.metadata.photoshop.DuckyReader].extract(com.drew.lang.SequentialReader,com.drew.metadata.Metadata)"
    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: "[com.drew.metadata.photoshop.DuckyReader].extract(com.drew.lang.SequentialReader,com.drew.metadata.Metadata)"
    functionSourceFile: "com.drew.metadata.photoshop.DuckyReader"
    linkageType: ""
    functionLinenumber: 67
    functionLinenumberEnd: 116
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.drew.lang.SequentialReader"
    - "com.drew.metadata.Metadata"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.photoshop.DuckyDirectory].<init>()"
    - "[com.drew.metadata.Metadata].addDirectory(com.drew.metadata.Directory)"
    - "[com.drew.lang.SequentialReader].getUInt16()"
    - "[com.drew.metadata.Directory].addError(java.lang.String)"
    - "[com.drew.lang.SequentialReader].getInt32()"
    - "[com.drew.metadata.Directory].setInt(int,int)"
    - "[com.drew.lang.StreamReader].skip(long)"
    - "[com.drew.lang.SequentialByteArrayReader].skip(long)"
    - "[com.drew.lang.SequentialReader].getStringValue(int,java.nio.charset.Charset)"
    - "[com.drew.metadata.Directory].setStringValue(int,com.drew.metadata.StringValue)"
    - "[com.drew.lang.SequentialByteArrayReader].getBytes(int)"
    - "[com.drew.lang.StreamReader].getBytes(int)"
    - "[com.drew.metadata.Directory].setByteArray(int,byte[])"
    - "[java.io.InvalidClassException:java.lang.Throwable:java.nio.file.FileSystemException].getMessage()"
    - "[com.drew.lang.SequentialReader].skip(long)"
    - "[com.drew.lang.SequentialReader].getBytes(int)"
    - "[java.lang.Throwable].getMessage()"
    functionUses: 1
    ICount: 32
    EdgeCount: 16
    BranchProfiles:
    - Branch String: "com.drew.metadata.photoshop.DuckyReader:78"
      Branch Sides:
      - BranchSide: "com.drew.metadata.photoshop.DuckyReader:81"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.photoshop.DuckyReader:80"
        BranchSideFuncs:
        - "getUInt16()"
    - Branch String: "com.drew.metadata.photoshop.DuckyReader:87"
      Branch Sides:
      - BranchSide: "com.drew.metadata.photoshop.DuckyReader:91"
        BranchSideFuncs:
        - "getInt32()"
        - "setInt(int,int)"
    Callsites:
    - Src: "com.drew.metadata.photoshop.DuckyReader:68,1"
      Dst: "[com.drew.metadata.photoshop.DuckyDirectory].<init>()"
    - Src: "com.drew.metadata.photoshop.DuckyReader:69,1"
      Dst: "[com.drew.metadata.Metadata].addDirectory(com.drew.metadata.Directory)"
    - Src: "com.drew.metadata.photoshop.DuckyReader:75,1"
      Dst: "[com.drew.lang.SequentialReader].getUInt16()"
    - Src: "com.drew.metadata.photoshop.DuckyReader:89,1"
      Dst: "[com.drew.metadata.Directory].addError(java.lang.String)"
    - Src: "com.drew.metadata.photoshop.DuckyReader:92,1"
      Dst: "[com.drew.lang.SequentialReader].getInt32()"
    - Src: "com.drew.metadata.photoshop.DuckyReader:92,1"
      Dst: "[com.drew.metadata.Directory].setInt(int,int)"
    - Src: "com.drew.metadata.photoshop.DuckyReader:98,1"
      Dst: "[com.drew.lang.SequentialReader].skip(long)"
    - Src: "com.drew.metadata.photoshop.DuckyReader:99,1"
      Dst: "[com.drew.lang.SequentialReader].getStringValue(int,java.nio.charset.Charset)"
    - Src: "com.drew.metadata.photoshop.DuckyReader:99,1"
      Dst: "[com.drew.metadata.Directory].setStringValue(int,com.drew.metadata.StringValue)"
    - Src: "com.drew.metadata.photoshop.DuckyReader:105,1"
      Dst: "[com.drew.lang.SequentialReader].getBytes(int)"
    - Src: "com.drew.metadata.photoshop.DuckyReader:105,1"
      Dst: "[com.drew.metadata.Directory].setByteArray(int,byte[])"
    - Src: "com.drew.metadata.photoshop.DuckyReader:113,1"
      Dst: "[java.lang.Throwable].getMessage()"
    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: 4
  - functionName: "[com.drew.metadata.pcx.PcxDirectory].getName()"
    functionSourceFile: "com.drew.metadata.pcx.PcxDirectory"
    linkageType: ""
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.pcx.PcxDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.pcx.PcxDirectory"
    linkageType: ""
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.NikonType1MakernoteDescriptor].<init>(com.drew.metadata.exif.makernotes.NikonType1MakernoteDirectory)"
    functionSourceFile: "com.drew.metadata.exif.makernotes.NikonType1MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.drew.metadata.exif.makernotes.NikonType1MakernoteDirectory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.NikonType1MakernoteDescriptor:51,1"
      Dst: "[com.drew.metadata.TagDescriptor].<init>(com.drew.metadata.Directory)"
    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: "[com.drew.metadata.exif.makernotes.NikonType1MakernoteDescriptor].getDescription(int)"
    functionSourceFile: "com.drew.metadata.exif.makernotes.NikonType1MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 57
    functionLinenumberEnd: 77
    functionDepth: 4
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.exif.makernotes.NikonType1MakernoteDescriptor].getQualityDescription()"
    - "[com.drew.metadata.exif.makernotes.NikonType1MakernoteDescriptor].getColorModeDescription()"
    - "[com.drew.metadata.exif.makernotes.NikonType1MakernoteDescriptor].getImageAdjustmentDescription()"
    - "[com.drew.metadata.exif.makernotes.NikonType1MakernoteDescriptor].getCcdSensitivityDescription()"
    - "[com.drew.metadata.exif.makernotes.NikonType1MakernoteDescriptor].getWhiteBalanceDescription()"
    - "[com.drew.metadata.exif.makernotes.NikonType1MakernoteDescriptor].getFocusDescription()"
    - "[com.drew.metadata.exif.makernotes.NikonType1MakernoteDescriptor].getDigitalZoomDescription()"
    - "[com.drew.metadata.exif.makernotes.NikonType1MakernoteDescriptor].getConverterDescription()"
    - "[com.drew.metadata.TagDescriptor].getDescription(int)"
    functionUses: 1
    ICount: 21
    EdgeCount: 9
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.NikonType1MakernoteDescriptor:60,1"
      Dst: "[com.drew.metadata.exif.makernotes.NikonType1MakernoteDescriptor].getQualityDescription()"
    - Src: "com.drew.metadata.exif.makernotes.NikonType1MakernoteDescriptor:62,1"
      Dst: "[com.drew.metadata.exif.makernotes.NikonType1MakernoteDescriptor].getColorModeDescription()"
    - Src: "com.drew.metadata.exif.makernotes.NikonType1MakernoteDescriptor:64,1"
      Dst: "[com.drew.metadata.exif.makernotes.NikonType1MakernoteDescriptor].getImageAdjustmentDescription()"
    - Src: "com.drew.metadata.exif.makernotes.NikonType1MakernoteDescriptor:66,1"
      Dst: "[com.drew.metadata.exif.makernotes.NikonType1MakernoteDescriptor].getCcdSensitivityDescription()"
    - Src: "com.drew.metadata.exif.makernotes.NikonType1MakernoteDescriptor:68,1"
      Dst: "[com.drew.metadata.exif.makernotes.NikonType1MakernoteDescriptor].getWhiteBalanceDescription()"
    - Src: "com.drew.metadata.exif.makernotes.NikonType1MakernoteDescriptor:70,1"
      Dst: "[com.drew.metadata.exif.makernotes.NikonType1MakernoteDescriptor].getFocusDescription()"
    - Src: "com.drew.metadata.exif.makernotes.NikonType1MakernoteDescriptor:72,1"
      Dst: "[com.drew.metadata.exif.makernotes.NikonType1MakernoteDescriptor].getDigitalZoomDescription()"
    - Src: "com.drew.metadata.exif.makernotes.NikonType1MakernoteDescriptor:74,1"
      Dst: "[com.drew.metadata.exif.makernotes.NikonType1MakernoteDescriptor].getConverterDescription()"
    - Src: "com.drew.metadata.exif.makernotes.NikonType1MakernoteDescriptor:76,1"
      Dst: "[com.drew.metadata.TagDescriptor].getDescription(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: 10
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.exif.makernotes.NikonType1MakernoteDescriptor].getQualityDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.NikonType1MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 159
    functionLinenumberEnd: 161
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,java.lang.String[])"
    functionUses: 1
    ICount: 10
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.NikonType1MakernoteDescriptor:160,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,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: "[com.drew.metadata.exif.makernotes.NikonType1MakernoteDescriptor].getColorModeDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.NikonType1MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 149
    functionLinenumberEnd: 151
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,java.lang.String[])"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.NikonType1MakernoteDescriptor:150,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,int,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: "[com.drew.metadata.exif.makernotes.NikonType1MakernoteDescriptor].getImageAdjustmentDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.NikonType1MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 137
    functionLinenumberEnd: 139
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 9
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.NikonType1MakernoteDescriptor:138,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.NikonType1MakernoteDescriptor].getCcdSensitivityDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.NikonType1MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 10
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.NikonType1MakernoteDescriptor:125,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.NikonType1MakernoteDescriptor].getWhiteBalanceDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.NikonType1MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 110
    functionLinenumberEnd: 112
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 11
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.NikonType1MakernoteDescriptor:111,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.exif.makernotes.NikonType1MakernoteDescriptor].getFocusDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.NikonType1MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 99
    functionLinenumberEnd: 106
    functionDepth: 3
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getRational(int)"
    - "[com.drew.lang.Rational].getDenominator()"
    - "[com.drew.lang.Rational].getNumerator()"
    - "[com.drew.lang.Rational].toSimpleString(boolean)"
    functionUses: 1
    ICount: 17
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.NikonType1MakernoteDescriptor:101"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.NikonType1MakernoteDescriptor:103"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.NikonType1MakernoteDescriptor:102"
        BranchSideFuncs:
        - "getDenominator()"
        - "getNumerator()"
    - Branch String: "com.drew.metadata.exif.makernotes.NikonType1MakernoteDescriptor:103"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.NikonType1MakernoteDescriptor:105"
        BranchSideFuncs:
        - "getDenominator()"
        - "getNumerator()"
      - BranchSide: "com.drew.metadata.exif.makernotes.NikonType1MakernoteDescriptor:104"
        BranchSideFuncs:
        - "toSimpleString(boolean)"
    - Branch String: "com.drew.metadata.exif.makernotes.NikonType1MakernoteDescriptor:103"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.NikonType1MakernoteDescriptor:105"
        BranchSideFuncs:
        - "getDenominator()"
        - "getNumerator()"
      - BranchSide: "com.drew.metadata.exif.makernotes.NikonType1MakernoteDescriptor:104"
        BranchSideFuncs:
        - "toSimpleString(boolean)"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.NikonType1MakernoteDescriptor:100,1"
      Dst: "[com.drew.metadata.Directory].getRational(int)"
    - Src: "com.drew.metadata.exif.makernotes.NikonType1MakernoteDescriptor:103,1"
      Dst: "[com.drew.lang.Rational].getNumerator()"
    - Src: "com.drew.metadata.exif.makernotes.NikonType1MakernoteDescriptor:103,1"
      Dst: "[com.drew.lang.Rational].getDenominator()"
    - Src: "com.drew.metadata.exif.makernotes.NikonType1MakernoteDescriptor:105,1"
      Dst: "[com.drew.lang.Rational].toSimpleString(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: 7
    CyclomaticComplexity: 4
  - functionName: "[com.drew.metadata.exif.makernotes.NikonType1MakernoteDescriptor].getDigitalZoomDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.NikonType1MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 88
    functionLinenumberEnd: 95
    functionDepth: 3
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getRational(int)"
    - "[com.drew.lang.Rational].getNumerator()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[com.drew.lang.Rational].toSimpleString(boolean)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 19
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "com.drew.metadata.exif.makernotes.NikonType1MakernoteDescriptor:90"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.NikonType1MakernoteDescriptor:92"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.exif.makernotes.NikonType1MakernoteDescriptor:91"
        BranchSideFuncs:
        - "getNumerator()"
    - Branch String: "com.drew.metadata.exif.makernotes.NikonType1MakernoteDescriptor:92"
      Branch Sides:
      - BranchSide: "com.drew.metadata.exif.makernotes.NikonType1MakernoteDescriptor:94"
        BranchSideFuncs:
        - "getNumerator()"
      - BranchSide: "com.drew.metadata.exif.makernotes.NikonType1MakernoteDescriptor:93"
        BranchSideFuncs:
        - "<init>()"
        - "toSimpleString(boolean)"
        - "append(java.lang.String)"
        - "toString()"
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.NikonType1MakernoteDescriptor:89,1"
      Dst: "[com.drew.metadata.Directory].getRational(int)"
    - Src: "com.drew.metadata.exif.makernotes.NikonType1MakernoteDescriptor:92,1"
      Dst: "[com.drew.lang.Rational].getNumerator()"
    - Src: "com.drew.metadata.exif.makernotes.NikonType1MakernoteDescriptor:94,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.drew.metadata.exif.makernotes.NikonType1MakernoteDescriptor:94,1"
      Dst: "[com.drew.lang.Rational].toSimpleString(boolean)"
    - Src: "com.drew.metadata.exif.makernotes.NikonType1MakernoteDescriptor:94,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.drew.metadata.exif.makernotes.NikonType1MakernoteDescriptor:94,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: 6
    CyclomaticComplexity: 3
  - functionName: "[com.drew.metadata.exif.makernotes.NikonType1MakernoteDescriptor].getConverterDescription()"
    functionSourceFile: "com.drew.metadata.exif.makernotes.NikonType1MakernoteDescriptor"
    linkageType: ""
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,java.lang.String[])"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.exif.makernotes.NikonType1MakernoteDescriptor:83,1"
      Dst: "[com.drew.metadata.TagDescriptor].getIndexedDescription(int,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: "[com.drew.metadata.mov.atoms.TimecodeSampleDescriptionAtom].getSampleDescription(com.drew.lang.SequentialReader)"
    functionSourceFile: "com.drew.metadata.mov.atoms.TimecodeSampleDescriptionAtom"
    linkageType: ""
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionDepth: 2
    returnType: "com.drew.metadata.mov.atoms.TimecodeSampleDescriptionAtom$TimecodeSampleDescription"
    argCount: 1
    argTypes:
    - "com.drew.lang.SequentialReader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mov.atoms.TimecodeSampleDescriptionAtom$TimecodeSampleDescription].<init>(com.drew.lang.SequentialReader)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mov.atoms.TimecodeSampleDescriptionAtom:45,1"
      Dst: "[com.drew.metadata.mov.atoms.TimecodeSampleDescriptionAtom$TimecodeSampleDescription].<init>(com.drew.lang.SequentialReader)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[com.drew.metadata.mov.QuickTimeDirectory].getName()"
    functionSourceFile: "com.drew.metadata.mov.QuickTimeDirectory"
    linkageType: ""
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.mov.QuickTimeDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.mov.QuickTimeDirectory"
    linkageType: ""
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.mp4.Mp4Descriptor].getDescription(int)"
    functionSourceFile: "com.drew.metadata.mp4.Mp4Descriptor"
    linkageType: ""
    functionLinenumber: 41
    functionLinenumberEnd: 51
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.mp4.Mp4Descriptor].getMajorBrandDescription()"
    - "[com.drew.metadata.mp4.Mp4Descriptor].getCompatibleBrandsDescription()"
    - "[com.drew.metadata.mp4.Mp4Descriptor].getDurationDescription()"
    - "[com.drew.metadata.Directory].getString(int)"
    functionUses: 1
    ICount: 13
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.metadata.mp4.Mp4Descriptor:44,1"
      Dst: "[com.drew.metadata.mp4.Mp4Descriptor].getMajorBrandDescription()"
    - Src: "com.drew.metadata.mp4.Mp4Descriptor:46,1"
      Dst: "[com.drew.metadata.mp4.Mp4Descriptor].getCompatibleBrandsDescription()"
    - Src: "com.drew.metadata.mp4.Mp4Descriptor:48,1"
      Dst: "[com.drew.metadata.mp4.Mp4Descriptor].getDurationDescription()"
    - Src: "com.drew.metadata.mp4.Mp4Descriptor:50,1"
      Dst: "[com.drew.metadata.Directory].getString(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: 5
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.mp4.Mp4Descriptor].getMajorBrandDescription()"
    functionSourceFile: "com.drew.metadata.mp4.Mp4Descriptor"
    linkageType: ""
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getByteArray(int)"
    - "[java.lang.String].<init>(byte[])"
    - "[com.drew.metadata.mp4.Mp4Dictionary].lookup(int,java.lang.String)"
    functionUses: 1
    ICount: 10
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.drew.metadata.mp4.Mp4Descriptor:57"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mp4.Mp4Descriptor:59"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.mp4.Mp4Descriptor:58"
        BranchSideFuncs:
        - "<init>(byte[])"
        - "lookup(int,java.lang.String)"
    Callsites:
    - Src: "com.drew.metadata.mp4.Mp4Descriptor:56,1"
      Dst: "[com.drew.metadata.Directory].getByteArray(int)"
    - Src: "com.drew.metadata.mp4.Mp4Descriptor:59,1"
      Dst: "[java.lang.String].<init>(byte[])"
    - Src: "com.drew.metadata.mp4.Mp4Descriptor:59,1"
      Dst: "[com.drew.metadata.mp4.Mp4Dictionary].lookup(int,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: 3
    CyclomaticComplexity: 1
  - functionName: "[com.drew.metadata.mp4.Mp4Descriptor].getCompatibleBrandsDescription()"
    functionSourceFile: "com.drew.metadata.mp4.Mp4Descriptor"
    linkageType: ""
    functionLinenumber: 63
    functionLinenumberEnd: 74
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getStringArray(int)"
    - "[java.util.ArrayList].<init>()"
    - "[com.drew.metadata.mp4.Mp4Dictionary].lookup(int,java.lang.String)"
    - "[java.util.ArrayList].add(java.lang.Object)"
    - "[java.util.ArrayList].toArray()"
    - "[java.util.Arrays].toString(java.lang.Object[])"
    functionUses: 1
    ICount: 23
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "com.drew.metadata.mp4.Mp4Descriptor:65"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mp4.Mp4Descriptor:68"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.mp4.Mp4Descriptor:67"
        BranchSideFuncs:
        - "<init>()"
    - Branch String: "com.drew.metadata.mp4.Mp4Descriptor:69"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mp4.Mp4Descriptor:73"
        BranchSideFuncs:
        - "add(java.lang.Object)"
        - "lookup(int,java.lang.String)"
      - BranchSide: "com.drew.metadata.mp4.Mp4Descriptor:72"
        BranchSideFuncs:
        - "toArray()"
        - "toString(java.lang.Object[])"
    - Branch String: "com.drew.metadata.mp4.Mp4Descriptor:71"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mp4.Mp4Descriptor:68"
        BranchSideFuncs:
        - "add(java.lang.Object)"
        - "lookup(int,java.lang.String)"
    Callsites:
    - Src: "com.drew.metadata.mp4.Mp4Descriptor:64,1"
      Dst: "[com.drew.metadata.Directory].getStringArray(int)"
    - Src: "com.drew.metadata.mp4.Mp4Descriptor:68,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "com.drew.metadata.mp4.Mp4Descriptor:70,1"
      Dst: "[com.drew.metadata.mp4.Mp4Dictionary].lookup(int,java.lang.String)"
    - Src: "com.drew.metadata.mp4.Mp4Descriptor:71,1"
      Dst: "[java.util.ArrayList].add(java.lang.Object)"
    - Src: "com.drew.metadata.mp4.Mp4Descriptor:73,1"
      Dst: "[java.util.ArrayList].toArray()"
    - Src: "com.drew.metadata.mp4.Mp4Descriptor:73,1"
      Dst: "[java.util.Arrays].toString(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: 9
    CyclomaticComplexity: 3
  - functionName: "[com.drew.metadata.mp4.Mp4Descriptor].getDurationDescription()"
    functionSourceFile: "com.drew.metadata.mp4.Mp4Descriptor"
    linkageType: ""
    functionLinenumber: 77
    functionLinenumberEnd: 87
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.drew.metadata.Directory].getRational(int)"
    - "[com.drew.lang.Rational].doubleValue()"
    - "[java.lang.Math].pow(double,double)"
    - "[java.lang.Integer].valueOf(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.Math].ceil(double)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    functionUses: 1
    ICount: 34
    EdgeCount: 12
    BranchProfiles:
    - Branch String: "com.drew.metadata.mp4.Mp4Descriptor:79"
      Branch Sides:
      - BranchSide: "com.drew.metadata.mp4.Mp4Descriptor:82"
        BranchSideFuncs: []
      - BranchSide: "com.drew.metadata.mp4.Mp4Descriptor:81"
        BranchSideFuncs:
        - "doubleValue()"
        - "intValue()"
        - "ceil(double)"
        - "format(java.lang.String,java.lang.Object[])"
        - "valueOf(int)"
        - "pow(double,double)"
    Callsites:
    - Src: "com.drew.metadata.mp4.Mp4Descriptor:78,1"
      Dst: "[com.drew.metadata.Directory].getRational(int)"
    - Src: "com.drew.metadata.mp4.Mp4Descriptor:82,1"
      Dst: "[com.drew.lang.Rational].doubleValue()"
    - Src: "com.drew.metadata.mp4.Mp4Descriptor:83,1"
      Dst: "[java.lang.Math].pow(double,double)"
    - Src: "com.drew.metadata.mp4.Mp4Descriptor:83,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.drew.metadata.mp4.Mp4Descriptor:84,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.drew.metadata.mp4.Mp4Descriptor:85,1"
      Dst: "[java.lang.Math].ceil(double)"
    - Src: "com.drew.metadata.mp4.Mp4Descriptor:86,1"
      Dst: "[java.lang.String].format(java.lang.String,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: 1
  - functionName: "[com.drew.metadata.mov.media.QuickTimeTimecodeDirectory].getName()"
    functionSourceFile: "com.drew.metadata.mov.media.QuickTimeTimecodeDirectory"
    linkageType: ""
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    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: "[com.drew.metadata.mov.media.QuickTimeTimecodeDirectory].getTagNameMap()"
    functionSourceFile: "com.drew.metadata.mov.media.QuickTimeTimecodeDirectory"
    linkageType: ""
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionDepth: 0
    returnType: "java.util.HashMap"
    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: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.drew.imaging.bmp.BmpMetadataReader].<init>()"
    functionSourceFile: "com.drew.imaging.bmp.BmpMetadataReader"
    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: "com.drew.imaging.bmp.BmpMetadataReader: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: "[com.drew.imaging.bmp.BmpMetadataReader].readMetadata(java.io.File)"
    functionSourceFile: "com.drew.imaging.bmp.BmpMetadataReader"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 8
    returnType: "com.drew.metadata.Metadata"
    argCount: 1
    argTypes:
    - "java.io.File"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.FileInputStream].<init>(java.io.File)"
    - "[com.drew.imaging.bmp.BmpMetadataReader].readMetadata(java.io.InputStream)"
    - "[java.io.InputStream].close()"
    - "[com.drew.metadata.file.FileSystemMetadataReader].<init>()"
    - "[com.drew.metadata.file.FileSystemMetadataReader].read(java.io.File,com.drew.metadata.Metadata)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.drew.imaging.bmp.BmpMetadataReader:42,1"
      Dst: "[java.io.FileInputStream].<init>(java.io.File)"
    - Src: "com.drew.imaging.bmp.BmpMetadataReader:45,1"
      Dst: "[com.drew.imaging.bmp.BmpMetadataReader].readMetadata(java.io.InputStream)"
    - Src: "com.drew.imaging.bmp.BmpMetadataReader:47,1"
      Dst: "[java.io.InputStream].close()"
    - Src: "com.drew.imaging.bmp.BmpMetadataReader:49,1"
      Dst: "[com.drew.metadata.file.FileSystemMetadataReader].<init>()"
    - Src: "com.drew.imaging.bmp.BmpMetadataReader:49,1"
      Dst: "[com.drew.metadata.file.FileSystemMetadataReader].read(java.io.File,com.drew.metadata.Metadata)"
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      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: "[java.io.PrintWriter].write(int)"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: ""
    functionLinenumber: 478
    functionLinenumberEnd: 491
    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: 504
    functionLinenumberEnd: 517
    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: 523
    functionLinenumberEnd: 526
    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: 539
    functionLinenumberEnd: 552
    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: 558
    functionLinenumberEnd: 561
    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: 590
    functionLinenumberEnd: 593
    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: 602
    functionLinenumberEnd: 605
    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: 616
    functionLinenumberEnd: 619
    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: 630
    functionLinenumberEnd: 633
    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: 644
    functionLinenumberEnd: 647
    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: 658
    functionLinenumberEnd: 661
    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: 672
    functionLinenumberEnd: 675
    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: 685
    functionLinenumberEnd: 688
    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: 699
    functionLinenumberEnd: 702
    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: 711
    functionLinenumberEnd: 714
    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: 722
    functionLinenumberEnd: 728
    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: 736
    functionLinenumberEnd: 742
    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: 750
    functionLinenumberEnd: 756
    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: 764
    functionLinenumberEnd: 770
    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: 778
    functionLinenumberEnd: 784
    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: 792
    functionLinenumberEnd: 798
    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: 806
    functionLinenumberEnd: 812
    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: 820
    functionLinenumberEnd: 826
    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: 836
    functionLinenumberEnd: 843
    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: 888
    functionLinenumberEnd: 890
    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: 941
    functionLinenumberEnd: 943
    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.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: 121
    functionLinenumberEnd: 124
    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: 153
    functionLinenumberEnd: 160
    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.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.io.InputStream].<init>()"
    functionSourceFile: "java.io.InputStream"
    linkageType: ""
    functionLinenumber: 49
    functionLinenumberEnd: 51
    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: 204
    functionLinenumberEnd: 206
    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: 265
    functionLinenumberEnd: 289
    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.lang.System].console()"
    functionSourceFile: "java.lang.System"
    linkageType: ""
    functionLinenumber: 245
    functionLinenumberEnd: 254
    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: 375
    functionLinenumberEnd: 377
    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: 729
    functionLinenumberEnd: 736
    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: 826
    functionLinenumberEnd: 834
    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: 861
    functionLinenumberEnd: 869
    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: 1010
    functionLinenumberEnd: 1017
    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: 1059
    functionLinenumberEnd: 1066
    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: 1812
    functionLinenumberEnd: 1815
    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: 1853
    functionLinenumberEnd: 1856
    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: 1889
    functionLinenumberEnd: 1892
    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.BufferedReader].<init>(java.io.Reader,int)"
    functionSourceFile: "java.io.BufferedReader"
    linkageType: ""
    functionLinenumber: 100
    functionLinenumberEnd: 108
    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: 115
    functionLinenumberEnd: 118
    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: 177
    functionLinenumberEnd: 196
    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: 277
    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)"
    functionSourceFile: "java.io.BufferedReader"
    linkageType: ""
    functionLinenumber: 314
    functionLinenumberEnd: 375
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "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: 391
    functionLinenumberEnd: 393
    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
  - 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: 96
    functionLinenumberEnd: 98
    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.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: 1029
    functionLinenumberEnd: 1036
    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: 1056
    functionLinenumberEnd: 1065
    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: 1094
    functionLinenumberEnd: 1104
    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: 1436
    functionLinenumberEnd: 1449
    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: 2102
    functionLinenumberEnd: 2133
    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: 2174
    functionLinenumberEnd: 2176
    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.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.ProcessBuilder].command(java.util.List)"
    functionSourceFile: "java.lang.ProcessBuilder"
    linkageType: ""
    functionLinenumber: 243
    functionLinenumberEnd: 248
    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: 261
    functionLinenumberEnd: 266
    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: 276
    functionLinenumberEnd: 278
    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: 401
    functionLinenumberEnd: 403
    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: 418
    functionLinenumberEnd: 421
    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: 759
    functionLinenumberEnd: 766
    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: 790
    functionLinenumberEnd: 796
    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: 824
    functionLinenumberEnd: 830
    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: 845
    functionLinenumberEnd: 847
    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: 862
    functionLinenumberEnd: 864
    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: 879
    functionLinenumberEnd: 881
    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: 893
    functionLinenumberEnd: 895
    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: 907
    functionLinenumberEnd: 909
    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: 921
    functionLinenumberEnd: 923
    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: 947
    functionLinenumberEnd: 950
    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: 966
    functionLinenumberEnd: 968
    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: 984
    functionLinenumberEnd: 987
    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: 1070
    functionLinenumberEnd: 1072
    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: 1084
    functionLinenumberEnd: 1129
    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.nio.file.Files].createFile(java.nio.file.Path,java.nio.file.attribute.FileAttribute[])"
    functionSourceFile: "java.nio.file.Files"
    linkageType: ""
    functionLinenumber: 647
    functionLinenumberEnd: 650
    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: 689
    functionLinenumberEnd: 692
    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: 742
    functionLinenumberEnd: 786
    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: 867
    functionLinenumberEnd: 869
    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: 912
    functionLinenumberEnd: 914
    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: 965
    functionLinenumberEnd: 967
    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: 1006
    functionLinenumberEnd: 1008
    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: 1058
    functionLinenumberEnd: 1061
    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: 1101
    functionLinenumberEnd: 1104
    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: 1141
    functionLinenumberEnd: 1144
    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: 1180
    functionLinenumberEnd: 1182
    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: 1418
    functionLinenumberEnd: 1428
    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: 3422
    functionLinenumberEnd: 3435
    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: 3487
    functionLinenumberEnd: 3498
    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: 3540
    functionLinenumberEnd: 3542
    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: 3941
    functionLinenumberEnd: 3953
    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.lang.Runtime].exec(java.lang.String)"
    functionSourceFile: "java.lang.Runtime"
    linkageType: ""
    functionLinenumber: 312
    functionLinenumberEnd: 314
    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: 353
    functionLinenumberEnd: 355
    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: 408
    functionLinenumberEnd: 417
    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: 450
    functionLinenumberEnd: 452
    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: 493
    functionLinenumberEnd: 495
    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: 588
    functionLinenumberEnd: 593
    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
