{
  "title" : "Duplication",
  "timestamp" : "2026-04-18 12:56:09",
  "duplicates" : [ {
    "blockSize" : 28,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "autodispose/src/main/java/autodispose2/AutoDisposingMaybeObserverImpl.java",
        "extension" : "java",
        "linesOfCode" : 78,
        "components" : [ "primary::autodispose" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 57,
      "endLine" : 95,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 49
    }, {
      "file" : {
        "relativePath" : "autodispose/src/main/java/autodispose2/AutoDisposingSingleObserverImpl.java",
        "extension" : "java",
        "linesOfCode" : 70,
        "components" : [ "primary::autodispose" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 57,
      "endLine" : 95,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 49
    } ]
  }, {
    "blockSize" : 26,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "sample/src/main/kotlin/autodispose2/sample/KotlinActivity.kt",
        "extension" : "kt",
        "linesOfCode" : 65,
        "components" : [ "primary::sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 56,
      "endLine" : 99,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 41
    }, {
      "file" : {
        "relativePath" : "sample/src/main/kotlin/autodispose2/sample/KotlinFragment.kt",
        "extension" : "kt",
        "linesOfCode" : 85,
        "components" : [ "primary::sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 77,
      "endLine" : 120,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 51
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "autodispose/src/main/java/autodispose2/AutoDisposingCompletableObserverImpl.java",
        "extension" : "java",
        "linesOfCode" : 69,
        "components" : [ "primary::autodispose" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 56,
      "endLine" : 80,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "autodispose/src/main/java/autodispose2/AutoDisposingMaybeObserverImpl.java",
        "extension" : "java",
        "linesOfCode" : 78,
        "components" : [ "primary::autodispose" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 57,
      "endLine" : 81,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 38
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "autodispose/src/main/java/autodispose2/AutoDisposingObserverImpl.java",
        "extension" : "java",
        "linesOfCode" : 82,
        "components" : [ "primary::autodispose" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 57,
      "startLine" : 60,
      "endLine" : 84,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 40
    }, {
      "file" : {
        "relativePath" : "autodispose/src/main/java/autodispose2/AutoDisposingSingleObserverImpl.java",
        "extension" : "java",
        "linesOfCode" : 70,
        "components" : [ "primary::autodispose" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 57,
      "endLine" : 81,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 38
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "autodispose/src/main/java/autodispose2/AutoDisposingMaybeObserverImpl.java",
        "extension" : "java",
        "linesOfCode" : 78,
        "components" : [ "primary::autodispose" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 57,
      "endLine" : 81,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "autodispose/src/main/java/autodispose2/AutoDisposingObserverImpl.java",
        "extension" : "java",
        "linesOfCode" : 82,
        "components" : [ "primary::autodispose" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 57,
      "startLine" : 60,
      "endLine" : 84,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 40
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "autodispose/src/main/java/autodispose2/AutoDisposingCompletableObserverImpl.java",
        "extension" : "java",
        "linesOfCode" : 69,
        "components" : [ "primary::autodispose" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 56,
      "endLine" : 80,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "autodispose/src/main/java/autodispose2/AutoDisposingSingleObserverImpl.java",
        "extension" : "java",
        "linesOfCode" : 70,
        "components" : [ "primary::autodispose" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 57,
      "endLine" : 81,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 38
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "autodispose/src/main/java/autodispose2/AutoDisposingCompletableObserverImpl.java",
        "extension" : "java",
        "linesOfCode" : 69,
        "components" : [ "primary::autodispose" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 56,
      "endLine" : 80,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "autodispose/src/main/java/autodispose2/AutoDisposingObserverImpl.java",
        "extension" : "java",
        "linesOfCode" : 82,
        "components" : [ "primary::autodispose" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 57,
      "startLine" : 60,
      "endLine" : 84,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 40
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "autodispose/src/main/java/autodispose2/AutoDispose.java",
        "extension" : "java",
        "linesOfCode" : 297,
        "components" : [ "primary::autodispose" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 270,
      "endLine" : 289,
      "cleanedStartLine" : 119,
      "cleanedEndLine" : 132
    }, {
      "file" : {
        "relativePath" : "autodispose/src/main/java/autodispose2/AutoDispose.java",
        "extension" : "java",
        "linesOfCode" : 297,
        "components" : [ "primary::autodispose" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 328,
      "endLine" : 347,
      "cleanedStartLine" : 158,
      "cleanedEndLine" : 171
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "sample/src/main/java/autodispose2/sample/JavaActivity.java",
        "extension" : "java",
        "linesOfCode" : 66,
        "components" : [ "primary::sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 75,
      "endLine" : 95,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "sample/src/main/java/autodispose2/sample/JavaFragment.java",
        "extension" : "java",
        "linesOfCode" : 86,
        "components" : [ "primary::sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 93,
      "endLine" : 113,
      "cleanedStartLine" : 36,
      "cleanedEndLine" : 48
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "autodispose/src/main/java/autodispose2/AutoDispose.java",
        "extension" : "java",
        "linesOfCode" : 297,
        "components" : [ "primary::autodispose" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 328,
      "endLine" : 344,
      "cleanedStartLine" : 158,
      "cleanedEndLine" : 170
    }, {
      "file" : {
        "relativePath" : "autodispose/src/main/java/autodispose2/AutoDispose.java",
        "extension" : "java",
        "linesOfCode" : 297,
        "components" : [ "primary::autodispose" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 386,
      "endLine" : 402,
      "cleanedStartLine" : 197,
      "cleanedEndLine" : 209
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "autodispose/src/main/java/autodispose2/AutoDispose.java",
        "extension" : "java",
        "linesOfCode" : 297,
        "components" : [ "primary::autodispose" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 270,
      "endLine" : 286,
      "cleanedStartLine" : 119,
      "cleanedEndLine" : 131
    }, {
      "file" : {
        "relativePath" : "autodispose/src/main/java/autodispose2/AutoDispose.java",
        "extension" : "java",
        "linesOfCode" : 297,
        "components" : [ "primary::autodispose" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 386,
      "endLine" : 402,
      "cleanedStartLine" : 197,
      "cleanedEndLine" : 209
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "sample/src/main/res/layout/activity_home.xml",
        "extension" : "xml",
        "linesOfCode" : 102,
        "components" : [ "primary::sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 98,
      "startLine" : 25,
      "endLine" : 38,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "sample/src/main/res/layout/activity_main.xml",
        "extension" : "xml",
        "linesOfCode" : 28,
        "components" : [ "primary::sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 25,
      "endLine" : 38,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "sample/src/main/java/autodispose2/recipes/AutoDisposeFragment.java",
        "extension" : "java",
        "linesOfCode" : 115,
        "components" : [ "primary::sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 38,
      "endLine" : 47,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "sample/src/main/kotlin/autodispose2/recipes/AutoDisposeFragmentKotlin.kt",
        "extension" : "kt",
        "linesOfCode" : 102,
        "components" : [ "primary::sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 48,
      "endLine" : 57,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "autodispose/src/main/java/autodispose2/AutoDisposingObserverImpl.java",
        "extension" : "java",
        "linesOfCode" : 82,
        "components" : [ "primary::autodispose" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 57,
      "startLine" : 47,
      "endLine" : 56,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "autodispose/src/main/java/autodispose2/AutoDisposingSingleObserverImpl.java",
        "extension" : "java",
        "linesOfCode" : 70,
        "components" : [ "primary::autodispose" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 44,
      "endLine" : 53,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "autodispose/src/main/java/autodispose2/AutoDisposingCompletableObserverImpl.java",
        "extension" : "java",
        "linesOfCode" : 69,
        "components" : [ "primary::autodispose" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 43,
      "endLine" : 52,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "autodispose/src/main/java/autodispose2/AutoDisposingObserverImpl.java",
        "extension" : "java",
        "linesOfCode" : 82,
        "components" : [ "primary::autodispose" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 57,
      "startLine" : 47,
      "endLine" : 56,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "autodispose/src/main/java/autodispose2/AutoDisposingMaybeObserverImpl.java",
        "extension" : "java",
        "linesOfCode" : 78,
        "components" : [ "primary::autodispose" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 44,
      "endLine" : 53,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "autodispose/src/main/java/autodispose2/AutoDisposingSingleObserverImpl.java",
        "extension" : "java",
        "linesOfCode" : 70,
        "components" : [ "primary::autodispose" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 44,
      "endLine" : 53,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "autodispose/src/main/java/autodispose2/AutoDisposingCompletableObserverImpl.java",
        "extension" : "java",
        "linesOfCode" : 69,
        "components" : [ "primary::autodispose" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 43,
      "endLine" : 52,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "autodispose/src/main/java/autodispose2/AutoDisposingMaybeObserverImpl.java",
        "extension" : "java",
        "linesOfCode" : 78,
        "components" : [ "primary::autodispose" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 44,
      "endLine" : 53,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "sample/src/main/kotlin/autodispose2/recipes/subscriberproxies.kt",
        "extension" : "kt",
        "linesOfCode" : 67,
        "components" : [ "primary::sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 51,
      "endLine" : 58,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "sample/src/main/kotlin/autodispose2/recipes/subscriberproxies.kt",
        "extension" : "kt",
        "linesOfCode" : 67,
        "components" : [ "primary::sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 64,
      "endLine" : 71,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 23
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "autodispose/src/main/java/autodispose2/AutoDisposingCompletableObserverImpl.java",
        "extension" : "java",
        "linesOfCode" : 69,
        "components" : [ "primary::autodispose" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 43,
      "endLine" : 52,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "autodispose/src/main/java/autodispose2/AutoDisposingSingleObserverImpl.java",
        "extension" : "java",
        "linesOfCode" : 70,
        "components" : [ "primary::autodispose" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 44,
      "endLine" : 53,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "autodispose/src/main/java/autodispose2/AutoDisposingMaybeObserverImpl.java",
        "extension" : "java",
        "linesOfCode" : 78,
        "components" : [ "primary::autodispose" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 44,
      "endLine" : 53,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "autodispose/src/main/java/autodispose2/AutoDisposingObserverImpl.java",
        "extension" : "java",
        "linesOfCode" : 82,
        "components" : [ "primary::autodispose" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 57,
      "startLine" : 47,
      "endLine" : 56,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "android/autodispose-androidx-lifecycle/src/main/java/autodispose2/androidx/lifecycle/KotlinExtensions.kt",
        "extension" : "kt",
        "linesOfCode" : 119,
        "components" : [ "primary::android" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 98,
      "endLine" : 114,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 32
    }, {
      "file" : {
        "relativePath" : "android/autodispose-androidx-lifecycle/src/main/java/autodispose2/androidx/lifecycle/KotlinExtensions.kt",
        "extension" : "kt",
        "linesOfCode" : 119,
        "components" : [ "primary::android" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 161,
      "endLine" : 177,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 65
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "android/autodispose-androidx-lifecycle/src/main/java/autodispose2/androidx/lifecycle/KotlinExtensions.kt",
        "extension" : "kt",
        "linesOfCode" : 119,
        "components" : [ "primary::android" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 98,
      "endLine" : 114,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 32
    }, {
      "file" : {
        "relativePath" : "android/autodispose-androidx-lifecycle/src/main/java/autodispose2/androidx/lifecycle/KotlinExtensions.kt",
        "extension" : "kt",
        "linesOfCode" : 119,
        "components" : [ "primary::android" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 140,
      "endLine" : 156,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 54
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "android/autodispose-androidx-lifecycle/src/main/java/autodispose2/androidx/lifecycle/KotlinExtensions.kt",
        "extension" : "kt",
        "linesOfCode" : 119,
        "components" : [ "primary::android" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 119,
      "endLine" : 135,
      "cleanedStartLine" : 37,
      "cleanedEndLine" : 43
    }, {
      "file" : {
        "relativePath" : "android/autodispose-androidx-lifecycle/src/main/java/autodispose2/androidx/lifecycle/KotlinExtensions.kt",
        "extension" : "kt",
        "linesOfCode" : 119,
        "components" : [ "primary::android" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 140,
      "endLine" : 156,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 54
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "sample/src/main/res/layout/activity_home.xml",
        "extension" : "xml",
        "linesOfCode" : 102,
        "components" : [ "primary::sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 98,
      "startLine" : 1,
      "endLine" : 23,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "sample/src/main/res/layout/activity_main.xml",
        "extension" : "xml",
        "linesOfCode" : 28,
        "components" : [ "primary::sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 23,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "sample/src/main/res/layout/activity_home.xml",
        "extension" : "xml",
        "linesOfCode" : 102,
        "components" : [ "primary::sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 98,
      "startLine" : 78,
      "endLine" : 85,
      "cleanedStartLine" : 54,
      "cleanedEndLine" : 60
    }, {
      "file" : {
        "relativePath" : "sample/src/main/res/layout/activity_home.xml",
        "extension" : "xml",
        "linesOfCode" : 102,
        "components" : [ "primary::sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 98,
      "startLine" : 112,
      "endLine" : 119,
      "cleanedStartLine" : 84,
      "cleanedEndLine" : 90
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "android/autodispose-androidx-lifecycle/src/main/java/autodispose2/androidx/lifecycle/KotlinExtensions.kt",
        "extension" : "kt",
        "linesOfCode" : 119,
        "components" : [ "primary::android" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 140,
      "endLine" : 156,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 54
    }, {
      "file" : {
        "relativePath" : "android/autodispose-androidx-lifecycle/src/main/java/autodispose2/androidx/lifecycle/KotlinExtensions.kt",
        "extension" : "kt",
        "linesOfCode" : 119,
        "components" : [ "primary::android" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 161,
      "endLine" : 177,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 65
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "sample/src/main/java/autodispose2/sample/JavaActivity.java",
        "extension" : "java",
        "linesOfCode" : 66,
        "components" : [ "primary::sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 61,
      "endLine" : 73,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 24
    }, {
      "file" : {
        "relativePath" : "sample/src/main/java/autodispose2/sample/JavaFragment.java",
        "extension" : "java",
        "linesOfCode" : 86,
        "components" : [ "primary::sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 79,
      "endLine" : 91,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 34
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "sample/src/main/res/layout/activity_home.xml",
        "extension" : "xml",
        "linesOfCode" : 102,
        "components" : [ "primary::sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 98,
      "startLine" : 78,
      "endLine" : 85,
      "cleanedStartLine" : 54,
      "cleanedEndLine" : 60
    }, {
      "file" : {
        "relativePath" : "sample/src/main/res/layout/activity_home.xml",
        "extension" : "xml",
        "linesOfCode" : 102,
        "components" : [ "primary::sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 98,
      "startLine" : 95,
      "endLine" : 102,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 75
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "sample/src/main/res/layout/activity_disposing_viewmodel.xml",
        "extension" : "xml",
        "linesOfCode" : 34,
        "components" : [ "primary::sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 22,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "sample/src/main/res/layout/content_main.xml",
        "extension" : "xml",
        "linesOfCode" : 12,
        "components" : [ "primary::sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 11,
      "startLine" : 1,
      "endLine" : 23,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "autodispose/src/main/java/autodispose2/AutoSubscriptionHelper.java",
        "extension" : "java",
        "linesOfCode" : 127,
        "components" : [ "primary::autodispose" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 83,
      "startLine" : 119,
      "endLine" : 127,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 32
    }, {
      "file" : {
        "relativePath" : "autodispose/src/main/java/autodispose2/AutoSubscriptionHelper.java",
        "extension" : "java",
        "linesOfCode" : 127,
        "components" : [ "primary::autodispose" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 83,
      "startLine" : 181,
      "endLine" : 189,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 54
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "android/autodispose-androidx-lifecycle/src/main/java/autodispose2/androidx/lifecycle/KotlinExtensions.kt",
        "extension" : "kt",
        "linesOfCode" : 119,
        "components" : [ "primary::android" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 119,
      "endLine" : 135,
      "cleanedStartLine" : 37,
      "cleanedEndLine" : 43
    }, {
      "file" : {
        "relativePath" : "android/autodispose-androidx-lifecycle/src/main/java/autodispose2/androidx/lifecycle/KotlinExtensions.kt",
        "extension" : "kt",
        "linesOfCode" : 119,
        "components" : [ "primary::android" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 161,
      "endLine" : 177,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 65
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "sample/src/main/res/layout/activity_home.xml",
        "extension" : "xml",
        "linesOfCode" : 102,
        "components" : [ "primary::sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 98,
      "startLine" : 95,
      "endLine" : 102,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 75
    }, {
      "file" : {
        "relativePath" : "sample/src/main/res/layout/activity_home.xml",
        "extension" : "xml",
        "linesOfCode" : 102,
        "components" : [ "primary::sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 98,
      "startLine" : 112,
      "endLine" : 119,
      "cleanedStartLine" : 84,
      "cleanedEndLine" : 90
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "android/autodispose-androidx-lifecycle/src/main/java/autodispose2/androidx/lifecycle/KotlinExtensions.kt",
        "extension" : "kt",
        "linesOfCode" : 119,
        "components" : [ "primary::android" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 98,
      "endLine" : 114,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 32
    }, {
      "file" : {
        "relativePath" : "android/autodispose-androidx-lifecycle/src/main/java/autodispose2/androidx/lifecycle/KotlinExtensions.kt",
        "extension" : "kt",
        "linesOfCode" : 119,
        "components" : [ "primary::android" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 119,
      "endLine" : 135,
      "cleanedStartLine" : 37,
      "cleanedEndLine" : 43
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "autodispose/src/main/java/autodispose2/AutoDispose.java",
        "extension" : "java",
        "linesOfCode" : 297,
        "components" : [ "primary::autodispose" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 155,
      "endLine" : 164,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    }, {
      "file" : {
        "relativePath" : "autodispose/src/main/java/autodispose2/AutoDispose.java",
        "extension" : "java",
        "linesOfCode" : 297,
        "components" : [ "primary::autodispose" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 280,
      "endLine" : 289,
      "cleanedStartLine" : 127,
      "cleanedEndLine" : 132
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "static-analysis/autodispose-error-prone/src/main/java/autodispose2/errorprone/AbstractReturnValueIgnored.java",
        "extension" : "java",
        "linesOfCode" : 241,
        "components" : [ "primary::static-analysis" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 158,
      "startLine" : 83,
      "endLine" : 90,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "static-analysis/autodispose-error-prone/src/main/java/autodispose2/errorprone/AbstractReturnValueIgnored.java",
        "extension" : "java",
        "linesOfCode" : 241,
        "components" : [ "primary::static-analysis" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 158,
      "startLine" : 110,
      "endLine" : 117,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 32
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "android/autodispose-androidx-lifecycle/src/main/java/autodispose2/androidx/lifecycle/KotlinExtensions.kt",
        "extension" : "kt",
        "linesOfCode" : 119,
        "components" : [ "primary::android" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 98,
      "endLine" : 103,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "android/autodispose-androidx-lifecycle/src/main/java/autodispose2/androidx/lifecycle/KotlinExtensions.kt",
        "extension" : "kt",
        "linesOfCode" : 119,
        "components" : [ "primary::android" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 205,
      "endLine" : 210,
      "cleanedStartLine" : 83,
      "cleanedEndLine" : 88
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "android/autodispose-androidx-lifecycle/src/main/java/autodispose2/androidx/lifecycle/KotlinExtensions.kt",
        "extension" : "kt",
        "linesOfCode" : 119,
        "components" : [ "primary::android" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 161,
      "endLine" : 166,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 64
    }, {
      "file" : {
        "relativePath" : "android/autodispose-androidx-lifecycle/src/main/java/autodispose2/androidx/lifecycle/KotlinExtensions.kt",
        "extension" : "kt",
        "linesOfCode" : 119,
        "components" : [ "primary::android" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 205,
      "endLine" : 210,
      "cleanedStartLine" : 83,
      "cleanedEndLine" : 88
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "autodispose/src/main/java/autodispose2/AutoDisposingCompletableObserverImpl.java",
        "extension" : "java",
        "linesOfCode" : 69,
        "components" : [ "primary::autodispose" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 80,
      "endLine" : 85,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 43
    }, {
      "file" : {
        "relativePath" : "autodispose/src/main/java/autodispose2/AutoDisposingMaybeObserverImpl.java",
        "extension" : "java",
        "linesOfCode" : 78,
        "components" : [ "primary::autodispose" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 99,
      "endLine" : 104,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 55
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "sample/src/main/java/autodispose2/recipes/AutoDisposeActivity.java",
        "extension" : "java",
        "linesOfCode" : 81,
        "components" : [ "primary::sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 36,
      "endLine" : 41,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "sample/src/main/kotlin/autodispose2/recipes/AutoDisposeActivityKotlin.kt",
        "extension" : "kt",
        "linesOfCode" : 72,
        "components" : [ "primary::sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 42,
      "endLine" : 47,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "autodispose/src/main/java/autodispose2/AutoDispose.java",
        "extension" : "java",
        "linesOfCode" : 297,
        "components" : [ "primary::autodispose" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 155,
      "endLine" : 164,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    }, {
      "file" : {
        "relativePath" : "autodispose/src/main/java/autodispose2/AutoDispose.java",
        "extension" : "java",
        "linesOfCode" : 297,
        "components" : [ "primary::autodispose" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 338,
      "endLine" : 347,
      "cleanedStartLine" : 166,
      "cleanedEndLine" : 171
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "sample/src/main/res/layout/activity_home.xml",
        "extension" : "xml",
        "linesOfCode" : 102,
        "components" : [ "primary::sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 98,
      "startLine" : 63,
      "endLine" : 68,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "sample/src/main/res/layout/activity_home.xml",
        "extension" : "xml",
        "linesOfCode" : 102,
        "components" : [ "primary::sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 98,
      "startLine" : 80,
      "endLine" : 85,
      "cleanedStartLine" : 55,
      "cleanedEndLine" : 60
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "android/autodispose-androidx-lifecycle/src/main/java/autodispose2/androidx/lifecycle/KotlinExtensions.kt",
        "extension" : "kt",
        "linesOfCode" : 119,
        "components" : [ "primary::android" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 140,
      "endLine" : 145,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 53
    }, {
      "file" : {
        "relativePath" : "android/autodispose-androidx-lifecycle/src/main/java/autodispose2/androidx/lifecycle/KotlinExtensions.kt",
        "extension" : "kt",
        "linesOfCode" : 119,
        "components" : [ "primary::android" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 205,
      "endLine" : 210,
      "cleanedStartLine" : 83,
      "cleanedEndLine" : 88
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "sample/src/main/res/layout/activity_home.xml",
        "extension" : "xml",
        "linesOfCode" : 102,
        "components" : [ "primary::sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 98,
      "startLine" : 63,
      "endLine" : 68,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "sample/src/main/res/layout/activity_home.xml",
        "extension" : "xml",
        "linesOfCode" : 102,
        "components" : [ "primary::sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 98,
      "startLine" : 97,
      "endLine" : 102,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 75
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "sample/src/main/res/layout/activity_home.xml",
        "extension" : "xml",
        "linesOfCode" : 102,
        "components" : [ "primary::sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 98,
      "startLine" : 63,
      "endLine" : 68,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "sample/src/main/res/layout/activity_home.xml",
        "extension" : "xml",
        "linesOfCode" : 102,
        "components" : [ "primary::sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 98,
      "startLine" : 114,
      "endLine" : 119,
      "cleanedStartLine" : 85,
      "cleanedEndLine" : 90
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "sample/src/main/kotlin/autodispose2/sample/ArchComponentActivity.kt",
        "extension" : "kt",
        "linesOfCode" : 54,
        "components" : [ "primary::sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 77,
      "endLine" : 84,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 35
    }, {
      "file" : {
        "relativePath" : "sample/src/main/kotlin/autodispose2/sample/KotlinActivity.kt",
        "extension" : "kt",
        "linesOfCode" : 65,
        "components" : [ "primary::sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 97,
      "endLine" : 104,
      "cleanedStartLine" : 39,
      "cleanedEndLine" : 44
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "autodispose/src/main/java/autodispose2/AutoDisposingCompletableObserverImpl.java",
        "extension" : "java",
        "linesOfCode" : 69,
        "components" : [ "primary::autodispose" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 89,
      "endLine" : 94,
      "cleanedStartLine" : 44,
      "cleanedEndLine" : 49
    }, {
      "file" : {
        "relativePath" : "autodispose/src/main/java/autodispose2/AutoDisposingMaybeObserverImpl.java",
        "extension" : "java",
        "linesOfCode" : 78,
        "components" : [ "primary::autodispose" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 90,
      "endLine" : 95,
      "cleanedStartLine" : 44,
      "cleanedEndLine" : 49
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "autodispose/src/main/java/autodispose2/AutoDisposingCompletableObserverImpl.java",
        "extension" : "java",
        "linesOfCode" : 69,
        "components" : [ "primary::autodispose" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 89,
      "endLine" : 94,
      "cleanedStartLine" : 44,
      "cleanedEndLine" : 49
    }, {
      "file" : {
        "relativePath" : "autodispose/src/main/java/autodispose2/AutoDisposingSingleObserverImpl.java",
        "extension" : "java",
        "linesOfCode" : 70,
        "components" : [ "primary::autodispose" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 90,
      "endLine" : 95,
      "cleanedStartLine" : 44,
      "cleanedEndLine" : 49
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "android/autodispose-androidx-lifecycle/src/main/java/autodispose2/androidx/lifecycle/KotlinExtensions.kt",
        "extension" : "kt",
        "linesOfCode" : 119,
        "components" : [ "primary::android" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 119,
      "endLine" : 124,
      "cleanedStartLine" : 37,
      "cleanedEndLine" : 42
    }, {
      "file" : {
        "relativePath" : "android/autodispose-androidx-lifecycle/src/main/java/autodispose2/androidx/lifecycle/KotlinExtensions.kt",
        "extension" : "kt",
        "linesOfCode" : 119,
        "components" : [ "primary::android" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 205,
      "endLine" : 210,
      "cleanedStartLine" : 83,
      "cleanedEndLine" : 88
    } ]
  } ],
  "overallDuplication" : null
}