{
  "title" : "Duplication",
  "timestamp" : "2024-04-03 14:35:31",
  "duplicates" : [ {
    "blockSize" : 21,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jar-infer/test-android-lib-jarinfer/src/main/java/com/uber/nullaway/jarinfer/toys/unannotated/Toys.java",
        "extension" : "java",
        "linesOfCode" : 38,
        "components" : [ "primary::jar-infer" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 14,
      "endLine" : 40,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "jar-infer/test-java-lib-jarinfer/src/main/java/com/uber/nullaway/jarinfer/toys/unannotated/Toys.java",
        "extension" : "java",
        "linesOfCode" : 39,
        "components" : [ "primary::jar-infer" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 16,
      "endLine" : 42,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 28
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/StreamNullabilityPropagatorFactory.java",
        "extension" : "java",
        "linesOfCode" : 108,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 97,
      "startLine" : 40,
      "endLine" : 63,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "test-library-models/src/main/java/com/uber/nullaway/testlibrarymodels/TestLibraryModels.java",
        "extension" : "java",
        "linesOfCode" : 104,
        "components" : [ "primary::test-library-models" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 101,
      "endLine" : 120,
      "cleanedStartLine" : 52,
      "cleanedEndLine" : 71
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jar-infer/test-android-lib-jarinfer/src/main/java/com/uber/nullaway/jarinfer/toys/unannotated/Bar.java",
        "extension" : "java",
        "linesOfCode" : 18,
        "components" : [ "primary::jar-infer" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 12,
      "startLine" : 3,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "jar-infer/test-java-lib-jarinfer/src/main/java/com/uber/nullaway/jarinfer/toys/unannotated/Bar.java",
        "extension" : "java",
        "linesOfCode" : 18,
        "components" : [ "primary::jar-infer" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 12,
      "startLine" : 3,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/InferredJARModelsHandler.java",
        "extension" : "java",
        "linesOfCode" : 285,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 213,
      "startLine" : 192,
      "endLine" : 203,
      "cleanedStartLine" : 94,
      "cleanedEndLine" : 104
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/OptionalEmptinessHandler.java",
        "extension" : "java",
        "linesOfCode" : 328,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 232,
      "startLine" : 83,
      "endLine" : 94,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/BaseNoOpHandler.java",
        "extension" : "java",
        "linesOfCode" : 173,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 153,
      "endLine" : 165,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 69
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/CompositeHandler.java",
        "extension" : "java",
        "linesOfCode" : 274,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 185,
      "endLine" : 197,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 97
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/BaseNoOpHandler.java",
        "extension" : "java",
        "linesOfCode" : 173,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 156,
      "endLine" : 165,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 69
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/OptionalEmptinessHandler.java",
        "extension" : "java",
        "linesOfCode" : 328,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 232,
      "startLine" : 117,
      "endLine" : 126,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 43
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/RestrictiveAnnotationHandler.java",
        "extension" : "java",
        "linesOfCode" : 124,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 155,
      "endLine" : 164,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/contract/fieldcontract/EnsuresNonNullHandler.java",
        "extension" : "java",
        "linesOfCode" : 150,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 110,
      "startLine" : 173,
      "endLine" : 182,
      "cleanedStartLine" : 82,
      "cleanedEndLine" : 91
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/AssertionHandler.java",
        "extension" : "java",
        "linesOfCode" : 65,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 46,
      "endLine" : 55,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/contract/ContractHandler.java",
        "extension" : "java",
        "linesOfCode" : 249,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 183,
      "endLine" : 192,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 68
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/ApacheThriftIsSetHandler.java",
        "extension" : "java",
        "linesOfCode" : 129,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 85,
      "startLine" : 73,
      "endLine" : 82,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/OptionalEmptinessHandler.java",
        "extension" : "java",
        "linesOfCode" : 328,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 232,
      "startLine" : 117,
      "endLine" : 126,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 43
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/GrpcHandler.java",
        "extension" : "java",
        "linesOfCode" : 120,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 85,
      "endLine" : 94,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 32
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/InferredJARModelsHandler.java",
        "extension" : "java",
        "linesOfCode" : 285,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 213,
      "startLine" : 176,
      "endLine" : 185,
      "cleanedStartLine" : 81,
      "cleanedEndLine" : 90
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/ApacheThriftIsSetHandler.java",
        "extension" : "java",
        "linesOfCode" : 129,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 85,
      "startLine" : 73,
      "endLine" : 82,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/BaseNoOpHandler.java",
        "extension" : "java",
        "linesOfCode" : 173,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 156,
      "endLine" : 165,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 69
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/AbstractFieldContractHandler.java",
        "extension" : "java",
        "linesOfCode" : 149,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 114,
      "startLine" : 154,
      "endLine" : 163,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 59
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/AbstractFieldContractHandler.java",
        "extension" : "java",
        "linesOfCode" : 149,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 114,
      "startLine" : 200,
      "endLine" : 209,
      "cleanedStartLine" : 93,
      "cleanedEndLine" : 102
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/AssertionHandler.java",
        "extension" : "java",
        "linesOfCode" : 65,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 46,
      "endLine" : 55,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/LibraryModelsHandler.java",
        "extension" : "java",
        "linesOfCode" : 1095,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 934,
      "startLine" : 218,
      "endLine" : 227,
      "cleanedStartLine" : 105,
      "cleanedEndLine" : 114
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/BaseNoOpHandler.java",
        "extension" : "java",
        "linesOfCode" : 173,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 156,
      "endLine" : 165,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 69
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/InferredJARModelsHandler.java",
        "extension" : "java",
        "linesOfCode" : 285,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 213,
      "startLine" : 176,
      "endLine" : 185,
      "cleanedStartLine" : 81,
      "cleanedEndLine" : 90
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/BaseNoOpHandler.java",
        "extension" : "java",
        "linesOfCode" : 173,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 156,
      "endLine" : 165,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 69
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/GrpcHandler.java",
        "extension" : "java",
        "linesOfCode" : 120,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 85,
      "endLine" : 94,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 32
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/CompositeHandler.java",
        "extension" : "java",
        "linesOfCode" : 274,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 188,
      "endLine" : 197,
      "cleanedStartLine" : 88,
      "cleanedEndLine" : 97
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/GrpcHandler.java",
        "extension" : "java",
        "linesOfCode" : 120,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 85,
      "endLine" : 94,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 32
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jar-infer/test-android-lib-jarinfer/src/main/java/com/uber/nullaway/jarinfer/toys/unannotated/Foo.java",
        "extension" : "java",
        "linesOfCode" : 16,
        "components" : [ "primary::jar-infer" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 10,
      "startLine" : 3,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "jar-infer/test-java-lib-jarinfer/src/main/java/com/uber/nullaway/jarinfer/toys/unannotated/Foo.java",
        "extension" : "java",
        "linesOfCode" : 25,
        "components" : [ "primary::jar-infer" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 16,
      "startLine" : 3,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/GrpcHandler.java",
        "extension" : "java",
        "linesOfCode" : 120,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 85,
      "endLine" : 94,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 32
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/OptionalEmptinessHandler.java",
        "extension" : "java",
        "linesOfCode" : 328,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 232,
      "startLine" : 117,
      "endLine" : 126,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 43
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/ApacheThriftIsSetHandler.java",
        "extension" : "java",
        "linesOfCode" : 129,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 85,
      "startLine" : 73,
      "endLine" : 82,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/GrpcHandler.java",
        "extension" : "java",
        "linesOfCode" : 120,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 85,
      "endLine" : 94,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 32
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/ApacheThriftIsSetHandler.java",
        "extension" : "java",
        "linesOfCode" : 129,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 85,
      "startLine" : 73,
      "endLine" : 82,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/CompositeHandler.java",
        "extension" : "java",
        "linesOfCode" : 274,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 188,
      "endLine" : 197,
      "cleanedStartLine" : 88,
      "cleanedEndLine" : 97
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/ApacheThriftIsSetHandler.java",
        "extension" : "java",
        "linesOfCode" : 129,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 85,
      "startLine" : 73,
      "endLine" : 82,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/InferredJARModelsHandler.java",
        "extension" : "java",
        "linesOfCode" : 285,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 213,
      "startLine" : 176,
      "endLine" : 185,
      "cleanedStartLine" : 81,
      "cleanedEndLine" : 90
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/CompositeHandler.java",
        "extension" : "java",
        "linesOfCode" : 274,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 188,
      "endLine" : 197,
      "cleanedStartLine" : 88,
      "cleanedEndLine" : 97
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/InferredJARModelsHandler.java",
        "extension" : "java",
        "linesOfCode" : 285,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 213,
      "startLine" : 176,
      "endLine" : 185,
      "cleanedStartLine" : 81,
      "cleanedEndLine" : 90
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/LombokHandler.java",
        "extension" : "java",
        "linesOfCode" : 75,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 60,
      "endLine" : 70,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/RestrictiveAnnotationHandler.java",
        "extension" : "java",
        "linesOfCode" : 124,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 72,
      "endLine" : 82,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/InferredJARModelsHandler.java",
        "extension" : "java",
        "linesOfCode" : 285,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 213,
      "startLine" : 176,
      "endLine" : 185,
      "cleanedStartLine" : 81,
      "cleanedEndLine" : 90
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/OptionalEmptinessHandler.java",
        "extension" : "java",
        "linesOfCode" : 328,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 232,
      "startLine" : 117,
      "endLine" : 126,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 43
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/LibraryModelsHandler.java",
        "extension" : "java",
        "linesOfCode" : 1095,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 934,
      "startLine" : 218,
      "endLine" : 227,
      "cleanedStartLine" : 105,
      "cleanedEndLine" : 114
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/contract/ContractHandler.java",
        "extension" : "java",
        "linesOfCode" : 249,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 183,
      "endLine" : 192,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 68
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/CompositeHandler.java",
        "extension" : "java",
        "linesOfCode" : 274,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 188,
      "endLine" : 197,
      "cleanedStartLine" : 88,
      "cleanedEndLine" : 97
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/OptionalEmptinessHandler.java",
        "extension" : "java",
        "linesOfCode" : 328,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 232,
      "startLine" : 117,
      "endLine" : 126,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 43
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/LombokHandler.java",
        "extension" : "java",
        "linesOfCode" : 75,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 60,
      "endLine" : 68,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 37
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/OptionalEmptinessHandler.java",
        "extension" : "java",
        "linesOfCode" : 328,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 232,
      "startLine" : 83,
      "endLine" : 91,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/BaseNoOpHandler.java",
        "extension" : "java",
        "linesOfCode" : 173,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 170,
      "endLine" : 178,
      "cleanedStartLine" : 71,
      "cleanedEndLine" : 79
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/CompositeHandler.java",
        "extension" : "java",
        "linesOfCode" : 274,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 208,
      "endLine" : 216,
      "cleanedStartLine" : 105,
      "cleanedEndLine" : 113
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/LibraryModelsHandler.java",
        "extension" : "java",
        "linesOfCode" : 1095,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 934,
      "startLine" : 90,
      "endLine" : 98,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/RestrictiveAnnotationHandler.java",
        "extension" : "java",
        "linesOfCode" : 124,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 170,
      "endLine" : 178,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 86
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/BaseNoOpHandler.java",
        "extension" : "java",
        "linesOfCode" : 173,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 170,
      "endLine" : 178,
      "cleanedStartLine" : 71,
      "cleanedEndLine" : 79
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/LibraryModelsHandler.java",
        "extension" : "java",
        "linesOfCode" : 1095,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 934,
      "startLine" : 90,
      "endLine" : 98,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/OptionalEmptinessHandler.java",
        "extension" : "java",
        "linesOfCode" : 328,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 232,
      "startLine" : 83,
      "endLine" : 91,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/RestrictiveAnnotationHandler.java",
        "extension" : "java",
        "linesOfCode" : 124,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 72,
      "endLine" : 80,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/contract/ContractUtils.java",
        "extension" : "java",
        "linesOfCode" : 97,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 71,
      "startLine" : 55,
      "endLine" : 63,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/contract/ContractUtils.java",
        "extension" : "java",
        "linesOfCode" : 97,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 71,
      "startLine" : 103,
      "endLine" : 111,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 56
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/InferredJARModelsHandler.java",
        "extension" : "java",
        "linesOfCode" : 285,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 213,
      "startLine" : 192,
      "endLine" : 200,
      "cleanedStartLine" : 94,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/LombokHandler.java",
        "extension" : "java",
        "linesOfCode" : 75,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 60,
      "endLine" : 68,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 37
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/AbstractFieldContractHandler.java",
        "extension" : "java",
        "linesOfCode" : 149,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 114,
      "startLine" : 200,
      "endLine" : 208,
      "cleanedStartLine" : 93,
      "cleanedEndLine" : 101
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/contract/ContractUtils.java",
        "extension" : "java",
        "linesOfCode" : 97,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 71,
      "startLine" : 55,
      "endLine" : 63,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 25
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/AbstractFieldContractHandler.java",
        "extension" : "java",
        "linesOfCode" : 149,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 114,
      "startLine" : 200,
      "endLine" : 208,
      "cleanedStartLine" : 93,
      "cleanedEndLine" : 101
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/contract/ContractUtils.java",
        "extension" : "java",
        "linesOfCode" : 97,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 71,
      "startLine" : 103,
      "endLine" : 111,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 56
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/InferredJARModelsHandler.java",
        "extension" : "java",
        "linesOfCode" : 285,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 213,
      "startLine" : 192,
      "endLine" : 200,
      "cleanedStartLine" : 94,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/RestrictiveAnnotationHandler.java",
        "extension" : "java",
        "linesOfCode" : 124,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 72,
      "endLine" : 80,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/StreamNullabilityPropagatorFactory.java",
        "extension" : "java",
        "linesOfCode" : 108,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 97,
      "startLine" : 143,
      "endLine" : 151,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 82
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/StreamNullabilityPropagatorFactory.java",
        "extension" : "java",
        "linesOfCode" : 108,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 97,
      "startLine" : 153,
      "endLine" : 161,
      "cleanedStartLine" : 84,
      "cleanedEndLine" : 92
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/BaseNoOpHandler.java",
        "extension" : "java",
        "linesOfCode" : 173,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 170,
      "endLine" : 178,
      "cleanedStartLine" : 71,
      "cleanedEndLine" : 79
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/RestrictiveAnnotationHandler.java",
        "extension" : "java",
        "linesOfCode" : 124,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 170,
      "endLine" : 178,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 86
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/CompositeHandler.java",
        "extension" : "java",
        "linesOfCode" : 274,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 208,
      "endLine" : 216,
      "cleanedStartLine" : 105,
      "cleanedEndLine" : 113
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/RestrictiveAnnotationHandler.java",
        "extension" : "java",
        "linesOfCode" : 124,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 170,
      "endLine" : 178,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 86
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/NullAway.java",
        "extension" : "java",
        "linesOfCode" : 1954,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1530,
      "startLine" : 375,
      "endLine" : 385,
      "cleanedStartLine" : 111,
      "cleanedEndLine" : 119
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/StreamNullabilityPropagator.java",
        "extension" : "java",
        "linesOfCode" : 415,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 297,
      "startLine" : 514,
      "endLine" : 524,
      "cleanedStartLine" : 230,
      "cleanedEndLine" : 238
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/AbstractFieldContractHandler.java",
        "extension" : "java",
        "linesOfCode" : 149,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 114,
      "startLine" : 154,
      "endLine" : 162,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 58
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/contract/ContractUtils.java",
        "extension" : "java",
        "linesOfCode" : 97,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 71,
      "startLine" : 55,
      "endLine" : 63,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 25
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/AbstractFieldContractHandler.java",
        "extension" : "java",
        "linesOfCode" : 149,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 114,
      "startLine" : 154,
      "endLine" : 162,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 58
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/contract/ContractUtils.java",
        "extension" : "java",
        "linesOfCode" : 97,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 71,
      "startLine" : 103,
      "endLine" : 111,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 56
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/CompositeHandler.java",
        "extension" : "java",
        "linesOfCode" : 274,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 208,
      "endLine" : 216,
      "cleanedStartLine" : 105,
      "cleanedEndLine" : 113
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/LibraryModelsHandler.java",
        "extension" : "java",
        "linesOfCode" : 1095,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 934,
      "startLine" : 90,
      "endLine" : 98,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/InferredJARModelsHandler.java",
        "extension" : "java",
        "linesOfCode" : 285,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 213,
      "startLine" : 123,
      "endLine" : 141,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 56
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/RestrictiveAnnotationHandler.java",
        "extension" : "java",
        "linesOfCode" : 124,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 100,
      "endLine" : 109,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 38
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/NullabilityUtil.java",
        "extension" : "java",
        "linesOfCode" : 243,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 203,
      "endLine" : 212,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 66
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/NullabilityUtil.java",
        "extension" : "java",
        "linesOfCode" : 243,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 242,
      "endLine" : 250,
      "cleanedStartLine" : 77,
      "cleanedEndLine" : 84
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/BaseNoOpHandler.java",
        "extension" : "java",
        "linesOfCode" : 173,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 134,
      "endLine" : 143,
      "cleanedStartLine" : 45,
      "cleanedEndLine" : 52
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/CompositeHandler.java",
        "extension" : "java",
        "linesOfCode" : 274,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 161,
      "endLine" : 170,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 76
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/contract/fieldcontract/EnsuresNonNullHandler.java",
        "extension" : "java",
        "linesOfCode" : 150,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 110,
      "startLine" : 111,
      "endLine" : 125,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 47
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/contract/fieldcontract/RequiresNonNullHandler.java",
        "extension" : "java",
        "linesOfCode" : 143,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 98,
      "startLine" : 75,
      "endLine" : 89,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/BaseNoOpHandler.java",
        "extension" : "java",
        "linesOfCode" : 173,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 235,
      "endLine" : 242,
      "cleanedStartLine" : 112,
      "cleanedEndLine" : 119
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/LibraryModelsHandler.java",
        "extension" : "java",
        "linesOfCode" : 1095,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 934,
      "startLine" : 186,
      "endLine" : 193,
      "cleanedStartLine" : 83,
      "cleanedEndLine" : 90
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/fixserialization/adapters/SerializationV1Adapter.java",
        "extension" : "java",
        "linesOfCode" : 45,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 36,
      "endLine" : 43,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/fixserialization/adapters/SerializationV3Adapter.java",
        "extension" : "java",
        "linesOfCode" : 75,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 51,
      "endLine" : 58,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "sample-library-model/src/main/java/com/uber/modelexample/ExampleLibraryModels.java",
        "extension" : "java",
        "linesOfCode" : 47,
        "components" : [ "primary::sample-library-model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 28,
      "endLine" : 39,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "test-library-models/src/main/java/com/uber/nullaway/testlibrarymodels/TestLibraryModels.java",
        "extension" : "java",
        "linesOfCode" : 104,
        "components" : [ "primary::test-library-models" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 32,
      "endLine" : 43,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jar-infer/jar-infer-lib/src/main/java/com/uber/nullaway/jarinfer/BytecodeAnnotator.java",
        "extension" : "java",
        "linesOfCode" : 268,
        "components" : [ "primary::jar-infer" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 205,
      "startLine" : 286,
      "endLine" : 293,
      "cleanedStartLine" : 149,
      "cleanedEndLine" : 156
    }, {
      "file" : {
        "relativePath" : "jar-infer/jar-infer-lib/src/main/java/com/uber/nullaway/jarinfer/BytecodeAnnotator.java",
        "extension" : "java",
        "linesOfCode" : 268,
        "components" : [ "primary::jar-infer" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 205,
      "startLine" : 327,
      "endLine" : 334,
      "cleanedStartLine" : 171,
      "cleanedEndLine" : 178
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/CompositeHandler.java",
        "extension" : "java",
        "linesOfCode" : 274,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 293,
      "endLine" : 300,
      "cleanedStartLine" : 165,
      "cleanedEndLine" : 172
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/LibraryModelsHandler.java",
        "extension" : "java",
        "linesOfCode" : 1095,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 934,
      "startLine" : 186,
      "endLine" : 193,
      "cleanedStartLine" : 83,
      "cleanedEndLine" : 90
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/dataflow/CoreNullnessStoreInitializer.java",
        "extension" : "java",
        "linesOfCode" : 133,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 97,
      "startLine" : 28,
      "endLine" : 35,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/contract/ContractNullnessStoreInitializer.java",
        "extension" : "java",
        "linesOfCode" : 55,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 29,
      "endLine" : 36,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/BaseNoOpHandler.java",
        "extension" : "java",
        "linesOfCode" : 173,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 235,
      "endLine" : 242,
      "cleanedStartLine" : 112,
      "cleanedEndLine" : 119
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/CompositeHandler.java",
        "extension" : "java",
        "linesOfCode" : 274,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 293,
      "endLine" : 300,
      "cleanedStartLine" : 165,
      "cleanedEndLine" : 172
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/fixserialization/adapters/SerializationV1Adapter.java",
        "extension" : "java",
        "linesOfCode" : 45,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 52,
      "endLine" : 59,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 23
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/fixserialization/adapters/SerializationV3Adapter.java",
        "extension" : "java",
        "linesOfCode" : 75,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 69,
      "endLine" : 76,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 25
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/NullAway.java",
        "extension" : "java",
        "linesOfCode" : 1954,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1530,
      "startLine" : 2284,
      "endLine" : 2291,
      "cleanedStartLine" : 1288,
      "cleanedEndLine" : 1295
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/NullAway.java",
        "extension" : "java",
        "linesOfCode" : 1954,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1530,
      "startLine" : 2628,
      "endLine" : 2635,
      "cleanedStartLine" : 1515,
      "cleanedEndLine" : 1522
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/BaseNoOpHandler.java",
        "extension" : "java",
        "linesOfCode" : 173,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 124,
      "endLine" : 132,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 44
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/CompositeHandler.java",
        "extension" : "java",
        "linesOfCode" : 274,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 147,
      "endLine" : 155,
      "cleanedStartLine" : 58,
      "cleanedEndLine" : 64
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/BaseNoOpHandler.java",
        "extension" : "java",
        "linesOfCode" : 173,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 137,
      "endLine" : 143,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 52
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/RestrictiveAnnotationHandler.java",
        "extension" : "java",
        "linesOfCode" : 124,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 72,
      "endLine" : 78,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/Handler.java",
        "extension" : "java",
        "linesOfCode" : 132,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 97,
      "startLine" : 251,
      "endLine" : 257,
      "cleanedStartLine" : 44,
      "cleanedEndLine" : 50
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/OptionalEmptinessHandler.java",
        "extension" : "java",
        "linesOfCode" : 328,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 232,
      "startLine" : 119,
      "endLine" : 125,
      "cleanedStartLine" : 36,
      "cleanedEndLine" : 42
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/CompositeHandler.java",
        "extension" : "java",
        "linesOfCode" : 274,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 164,
      "endLine" : 170,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 76
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/RestrictiveAnnotationHandler.java",
        "extension" : "java",
        "linesOfCode" : 124,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 72,
      "endLine" : 78,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/GrpcHandler.java",
        "extension" : "java",
        "linesOfCode" : 120,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 87,
      "endLine" : 93,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/Handler.java",
        "extension" : "java",
        "linesOfCode" : 132,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 97,
      "startLine" : 251,
      "endLine" : 257,
      "cleanedStartLine" : 44,
      "cleanedEndLine" : 50
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/LibraryModelsHandler.java",
        "extension" : "java",
        "linesOfCode" : 1095,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 934,
      "startLine" : 149,
      "endLine" : 155,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 65
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/RestrictiveAnnotationHandler.java",
        "extension" : "java",
        "linesOfCode" : 124,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 72,
      "endLine" : 78,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/LibraryModelsHandler.java",
        "extension" : "java",
        "linesOfCode" : 1095,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 934,
      "startLine" : 149,
      "endLine" : 155,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 65
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/LombokHandler.java",
        "extension" : "java",
        "linesOfCode" : 75,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 60,
      "endLine" : 66,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 35
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/BaseNoOpHandler.java",
        "extension" : "java",
        "linesOfCode" : 173,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 137,
      "endLine" : 143,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 52
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/LibraryModelsHandler.java",
        "extension" : "java",
        "linesOfCode" : 1095,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 934,
      "startLine" : 149,
      "endLine" : 155,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 65
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/BaseNoOpHandler.java",
        "extension" : "java",
        "linesOfCode" : 173,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 137,
      "endLine" : 143,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 52
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/InferredJARModelsHandler.java",
        "extension" : "java",
        "linesOfCode" : 285,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 213,
      "startLine" : 192,
      "endLine" : 198,
      "cleanedStartLine" : 94,
      "cleanedEndLine" : 100
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/InferredJARModelsHandler.java",
        "extension" : "java",
        "linesOfCode" : 285,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 213,
      "startLine" : 192,
      "endLine" : 198,
      "cleanedStartLine" : 94,
      "cleanedEndLine" : 100
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/LibraryModelsHandler.java",
        "extension" : "java",
        "linesOfCode" : 1095,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 934,
      "startLine" : 149,
      "endLine" : 155,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 65
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/CompositeHandler.java",
        "extension" : "java",
        "linesOfCode" : 274,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 164,
      "endLine" : 170,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 76
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/OptionalEmptinessHandler.java",
        "extension" : "java",
        "linesOfCode" : 328,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 232,
      "startLine" : 83,
      "endLine" : 89,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/CompositeHandler.java",
        "extension" : "java",
        "linesOfCode" : 274,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 190,
      "endLine" : 196,
      "cleanedStartLine" : 90,
      "cleanedEndLine" : 96
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/Handler.java",
        "extension" : "java",
        "linesOfCode" : 132,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 97,
      "startLine" : 251,
      "endLine" : 257,
      "cleanedStartLine" : 44,
      "cleanedEndLine" : 50
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/BaseNoOpHandler.java",
        "extension" : "java",
        "linesOfCode" : 173,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 158,
      "endLine" : 164,
      "cleanedStartLine" : 62,
      "cleanedEndLine" : 68
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/Handler.java",
        "extension" : "java",
        "linesOfCode" : 132,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 97,
      "startLine" : 251,
      "endLine" : 257,
      "cleanedStartLine" : 44,
      "cleanedEndLine" : 50
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/BaseNoOpHandler.java",
        "extension" : "java",
        "linesOfCode" : 173,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 137,
      "endLine" : 143,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 52
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/OptionalEmptinessHandler.java",
        "extension" : "java",
        "linesOfCode" : 328,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 232,
      "startLine" : 83,
      "endLine" : 89,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/ApacheThriftIsSetHandler.java",
        "extension" : "java",
        "linesOfCode" : 129,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 85,
      "startLine" : 75,
      "endLine" : 81,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/Handler.java",
        "extension" : "java",
        "linesOfCode" : 132,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 97,
      "startLine" : 251,
      "endLine" : 257,
      "cleanedStartLine" : 44,
      "cleanedEndLine" : 50
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/CompositeHandler.java",
        "extension" : "java",
        "linesOfCode" : 274,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 164,
      "endLine" : 170,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 76
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/LibraryModelsHandler.java",
        "extension" : "java",
        "linesOfCode" : 1095,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 934,
      "startLine" : 149,
      "endLine" : 155,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 65
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/LibraryModelsHandler.java",
        "extension" : "java",
        "linesOfCode" : 1095,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 934,
      "startLine" : 131,
      "endLine" : 139,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 52
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/RestrictiveAnnotationHandler.java",
        "extension" : "java",
        "linesOfCode" : 124,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 132,
      "endLine" : 140,
      "cleanedStartLine" : 51,
      "cleanedEndLine" : 57
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/BaseNoOpHandler.java",
        "extension" : "java",
        "linesOfCode" : 173,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 137,
      "endLine" : 143,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 52
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/LombokHandler.java",
        "extension" : "java",
        "linesOfCode" : 75,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 60,
      "endLine" : 66,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 35
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/CompositeHandler.java",
        "extension" : "java",
        "linesOfCode" : 274,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 164,
      "endLine" : 170,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 76
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/LombokHandler.java",
        "extension" : "java",
        "linesOfCode" : 75,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 60,
      "endLine" : 66,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 35
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/Handler.java",
        "extension" : "java",
        "linesOfCode" : 132,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 97,
      "startLine" : 251,
      "endLine" : 257,
      "cleanedStartLine" : 44,
      "cleanedEndLine" : 50
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/InferredJARModelsHandler.java",
        "extension" : "java",
        "linesOfCode" : 285,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 213,
      "startLine" : 178,
      "endLine" : 184,
      "cleanedStartLine" : 83,
      "cleanedEndLine" : 89
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/dataflow/AccessPathNullnessAnalysis.java",
        "extension" : "java",
        "linesOfCode" : 225,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 159,
      "startLine" : 76,
      "endLine" : 82,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 24
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/dataflow/AccessPathNullnessAnalysis.java",
        "extension" : "java",
        "linesOfCode" : 225,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 159,
      "startLine" : 88,
      "endLine" : 94,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 35
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/LibraryModelsHandler.java",
        "extension" : "java",
        "linesOfCode" : 1095,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 934,
      "startLine" : 149,
      "endLine" : 155,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 65
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/OptionalEmptinessHandler.java",
        "extension" : "java",
        "linesOfCode" : 328,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 232,
      "startLine" : 83,
      "endLine" : 89,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/CompositeHandler.java",
        "extension" : "java",
        "linesOfCode" : 274,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 164,
      "endLine" : 170,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 76
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/InferredJARModelsHandler.java",
        "extension" : "java",
        "linesOfCode" : 285,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 213,
      "startLine" : 192,
      "endLine" : 198,
      "cleanedStartLine" : 94,
      "cleanedEndLine" : 100
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/StreamNullabilityPropagatorFactory.java",
        "extension" : "java",
        "linesOfCode" : 108,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 97,
      "startLine" : 113,
      "endLine" : 123,
      "cleanedStartLine" : 58,
      "cleanedEndLine" : 64
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/StreamNullabilityPropagatorFactory.java",
        "extension" : "java",
        "linesOfCode" : 108,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 97,
      "startLine" : 153,
      "endLine" : 159,
      "cleanedStartLine" : 84,
      "cleanedEndLine" : 90
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/StreamNullabilityPropagatorFactory.java",
        "extension" : "java",
        "linesOfCode" : 108,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 97,
      "startLine" : 113,
      "endLine" : 123,
      "cleanedStartLine" : 58,
      "cleanedEndLine" : 64
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/StreamNullabilityPropagatorFactory.java",
        "extension" : "java",
        "linesOfCode" : 108,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 97,
      "startLine" : 143,
      "endLine" : 149,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 80
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/fixserialization/location/MethodLocation.java",
        "extension" : "java",
        "linesOfCode" : 23,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 15,
      "startLine" : 41,
      "endLine" : 47,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/fixserialization/location/MethodParameterLocation.java",
        "extension" : "java",
        "linesOfCode" : 41,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 64,
      "endLine" : 70,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 26
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/dataflow/AccessPath.java",
        "extension" : "java",
        "linesOfCode" : 442,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 322,
      "startLine" : 530,
      "endLine" : 536,
      "cleanedStartLine" : 218,
      "cleanedEndLine" : 223
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/ApacheThriftIsSetHandler.java",
        "extension" : "java",
        "linesOfCode" : 129,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 85,
      "startLine" : 123,
      "endLine" : 129,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 51
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/BaseNoOpHandler.java",
        "extension" : "java",
        "linesOfCode" : 173,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 127,
      "endLine" : 132,
      "cleanedStartLine" : 39,
      "cleanedEndLine" : 44
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/InferredJARModelsHandler.java",
        "extension" : "java",
        "linesOfCode" : 285,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 213,
      "startLine" : 123,
      "endLine" : 128,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 54
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/CompositeHandler.java",
        "extension" : "java",
        "linesOfCode" : 274,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 125,
      "endLine" : 130,
      "cleanedStartLine" : 43,
      "cleanedEndLine" : 48
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/temporary/FluentFutureHandler.java",
        "extension" : "java",
        "linesOfCode" : 72,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 73,
      "endLine" : 78,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 34
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/BaseNoOpHandler.java",
        "extension" : "java",
        "linesOfCode" : 173,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 111,
      "endLine" : 116,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 34
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/LombokHandler.java",
        "extension" : "java",
        "linesOfCode" : 75,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 78,
      "endLine" : 83,
      "cleanedStartLine" : 43,
      "cleanedEndLine" : 48
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jar-infer/test-android-lib-jarinfer/src/main/java/com/uber/nullaway/jarinfer/toys/unannotated/Toys.java",
        "extension" : "java",
        "linesOfCode" : 38,
        "components" : [ "primary::jar-infer" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 3,
      "endLine" : 10,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "jar-infer/test-java-lib-jarinfer/src/main/java/com/uber/nullaway/jarinfer/toys/unannotated/Toys.java",
        "extension" : "java",
        "linesOfCode" : 39,
        "components" : [ "primary::jar-infer" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 5,
      "endLine" : 12,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/AssertionHandler.java",
        "extension" : "java",
        "linesOfCode" : 65,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 50,
      "endLine" : 55,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/OptionalEmptinessHandler.java",
        "extension" : "java",
        "linesOfCode" : 328,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 232,
      "startLine" : 121,
      "endLine" : 126,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 43
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/BaseNoOpHandler.java",
        "extension" : "java",
        "linesOfCode" : 173,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 160,
      "endLine" : 165,
      "cleanedStartLine" : 64,
      "cleanedEndLine" : 69
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/contract/fieldcontract/EnsuresNonNullHandler.java",
        "extension" : "java",
        "linesOfCode" : 150,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 110,
      "startLine" : 177,
      "endLine" : 182,
      "cleanedStartLine" : 86,
      "cleanedEndLine" : 91
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/BaseNoOpHandler.java",
        "extension" : "java",
        "linesOfCode" : 173,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 79,
      "endLine" : 84,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/StreamNullabilityPropagator.java",
        "extension" : "java",
        "linesOfCode" : 415,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 297,
      "startLine" : 209,
      "endLine" : 214,
      "cleanedStartLine" : 39,
      "cleanedEndLine" : 44
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/CompositeHandler.java",
        "extension" : "java",
        "linesOfCode" : 274,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 85,
      "endLine" : 90,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/StreamNullabilityPropagator.java",
        "extension" : "java",
        "linesOfCode" : 415,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 297,
      "startLine" : 425,
      "endLine" : 430,
      "cleanedStartLine" : 176,
      "cleanedEndLine" : 181
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/OptionalEmptinessHandler.java",
        "extension" : "java",
        "linesOfCode" : 328,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 232,
      "startLine" : 121,
      "endLine" : 126,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 43
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/contract/fieldcontract/EnsuresNonNullHandler.java",
        "extension" : "java",
        "linesOfCode" : 150,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 110,
      "startLine" : 177,
      "endLine" : 182,
      "cleanedStartLine" : 86,
      "cleanedEndLine" : 91
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/RestrictiveAnnotationHandler.java",
        "extension" : "java",
        "linesOfCode" : 124,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 135,
      "endLine" : 140,
      "cleanedStartLine" : 52,
      "cleanedEndLine" : 57
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/temporary/FluentFutureHandler.java",
        "extension" : "java",
        "linesOfCode" : 72,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 73,
      "endLine" : 78,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 34
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/InferredJARModelsHandler.java",
        "extension" : "java",
        "linesOfCode" : 285,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 213,
      "startLine" : 180,
      "endLine" : 185,
      "cleanedStartLine" : 85,
      "cleanedEndLine" : 90
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/contract/fieldcontract/EnsuresNonNullHandler.java",
        "extension" : "java",
        "linesOfCode" : 150,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 110,
      "startLine" : 177,
      "endLine" : 182,
      "cleanedStartLine" : 86,
      "cleanedEndLine" : 91
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/CompositeHandler.java",
        "extension" : "java",
        "linesOfCode" : 274,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 192,
      "endLine" : 197,
      "cleanedStartLine" : 92,
      "cleanedEndLine" : 97
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/contract/fieldcontract/EnsuresNonNullHandler.java",
        "extension" : "java",
        "linesOfCode" : 150,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 110,
      "startLine" : 177,
      "endLine" : 182,
      "cleanedStartLine" : 86,
      "cleanedEndLine" : 91
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/CompositeHandler.java",
        "extension" : "java",
        "linesOfCode" : 274,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 107,
      "endLine" : 112,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 36
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/StreamNullabilityPropagator.java",
        "extension" : "java",
        "linesOfCode" : 415,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 297,
      "startLine" : 209,
      "endLine" : 214,
      "cleanedStartLine" : 39,
      "cleanedEndLine" : 44
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/LibraryModelsHandler.java",
        "extension" : "java",
        "linesOfCode" : 1095,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 934,
      "startLine" : 222,
      "endLine" : 227,
      "cleanedStartLine" : 109,
      "cleanedEndLine" : 114
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/RestrictiveAnnotationHandler.java",
        "extension" : "java",
        "linesOfCode" : 124,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 159,
      "endLine" : 164,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 74
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/InferredJARModelsHandler.java",
        "extension" : "java",
        "linesOfCode" : 285,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 213,
      "startLine" : 180,
      "endLine" : 185,
      "cleanedStartLine" : 85,
      "cleanedEndLine" : 90
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/contract/ContractHandler.java",
        "extension" : "java",
        "linesOfCode" : 249,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 187,
      "endLine" : 192,
      "cleanedStartLine" : 63,
      "cleanedEndLine" : 68
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/InferredJARModelsHandler.java",
        "extension" : "java",
        "linesOfCode" : 285,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 213,
      "startLine" : 123,
      "endLine" : 128,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 54
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/LibraryModelsHandler.java",
        "extension" : "java",
        "linesOfCode" : 1095,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 934,
      "startLine" : 104,
      "endLine" : 109,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/BaseNoOpHandler.java",
        "extension" : "java",
        "linesOfCode" : 173,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 88,
      "endLine" : 93,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/StreamNullabilityPropagator.java",
        "extension" : "java",
        "linesOfCode" : 415,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 297,
      "startLine" : 425,
      "endLine" : 430,
      "cleanedStartLine" : 176,
      "cleanedEndLine" : 181
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/RestrictiveAnnotationHandler.java",
        "extension" : "java",
        "linesOfCode" : 124,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 159,
      "endLine" : 164,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/contract/ContractHandler.java",
        "extension" : "java",
        "linesOfCode" : 249,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 187,
      "endLine" : 192,
      "cleanedStartLine" : 63,
      "cleanedEndLine" : 68
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/BaseNoOpHandler.java",
        "extension" : "java",
        "linesOfCode" : 173,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 145,
      "endLine" : 152,
      "cleanedStartLine" : 53,
      "cleanedEndLine" : 58
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/CompositeHandler.java",
        "extension" : "java",
        "linesOfCode" : 274,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 174,
      "endLine" : 181,
      "cleanedStartLine" : 79,
      "cleanedEndLine" : 84
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/BaseNoOpHandler.java",
        "extension" : "java",
        "linesOfCode" : 173,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 79,
      "endLine" : 84,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/CompositeHandler.java",
        "extension" : "java",
        "linesOfCode" : 274,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 107,
      "endLine" : 112,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 36
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/BaseNoOpHandler.java",
        "extension" : "java",
        "linesOfCode" : 173,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 111,
      "endLine" : 116,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 34
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/CompositeHandler.java",
        "extension" : "java",
        "linesOfCode" : 274,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 125,
      "endLine" : 130,
      "cleanedStartLine" : 43,
      "cleanedEndLine" : 48
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/InferredJARModelsHandler.java",
        "extension" : "java",
        "linesOfCode" : 285,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 213,
      "startLine" : 180,
      "endLine" : 185,
      "cleanedStartLine" : 85,
      "cleanedEndLine" : 90
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/LibraryModelsHandler.java",
        "extension" : "java",
        "linesOfCode" : 1095,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 934,
      "startLine" : 222,
      "endLine" : 227,
      "cleanedStartLine" : 109,
      "cleanedEndLine" : 114
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/LibraryModels.java",
        "extension" : "java",
        "linesOfCode" : 96,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 68,
      "startLine" : 247,
      "endLine" : 253,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 46
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/dataflow/AccessPath.java",
        "extension" : "java",
        "linesOfCode" : 442,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 322,
      "startLine" : 530,
      "endLine" : 536,
      "cleanedStartLine" : 218,
      "cleanedEndLine" : 223
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/GrpcHandler.java",
        "extension" : "java",
        "linesOfCode" : 120,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 89,
      "endLine" : 94,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 32
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/RestrictiveAnnotationHandler.java",
        "extension" : "java",
        "linesOfCode" : 124,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 159,
      "endLine" : 164,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 74
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/CompositeHandler.java",
        "extension" : "java",
        "linesOfCode" : 274,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 192,
      "endLine" : 197,
      "cleanedStartLine" : 92,
      "cleanedEndLine" : 97
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/RestrictiveAnnotationHandler.java",
        "extension" : "java",
        "linesOfCode" : 124,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 159,
      "endLine" : 164,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 74
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/InferredJARModelsHandler.java",
        "extension" : "java",
        "linesOfCode" : 285,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 213,
      "startLine" : 180,
      "endLine" : 185,
      "cleanedStartLine" : 85,
      "cleanedEndLine" : 90
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/RestrictiveAnnotationHandler.java",
        "extension" : "java",
        "linesOfCode" : 124,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 159,
      "endLine" : 164,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 74
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/ApacheThriftIsSetHandler.java",
        "extension" : "java",
        "linesOfCode" : 129,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 85,
      "startLine" : 77,
      "endLine" : 82,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/contract/fieldcontract/EnsuresNonNullHandler.java",
        "extension" : "java",
        "linesOfCode" : 150,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 110,
      "startLine" : 177,
      "endLine" : 182,
      "cleanedStartLine" : 86,
      "cleanedEndLine" : 91
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/GrpcHandler.java",
        "extension" : "java",
        "linesOfCode" : 120,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 89,
      "endLine" : 94,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 32
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/contract/ContractHandler.java",
        "extension" : "java",
        "linesOfCode" : 249,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 187,
      "endLine" : 192,
      "cleanedStartLine" : 63,
      "cleanedEndLine" : 68
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/LibraryModels.java",
        "extension" : "java",
        "linesOfCode" : 96,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 68,
      "startLine" : 247,
      "endLine" : 253,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 46
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/ApacheThriftIsSetHandler.java",
        "extension" : "java",
        "linesOfCode" : 129,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 85,
      "startLine" : 123,
      "endLine" : 129,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 51
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/Handler.java",
        "extension" : "java",
        "linesOfCode" : 132,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 97,
      "startLine" : 276,
      "endLine" : 281,
      "cleanedStartLine" : 53,
      "cleanedEndLine" : 58
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/LibraryModelsHandler.java",
        "extension" : "java",
        "linesOfCode" : 1095,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 934,
      "startLine" : 92,
      "endLine" : 97,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/BaseNoOpHandler.java",
        "extension" : "java",
        "linesOfCode" : 173,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 97,
      "endLine" : 102,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/CompositeHandler.java",
        "extension" : "java",
        "linesOfCode" : 274,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 96,
      "endLine" : 101,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/LibraryModelsHandler.java",
        "extension" : "java",
        "linesOfCode" : 1095,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 934,
      "startLine" : 222,
      "endLine" : 227,
      "cleanedStartLine" : 109,
      "cleanedEndLine" : 114
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/OptionalEmptinessHandler.java",
        "extension" : "java",
        "linesOfCode" : 328,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 232,
      "startLine" : 121,
      "endLine" : 126,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 43
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/Handler.java",
        "extension" : "java",
        "linesOfCode" : 132,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 97,
      "startLine" : 276,
      "endLine" : 281,
      "cleanedStartLine" : 53,
      "cleanedEndLine" : 58
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/RestrictiveAnnotationHandler.java",
        "extension" : "java",
        "linesOfCode" : 124,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 172,
      "endLine" : 177,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 85
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/BaseNoOpHandler.java",
        "extension" : "java",
        "linesOfCode" : 173,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 127,
      "endLine" : 132,
      "cleanedStartLine" : 39,
      "cleanedEndLine" : 44
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/RestrictiveAnnotationHandler.java",
        "extension" : "java",
        "linesOfCode" : 124,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 100,
      "endLine" : 105,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 36
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/ApacheThriftIsSetHandler.java",
        "extension" : "java",
        "linesOfCode" : 129,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 85,
      "startLine" : 77,
      "endLine" : 82,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/contract/ContractHandler.java",
        "extension" : "java",
        "linesOfCode" : 249,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 187,
      "endLine" : 192,
      "cleanedStartLine" : 63,
      "cleanedEndLine" : 68
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/LombokHandler.java",
        "extension" : "java",
        "linesOfCode" : 75,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 78,
      "endLine" : 83,
      "cleanedStartLine" : 43,
      "cleanedEndLine" : 48
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/RestrictiveAnnotationHandler.java",
        "extension" : "java",
        "linesOfCode" : 124,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 135,
      "endLine" : 140,
      "cleanedStartLine" : 52,
      "cleanedEndLine" : 57
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/LibraryModelsHandler.java",
        "extension" : "java",
        "linesOfCode" : 1095,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 934,
      "startLine" : 104,
      "endLine" : 109,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/RestrictiveAnnotationHandler.java",
        "extension" : "java",
        "linesOfCode" : 124,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 100,
      "endLine" : 105,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 36
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/BaseNoOpHandler.java",
        "extension" : "java",
        "linesOfCode" : 173,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 111,
      "endLine" : 116,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 34
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/temporary/FluentFutureHandler.java",
        "extension" : "java",
        "linesOfCode" : 72,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 73,
      "endLine" : 78,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 34
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/LibraryModelsHandler.java",
        "extension" : "java",
        "linesOfCode" : 1095,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 934,
      "startLine" : 222,
      "endLine" : 227,
      "cleanedStartLine" : 109,
      "cleanedEndLine" : 114
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/contract/fieldcontract/EnsuresNonNullHandler.java",
        "extension" : "java",
        "linesOfCode" : 150,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 110,
      "startLine" : 177,
      "endLine" : 182,
      "cleanedStartLine" : 86,
      "cleanedEndLine" : 91
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/BaseNoOpHandler.java",
        "extension" : "java",
        "linesOfCode" : 173,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 160,
      "endLine" : 165,
      "cleanedStartLine" : 64,
      "cleanedEndLine" : 69
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/LibraryModelsHandler.java",
        "extension" : "java",
        "linesOfCode" : 1095,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 934,
      "startLine" : 222,
      "endLine" : 227,
      "cleanedStartLine" : 109,
      "cleanedEndLine" : 114
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/fixserialization/adapters/SerializationV1Adapter.java",
        "extension" : "java",
        "linesOfCode" : 45,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 60,
      "endLine" : 67,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/fixserialization/adapters/SerializationV3Adapter.java",
        "extension" : "java",
        "linesOfCode" : 75,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 79,
      "endLine" : 86,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 33
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/generics/GenericsChecks.java",
        "extension" : "java",
        "linesOfCode" : 525,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 404,
      "startLine" : 628,
      "endLine" : 633,
      "cleanedStartLine" : 304,
      "cleanedEndLine" : 309
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/generics/GenericsChecks.java",
        "extension" : "java",
        "linesOfCode" : 525,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 404,
      "startLine" : 681,
      "endLine" : 686,
      "cleanedStartLine" : 319,
      "cleanedEndLine" : 324
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/CompositeHandler.java",
        "extension" : "java",
        "linesOfCode" : 274,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 210,
      "endLine" : 215,
      "cleanedStartLine" : 107,
      "cleanedEndLine" : 112
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/Handler.java",
        "extension" : "java",
        "linesOfCode" : 132,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 97,
      "startLine" : 276,
      "endLine" : 281,
      "cleanedStartLine" : 53,
      "cleanedEndLine" : 58
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/ApacheThriftIsSetHandler.java",
        "extension" : "java",
        "linesOfCode" : 129,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 85,
      "startLine" : 77,
      "endLine" : 82,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/RestrictiveAnnotationHandler.java",
        "extension" : "java",
        "linesOfCode" : 124,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 159,
      "endLine" : 164,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 74
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/CompositeHandler.java",
        "extension" : "java",
        "linesOfCode" : 274,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 107,
      "endLine" : 112,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 36
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/contract/fieldcontract/RequiresNonNullHandler.java",
        "extension" : "java",
        "linesOfCode" : 143,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 98,
      "startLine" : 130,
      "endLine" : 135,
      "cleanedStartLine" : 43,
      "cleanedEndLine" : 48
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/LibraryModelsHandler.java",
        "extension" : "java",
        "linesOfCode" : 1095,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 934,
      "startLine" : 134,
      "endLine" : 139,
      "cleanedStartLine" : 47,
      "cleanedEndLine" : 52
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/temporary/FluentFutureHandler.java",
        "extension" : "java",
        "linesOfCode" : 72,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 73,
      "endLine" : 78,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 34
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/AssertionHandler.java",
        "extension" : "java",
        "linesOfCode" : 65,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 50,
      "endLine" : 55,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/CompositeHandler.java",
        "extension" : "java",
        "linesOfCode" : 274,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 192,
      "endLine" : 197,
      "cleanedStartLine" : 92,
      "cleanedEndLine" : 97
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/BaseNoOpHandler.java",
        "extension" : "java",
        "linesOfCode" : 173,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 127,
      "endLine" : 132,
      "cleanedStartLine" : 39,
      "cleanedEndLine" : 44
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/LibraryModelsHandler.java",
        "extension" : "java",
        "linesOfCode" : 1095,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 934,
      "startLine" : 104,
      "endLine" : 109,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/CompositeHandler.java",
        "extension" : "java",
        "linesOfCode" : 274,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 150,
      "endLine" : 155,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 64
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/LibraryModelsHandler.java",
        "extension" : "java",
        "linesOfCode" : 1095,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 934,
      "startLine" : 104,
      "endLine" : 109,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/fixserialization/location/FieldLocation.java",
        "extension" : "java",
        "linesOfCode" : 23,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 15,
      "startLine" : 41,
      "endLine" : 46,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/fixserialization/location/MethodLocation.java",
        "extension" : "java",
        "linesOfCode" : 23,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 15,
      "startLine" : 41,
      "endLine" : 46,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/CompositeHandler.java",
        "extension" : "java",
        "linesOfCode" : 274,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 125,
      "endLine" : 130,
      "cleanedStartLine" : 43,
      "cleanedEndLine" : 48
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/LibraryModelsHandler.java",
        "extension" : "java",
        "linesOfCode" : 1095,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 934,
      "startLine" : 134,
      "endLine" : 139,
      "cleanedStartLine" : 47,
      "cleanedEndLine" : 52
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/CompositeHandler.java",
        "extension" : "java",
        "linesOfCode" : 274,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 192,
      "endLine" : 197,
      "cleanedStartLine" : 92,
      "cleanedEndLine" : 97
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/LibraryModelsHandler.java",
        "extension" : "java",
        "linesOfCode" : 1095,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 934,
      "startLine" : 222,
      "endLine" : 227,
      "cleanedStartLine" : 109,
      "cleanedEndLine" : 114
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/BaseNoOpHandler.java",
        "extension" : "java",
        "linesOfCode" : 173,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 160,
      "endLine" : 165,
      "cleanedStartLine" : 64,
      "cleanedEndLine" : 69
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/RestrictiveAnnotationHandler.java",
        "extension" : "java",
        "linesOfCode" : 124,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 159,
      "endLine" : 164,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 74
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/AbstractFieldContractHandler.java",
        "extension" : "java",
        "linesOfCode" : 149,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 114,
      "startLine" : 205,
      "endLine" : 213,
      "cleanedStartLine" : 98,
      "cleanedEndLine" : 103
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/contract/fieldcontract/EnsuresNonNullHandler.java",
        "extension" : "java",
        "linesOfCode" : 150,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 110,
      "startLine" : 105,
      "endLine" : 111,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 40
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/AssertionHandler.java",
        "extension" : "java",
        "linesOfCode" : 65,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 50,
      "endLine" : 55,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/InferredJARModelsHandler.java",
        "extension" : "java",
        "linesOfCode" : 285,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 213,
      "startLine" : 180,
      "endLine" : 185,
      "cleanedStartLine" : 85,
      "cleanedEndLine" : 90
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/BaseNoOpHandler.java",
        "extension" : "java",
        "linesOfCode" : 173,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 111,
      "endLine" : 116,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 34
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/RestrictiveAnnotationHandler.java",
        "extension" : "java",
        "linesOfCode" : 124,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 135,
      "endLine" : 140,
      "cleanedStartLine" : 52,
      "cleanedEndLine" : 57
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/AssertionHandler.java",
        "extension" : "java",
        "linesOfCode" : 65,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 50,
      "endLine" : 55,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/GrpcHandler.java",
        "extension" : "java",
        "linesOfCode" : 120,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 89,
      "endLine" : 94,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 32
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/CompositeHandler.java",
        "extension" : "java",
        "linesOfCode" : 274,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 125,
      "endLine" : 130,
      "cleanedStartLine" : 43,
      "cleanedEndLine" : 48
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/RestrictiveAnnotationHandler.java",
        "extension" : "java",
        "linesOfCode" : 124,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 135,
      "endLine" : 140,
      "cleanedStartLine" : 52,
      "cleanedEndLine" : 57
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/BaseNoOpHandler.java",
        "extension" : "java",
        "linesOfCode" : 173,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 111,
      "endLine" : 116,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 34
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/LibraryModelsHandler.java",
        "extension" : "java",
        "linesOfCode" : 1095,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 934,
      "startLine" : 134,
      "endLine" : 139,
      "cleanedStartLine" : 47,
      "cleanedEndLine" : 52
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/AssertionHandler.java",
        "extension" : "java",
        "linesOfCode" : 65,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 50,
      "endLine" : 55,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/contract/fieldcontract/EnsuresNonNullHandler.java",
        "extension" : "java",
        "linesOfCode" : 150,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 110,
      "startLine" : 177,
      "endLine" : 182,
      "cleanedStartLine" : 86,
      "cleanedEndLine" : 91
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/BaseNoOpHandler.java",
        "extension" : "java",
        "linesOfCode" : 173,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 88,
      "endLine" : 93,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/CompositeHandler.java",
        "extension" : "java",
        "linesOfCode" : 274,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 85,
      "endLine" : 90,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/BaseNoOpHandler.java",
        "extension" : "java",
        "linesOfCode" : 173,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 79,
      "endLine" : 84,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/contract/fieldcontract/RequiresNonNullHandler.java",
        "extension" : "java",
        "linesOfCode" : 143,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 98,
      "startLine" : 130,
      "endLine" : 135,
      "cleanedStartLine" : 43,
      "cleanedEndLine" : 48
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/AssertionHandler.java",
        "extension" : "java",
        "linesOfCode" : 65,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 50,
      "endLine" : 55,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/BaseNoOpHandler.java",
        "extension" : "java",
        "linesOfCode" : 173,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 160,
      "endLine" : 165,
      "cleanedStartLine" : 64,
      "cleanedEndLine" : 69
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/LombokHandler.java",
        "extension" : "java",
        "linesOfCode" : 75,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 78,
      "endLine" : 83,
      "cleanedStartLine" : 43,
      "cleanedEndLine" : 48
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/temporary/FluentFutureHandler.java",
        "extension" : "java",
        "linesOfCode" : 72,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 73,
      "endLine" : 78,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 34
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/CompositeHandler.java",
        "extension" : "java",
        "linesOfCode" : 274,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 192,
      "endLine" : 197,
      "cleanedStartLine" : 92,
      "cleanedEndLine" : 97
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/contract/ContractHandler.java",
        "extension" : "java",
        "linesOfCode" : 249,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 187,
      "endLine" : 192,
      "cleanedStartLine" : 63,
      "cleanedEndLine" : 68
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/ApacheThriftIsSetHandler.java",
        "extension" : "java",
        "linesOfCode" : 129,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 85,
      "startLine" : 77,
      "endLine" : 82,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/AssertionHandler.java",
        "extension" : "java",
        "linesOfCode" : 65,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 50,
      "endLine" : 55,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/CompositeHandler.java",
        "extension" : "java",
        "linesOfCode" : 274,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 96,
      "endLine" : 101,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/StreamNullabilityPropagator.java",
        "extension" : "java",
        "linesOfCode" : 415,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 297,
      "startLine" : 444,
      "endLine" : 449,
      "cleanedStartLine" : 189,
      "cleanedEndLine" : 194
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/GrpcHandler.java",
        "extension" : "java",
        "linesOfCode" : 120,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 89,
      "endLine" : 94,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 32
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/contract/fieldcontract/EnsuresNonNullHandler.java",
        "extension" : "java",
        "linesOfCode" : 150,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 110,
      "startLine" : 177,
      "endLine" : 182,
      "cleanedStartLine" : 86,
      "cleanedEndLine" : 91
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/LibraryModelsHandler.java",
        "extension" : "java",
        "linesOfCode" : 1095,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 934,
      "startLine" : 209,
      "endLine" : 218,
      "cleanedStartLine" : 100,
      "cleanedEndLine" : 105
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/RestrictiveAnnotationHandler.java",
        "extension" : "java",
        "linesOfCode" : 124,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 91,
      "endLine" : 100,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 31
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/contract/ContractHandler.java",
        "extension" : "java",
        "linesOfCode" : 249,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 187,
      "endLine" : 192,
      "cleanedStartLine" : 63,
      "cleanedEndLine" : 68
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/contract/fieldcontract/EnsuresNonNullHandler.java",
        "extension" : "java",
        "linesOfCode" : 150,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 110,
      "startLine" : 177,
      "endLine" : 182,
      "cleanedStartLine" : 86,
      "cleanedEndLine" : 91
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/fixserialization/location/FieldLocation.java",
        "extension" : "java",
        "linesOfCode" : 23,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 15,
      "startLine" : 41,
      "endLine" : 46,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/fixserialization/location/MethodParameterLocation.java",
        "extension" : "java",
        "linesOfCode" : 41,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 64,
      "endLine" : 69,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 25
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/BaseNoOpHandler.java",
        "extension" : "java",
        "linesOfCode" : 173,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 172,
      "endLine" : 177,
      "cleanedStartLine" : 73,
      "cleanedEndLine" : 78
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/Handler.java",
        "extension" : "java",
        "linesOfCode" : 132,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 97,
      "startLine" : 276,
      "endLine" : 281,
      "cleanedStartLine" : 53,
      "cleanedEndLine" : 58
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/OptionalEmptinessHandler.java",
        "extension" : "java",
        "linesOfCode" : 328,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 232,
      "startLine" : 121,
      "endLine" : 126,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 43
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/contract/ContractHandler.java",
        "extension" : "java",
        "linesOfCode" : 249,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 187,
      "endLine" : 192,
      "cleanedStartLine" : 63,
      "cleanedEndLine" : 68
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/AbstractFieldContractHandler.java",
        "extension" : "java",
        "linesOfCode" : 149,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 114,
      "startLine" : 159,
      "endLine" : 164,
      "cleanedStartLine" : 55,
      "cleanedEndLine" : 60
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/AbstractFieldContractHandler.java",
        "extension" : "java",
        "linesOfCode" : 149,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 114,
      "startLine" : 181,
      "endLine" : 186,
      "cleanedStartLine" : 76,
      "cleanedEndLine" : 81
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/StreamNullabilityPropagator.java",
        "extension" : "java",
        "linesOfCode" : 415,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 297,
      "startLine" : 209,
      "endLine" : 214,
      "cleanedStartLine" : 39,
      "cleanedEndLine" : 44
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/contract/fieldcontract/RequiresNonNullHandler.java",
        "extension" : "java",
        "linesOfCode" : 143,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 98,
      "startLine" : 130,
      "endLine" : 135,
      "cleanedStartLine" : 43,
      "cleanedEndLine" : 48
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/CompositeHandler.java",
        "extension" : "java",
        "linesOfCode" : 274,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 150,
      "endLine" : 155,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 64
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/InferredJARModelsHandler.java",
        "extension" : "java",
        "linesOfCode" : 285,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 213,
      "startLine" : 123,
      "endLine" : 128,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 54
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/AssertionHandler.java",
        "extension" : "java",
        "linesOfCode" : 65,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 50,
      "endLine" : 55,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/RestrictiveAnnotationHandler.java",
        "extension" : "java",
        "linesOfCode" : 124,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 159,
      "endLine" : 164,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 74
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/BaseNoOpHandler.java",
        "extension" : "java",
        "linesOfCode" : 173,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 97,
      "endLine" : 102,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/StreamNullabilityPropagator.java",
        "extension" : "java",
        "linesOfCode" : 415,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 297,
      "startLine" : 444,
      "endLine" : 449,
      "cleanedStartLine" : 189,
      "cleanedEndLine" : 194
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/BaseNoOpHandler.java",
        "extension" : "java",
        "linesOfCode" : 173,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 160,
      "endLine" : 165,
      "cleanedStartLine" : 64,
      "cleanedEndLine" : 69
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/contract/ContractHandler.java",
        "extension" : "java",
        "linesOfCode" : 249,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 187,
      "endLine" : 192,
      "cleanedStartLine" : 63,
      "cleanedEndLine" : 68
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/CompositeHandler.java",
        "extension" : "java",
        "linesOfCode" : 274,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 125,
      "endLine" : 130,
      "cleanedStartLine" : 43,
      "cleanedEndLine" : 48
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/LombokHandler.java",
        "extension" : "java",
        "linesOfCode" : 75,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 78,
      "endLine" : 83,
      "cleanedStartLine" : 43,
      "cleanedEndLine" : 48
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/GrpcHandler.java",
        "extension" : "java",
        "linesOfCode" : 120,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 89,
      "endLine" : 94,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 32
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/LibraryModelsHandler.java",
        "extension" : "java",
        "linesOfCode" : 1095,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 934,
      "startLine" : 222,
      "endLine" : 227,
      "cleanedStartLine" : 109,
      "cleanedEndLine" : 114
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/LibraryModelsHandler.java",
        "extension" : "java",
        "linesOfCode" : 1095,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 934,
      "startLine" : 134,
      "endLine" : 139,
      "cleanedStartLine" : 47,
      "cleanedEndLine" : 52
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/LombokHandler.java",
        "extension" : "java",
        "linesOfCode" : 75,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 78,
      "endLine" : 83,
      "cleanedStartLine" : 43,
      "cleanedEndLine" : 48
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/OptionalEmptinessHandler.java",
        "extension" : "java",
        "linesOfCode" : 328,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 232,
      "startLine" : 121,
      "endLine" : 126,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 43
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/RestrictiveAnnotationHandler.java",
        "extension" : "java",
        "linesOfCode" : 124,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 159,
      "endLine" : 164,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 74
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/CompositeHandler.java",
        "extension" : "java",
        "linesOfCode" : 274,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 150,
      "endLine" : 155,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 64
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/RestrictiveAnnotationHandler.java",
        "extension" : "java",
        "linesOfCode" : 124,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 100,
      "endLine" : 105,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 36
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/ApacheThriftIsSetHandler.java",
        "extension" : "java",
        "linesOfCode" : 129,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 85,
      "startLine" : 77,
      "endLine" : 82,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "nullaway/src/main/java/com/uber/nullaway/handlers/LibraryModelsHandler.java",
        "extension" : "java",
        "linesOfCode" : 1095,
        "components" : [ "primary::nullaway" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 934,
      "startLine" : 222,
      "endLine" : 227,
      "cleanedStartLine" : 109,
      "cleanedEndLine" : 114
    } ]
  } ],
  "overallDuplication" : null
}