{
  "title" : "Duplication",
  "timestamp" : "2026-01-18 16:39:09",
  "duplicates" : [ {
    "blockSize" : 54,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "extractor-legacy-0.13/src/main/scala/org/jetbrains/sbt/extractors/ProjectExtractor.scala",
        "extension" : "scala",
        "linesOfCode" : 317,
        "components" : [ "primary::extractor-legacy-0.13" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 287,
      "startLine" : 121,
      "endLine" : 264,
      "cleanedStartLine" : 84,
      "cleanedEndLine" : 137
    }, {
      "file" : {
        "relativePath" : "extractor/src/main/scala/org/jetbrains/sbt/extractors/ProjectExtractor.scala",
        "extension" : "scala",
        "linesOfCode" : 351,
        "components" : [ "primary::extractor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 311,
      "startLine" : 168,
      "endLine" : 311,
      "cleanedStartLine" : 100,
      "cleanedEndLine" : 153
    } ]
  }, {
    "blockSize" : 39,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "extractor-legacy-0.13/src/main/scala/org/jetbrains/sbt/extractors/DependenciesExtractor.scala",
        "extension" : "scala",
        "linesOfCode" : 357,
        "components" : [ "primary::extractor-legacy-0.13" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 298,
      "startLine" : 194,
      "endLine" : 282,
      "cleanedStartLine" : 116,
      "cleanedEndLine" : 154
    }, {
      "file" : {
        "relativePath" : "extractor/src/main/scala/org/jetbrains/sbt/extractors/DependenciesExtractor.scala",
        "extension" : "scala",
        "linesOfCode" : 300,
        "components" : [ "primary::extractor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 253,
      "startLine" : 144,
      "endLine" : 232,
      "cleanedStartLine" : 81,
      "cleanedEndLine" : 119
    } ]
  }, {
    "blockSize" : 30,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "extractor-legacy-0.13/src/main/scala/org/jetbrains/sbt/extractors/ProjectExtractor.scala",
        "extension" : "scala",
        "linesOfCode" : 317,
        "components" : [ "primary::extractor-legacy-0.13" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 287,
      "startLine" : 13,
      "endLine" : 42,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 32
    }, {
      "file" : {
        "relativePath" : "extractor/src/main/scala/org/jetbrains/sbt/extractors/ProjectExtractor.scala",
        "extension" : "scala",
        "linesOfCode" : 351,
        "components" : [ "primary::extractor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 311,
      "startLine" : 21,
      "endLine" : 50,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 33
    } ]
  }, {
    "blockSize" : 29,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "extractor-legacy-0.13/src/main/scala/org/jetbrains/sbt/extractors/DependenciesExtractor.scala",
        "extension" : "scala",
        "linesOfCode" : 357,
        "components" : [ "primary::extractor-legacy-0.13" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 298,
      "startLine" : 301,
      "endLine" : 333,
      "cleanedStartLine" : 168,
      "cleanedEndLine" : 196
    }, {
      "file" : {
        "relativePath" : "extractor/src/main/scala/org/jetbrains/sbt/extractors/DependenciesExtractor.scala",
        "extension" : "scala",
        "linesOfCode" : 300,
        "components" : [ "primary::extractor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 253,
      "startLine" : 251,
      "endLine" : 283,
      "cleanedStartLine" : 133,
      "cleanedEndLine" : 161
    } ]
  }, {
    "blockSize" : 28,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "extractor-legacy-0.13/src/main/scala/org/jetbrains/sbt/extractors/ProjectExtractor.scala",
        "extension" : "scala",
        "linesOfCode" : 317,
        "components" : [ "primary::extractor-legacy-0.13" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 287,
      "startLine" : 72,
      "endLine" : 100,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 69
    }, {
      "file" : {
        "relativePath" : "extractor/src/main/scala/org/jetbrains/sbt/extractors/ProjectExtractor.scala",
        "extension" : "scala",
        "linesOfCode" : 351,
        "components" : [ "primary::extractor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 311,
      "startLine" : 81,
      "endLine" : 109,
      "cleanedStartLine" : 44,
      "cleanedEndLine" : 71
    } ]
  }, {
    "blockSize" : 22,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "extractor-legacy-0.13/src/main/scala/org/jetbrains/sbt/extractors/UtilityTasks.scala",
        "extension" : "scala",
        "linesOfCode" : 146,
        "components" : [ "primary::extractor-legacy-0.13" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 107,
      "startLine" : 96,
      "endLine" : 126,
      "cleanedStartLine" : 45,
      "cleanedEndLine" : 66
    }, {
      "file" : {
        "relativePath" : "extractor/src/main/scala/org/jetbrains/sbt/extractors/UtilityTasks.scala",
        "extension" : "scala",
        "linesOfCode" : 157,
        "components" : [ "primary::extractor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 115,
      "startLine" : 110,
      "endLine" : 140,
      "cleanedStartLine" : 51,
      "cleanedEndLine" : 72
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "extractor-legacy-0.13/src/main/scala/org/jetbrains/sbt/extractors/UtilityTasks.scala",
        "extension" : "scala",
        "linesOfCode" : 146,
        "components" : [ "primary::extractor-legacy-0.13" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 107,
      "startLine" : 138,
      "endLine" : 164,
      "cleanedStartLine" : 73,
      "cleanedEndLine" : 89
    }, {
      "file" : {
        "relativePath" : "extractor/src/main/scala/org/jetbrains/sbt/extractors/UtilityTasks.scala",
        "extension" : "scala",
        "linesOfCode" : 157,
        "components" : [ "primary::extractor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 115,
      "startLine" : 152,
      "endLine" : 178,
      "cleanedStartLine" : 79,
      "cleanedEndLine" : 95
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "extractor-legacy-0.13/src/main/scala/org/jetbrains/sbt/extractors/ProjectExtractor.scala",
        "extension" : "scala",
        "linesOfCode" : 317,
        "components" : [ "primary::extractor-legacy-0.13" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 287,
      "startLine" : 386,
      "endLine" : 402,
      "cleanedStartLine" : 234,
      "cleanedEndLine" : 250
    }, {
      "file" : {
        "relativePath" : "extractor/src/main/scala/org/jetbrains/sbt/extractors/ProjectExtractor.scala",
        "extension" : "scala",
        "linesOfCode" : 351,
        "components" : [ "primary::extractor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 311,
      "startLine" : 446,
      "endLine" : 462,
      "cleanedStartLine" : 257,
      "cleanedEndLine" : 273
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "extractor-legacy-0.13/src/main/scala/org/jetbrains/sbt/extractors/BuildExtractor.scala",
        "extension" : "scala",
        "linesOfCode" : 32,
        "components" : [ "primary::extractor-legacy-0.13" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 9,
      "endLine" : 30,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "extractor/src/main/scala/org/jetbrains/sbt/extractors/BuildExtractor.scala",
        "extension" : "scala",
        "linesOfCode" : 34,
        "components" : [ "primary::extractor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 11,
      "endLine" : 32,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "extractor-legacy-0.13/src/main/scala/org/jetbrains/sbt/extractors/UtilityTasks.scala",
        "extension" : "scala",
        "linesOfCode" : 146,
        "components" : [ "primary::extractor-legacy-0.13" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 107,
      "startLine" : 60,
      "endLine" : 83,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "extractor/src/main/scala/org/jetbrains/sbt/extractors/UtilityTasks.scala",
        "extension" : "scala",
        "linesOfCode" : 157,
        "components" : [ "primary::extractor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 115,
      "startLine" : 73,
      "endLine" : 97,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 44
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "extractor-legacy-0.13/src/main/scala/org/jetbrains/sbt/CreateTasks.scala",
        "extension" : "scala",
        "linesOfCode" : 37,
        "components" : [ "primary::extractor-legacy-0.13" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 28,
      "endLine" : 49,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "extractor/src/main/scala/org/jetbrains/sbt/CreateTasks.scala",
        "extension" : "scala",
        "linesOfCode" : 40,
        "components" : [ "primary::extractor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 31,
      "endLine" : 50,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 33
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "extractor-legacy-0.13/src/main/scala/org/jetbrains/sbt/Options.scala",
        "extension" : "scala",
        "linesOfCode" : 30,
        "components" : [ "primary::extractor-legacy-0.13" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 19,
      "endLine" : 38,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "extractor/src/main/scala/org/jetbrains/sbt/Options.scala",
        "extension" : "scala",
        "linesOfCode" : 30,
        "components" : [ "primary::extractor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 19,
      "endLine" : 38,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 26
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "extractor-legacy-0.13/src/main/scala/org/jetbrains/sbt/extractors/DependenciesExtractor.scala",
        "extension" : "scala",
        "linesOfCode" : 357,
        "components" : [ "primary::extractor-legacy-0.13" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 298,
      "startLine" : 466,
      "endLine" : 500,
      "cleanedStartLine" : 276,
      "cleanedEndLine" : 290
    }, {
      "file" : {
        "relativePath" : "extractor/src/main/scala/org/jetbrains/sbt/extractors/DependenciesExtractor.scala",
        "extension" : "scala",
        "linesOfCode" : 300,
        "components" : [ "primary::extractor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 253,
      "startLine" : 413,
      "endLine" : 447,
      "cleanedStartLine" : 239,
      "cleanedEndLine" : 253
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "extractor-legacy-0.13/src/main/scala/org/jetbrains/sbt/extractors/ProjectExtractor.scala",
        "extension" : "scala",
        "linesOfCode" : 317,
        "components" : [ "primary::extractor-legacy-0.13" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 287,
      "startLine" : 346,
      "endLine" : 364,
      "cleanedStartLine" : 202,
      "cleanedEndLine" : 216
    }, {
      "file" : {
        "relativePath" : "extractor/src/main/scala/org/jetbrains/sbt/extractors/ProjectExtractor.scala",
        "extension" : "scala",
        "linesOfCode" : 351,
        "components" : [ "primary::extractor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 311,
      "startLine" : 403,
      "endLine" : 421,
      "cleanedStartLine" : 223,
      "cleanedEndLine" : 237
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "extractor-legacy-0.13/src/main/scala/org/jetbrains/sbt/package.scala",
        "extension" : "scala",
        "linesOfCode" : 40,
        "components" : [ "primary::extractor-legacy-0.13" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 9,
      "endLine" : 34,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "extractor/src/main/scala/org/jetbrains/sbt/package.scala",
        "extension" : "scala",
        "linesOfCode" : 42,
        "components" : [ "primary::extractor" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 9,
      "endLine" : 34,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "extractor-legacy-0.13/src/main/scala/org/jetbrains/sbt/extractors/KeysExtractor.scala",
        "extension" : "scala",
        "linesOfCode" : 70,
        "components" : [ "primary::extractor-legacy-0.13" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 54,
      "endLine" : 78,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 41
    }, {
      "file" : {
        "relativePath" : "extractor/src/main/scala/org/jetbrains/sbt/extractors/KeysExtractor.scala",
        "extension" : "scala",
        "linesOfCode" : 72,
        "components" : [ "primary::extractor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 55,
      "endLine" : 79,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 41
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "extractor-legacy-0.13/src/main/scala/org/jetbrains/sbt/extractors/KeysExtractor.scala",
        "extension" : "scala",
        "linesOfCode" : 70,
        "components" : [ "primary::extractor-legacy-0.13" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 15,
      "endLine" : 34,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "extractor/src/main/scala/org/jetbrains/sbt/extractors/KeysExtractor.scala",
        "extension" : "scala",
        "linesOfCode" : 72,
        "components" : [ "primary::extractor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 16,
      "endLine" : 35,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "extractor-legacy-0.13/src/main/scala/org/jetbrains/sbt/extractors/Play2Extractor.scala",
        "extension" : "scala",
        "linesOfCode" : 41,
        "components" : [ "primary::extractor-legacy-0.13" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 29,
      "endLine" : 46,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 32
    }, {
      "file" : {
        "relativePath" : "extractor/src/main/scala/org/jetbrains/sbt/extractors/Play2Extractor.scala",
        "extension" : "scala",
        "linesOfCode" : 42,
        "components" : [ "primary::extractor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 30,
      "endLine" : 47,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 32
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "extractor-legacy-0.13/src/main/scala/org/jetbrains/sbt/extractors/DependenciesExtractor.scala",
        "extension" : "scala",
        "linesOfCode" : 357,
        "components" : [ "primary::extractor-legacy-0.13" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 298,
      "startLine" : 372,
      "endLine" : 384,
      "cleanedStartLine" : 212,
      "cleanedEndLine" : 224
    }, {
      "file" : {
        "relativePath" : "extractor-legacy-0.13/src/main/scala/org/jetbrains/sbt/extractors/DependenciesExtractor.scala",
        "extension" : "scala",
        "linesOfCode" : 357,
        "components" : [ "primary::extractor-legacy-0.13" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 298,
      "startLine" : 422,
      "endLine" : 434,
      "cleanedStartLine" : 252,
      "cleanedEndLine" : 264
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "extractor-legacy-0.13/src/main/scala/org/jetbrains/sbt/StructurePlugin.scala",
        "extension" : "scala",
        "linesOfCode" : 51,
        "components" : [ "primary::extractor-legacy-0.13" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 29,
      "endLine" : 56,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "extractor/src/main/scala/org/jetbrains/sbt/StructurePlugin.scala",
        "extension" : "scala",
        "linesOfCode" : 30,
        "components" : [ "primary::extractor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 27,
      "endLine" : 54,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "extractor-legacy-0.13/src/main/scala/org/jetbrains/sbt/extractors/ProjectExtractor.scala",
        "extension" : "scala",
        "linesOfCode" : 317,
        "components" : [ "primary::extractor-legacy-0.13" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 287,
      "startLine" : 404,
      "endLine" : 415,
      "cleanedStartLine" : 252,
      "cleanedEndLine" : 263
    }, {
      "file" : {
        "relativePath" : "extractor/src/main/scala/org/jetbrains/sbt/extractors/ProjectExtractor.scala",
        "extension" : "scala",
        "linesOfCode" : 351,
        "components" : [ "primary::extractor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 311,
      "startLine" : 464,
      "endLine" : 475,
      "cleanedStartLine" : 275,
      "cleanedEndLine" : 286
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "extractor-legacy-0.13/src/main/scala/org/jetbrains/sbt/extractors/ProjectExtractor.scala",
        "extension" : "scala",
        "linesOfCode" : 317,
        "components" : [ "primary::extractor-legacy-0.13" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 287,
      "startLine" : 431,
      "endLine" : 448,
      "cleanedStartLine" : 277,
      "cleanedEndLine" : 287
    }, {
      "file" : {
        "relativePath" : "extractor/src/main/scala/org/jetbrains/sbt/extractors/ProjectExtractor.scala",
        "extension" : "scala",
        "linesOfCode" : 351,
        "components" : [ "primary::extractor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 311,
      "startLine" : 495,
      "endLine" : 512,
      "cleanedStartLine" : 301,
      "cleanedEndLine" : 311
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "extractor-legacy-0.13/src/main/scala/org/jetbrains/sbt/extractors/ProjectExtractor.scala",
        "extension" : "scala",
        "linesOfCode" : 317,
        "components" : [ "primary::extractor-legacy-0.13" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 287,
      "startLine" : 329,
      "endLine" : 341,
      "cleanedStartLine" : 188,
      "cleanedEndLine" : 198
    }, {
      "file" : {
        "relativePath" : "extractor/src/main/scala/org/jetbrains/sbt/extractors/ProjectExtractor.scala",
        "extension" : "scala",
        "linesOfCode" : 351,
        "components" : [ "primary::extractor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 311,
      "startLine" : 378,
      "endLine" : 390,
      "cleanedStartLine" : 205,
      "cleanedEndLine" : 215
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "extractor-legacy-0.13/src/main/scala/org/jetbrains/sbt/extractors/DependenciesExtractor.scala",
        "extension" : "scala",
        "linesOfCode" : 357,
        "components" : [ "primary::extractor-legacy-0.13" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 298,
      "startLine" : 341,
      "endLine" : 374,
      "cleanedStartLine" : 204,
      "cleanedEndLine" : 214
    }, {
      "file" : {
        "relativePath" : "extractor/src/main/scala/org/jetbrains/sbt/extractors/DependenciesExtractor.scala",
        "extension" : "scala",
        "linesOfCode" : 300,
        "components" : [ "primary::extractor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 253,
      "startLine" : 292,
      "endLine" : 325,
      "cleanedStartLine" : 170,
      "cleanedEndLine" : 180
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "extractor-legacy-0.13/src/main/scala/org/jetbrains/sbt/extractors/RepositoryExtractor.scala",
        "extension" : "scala",
        "linesOfCode" : 114,
        "components" : [ "primary::extractor-legacy-0.13" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 93,
      "startLine" : 109,
      "endLine" : 119,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 77
    }, {
      "file" : {
        "relativePath" : "extractor/src/main/scala/org/jetbrains/sbt/extractors/RepositoryExtractor.scala",
        "extension" : "scala",
        "linesOfCode" : 134,
        "components" : [ "primary::extractor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 132,
      "endLine" : 142,
      "cleanedStartLine" : 81,
      "cleanedEndLine" : 90
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "extractor-legacy-0.13/src/main/scala/org/jetbrains/sbt/operations.scala",
        "extension" : "scala",
        "linesOfCode" : 77,
        "components" : [ "primary::extractor-legacy-0.13" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 87,
      "endLine" : 99,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 58
    }, {
      "file" : {
        "relativePath" : "extractor/src/main/scala/org/jetbrains/sbt/operations.scala",
        "extension" : "scala",
        "linesOfCode" : 82,
        "components" : [ "primary::extractor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 93,
      "endLine" : 105,
      "cleanedStartLine" : 51,
      "cleanedEndLine" : 60
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "extractor-legacy-0.13/src/main/scala/org/jetbrains/sbt/extractors/RepositoryExtractor.scala",
        "extension" : "scala",
        "linesOfCode" : 114,
        "components" : [ "primary::extractor-legacy-0.13" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 93,
      "startLine" : 10,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "extractor/src/main/scala/org/jetbrains/sbt/extractors/RepositoryExtractor.scala",
        "extension" : "scala",
        "linesOfCode" : 134,
        "components" : [ "primary::extractor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 12,
      "endLine" : 22,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "extractor-legacy-0.13/src/main/scala/org/jetbrains/sbt/CreateTasks.scala",
        "extension" : "scala",
        "linesOfCode" : 37,
        "components" : [ "primary::extractor-legacy-0.13" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 10,
      "endLine" : 18,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "extractor/src/main/scala/org/jetbrains/sbt/CreateTasks.scala",
        "extension" : "scala",
        "linesOfCode" : 40,
        "components" : [ "primary::extractor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 13,
      "endLine" : 21,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "extractor-legacy-0.13/src/main/scala/org/jetbrains/sbt/extractors/UtilityTasks.scala",
        "extension" : "scala",
        "linesOfCode" : 146,
        "components" : [ "primary::extractor-legacy-0.13" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 107,
      "startLine" : 186,
      "endLine" : 194,
      "cleanedStartLine" : 99,
      "cleanedEndLine" : 107
    }, {
      "file" : {
        "relativePath" : "extractor/src/main/scala/org/jetbrains/sbt/extractors/UtilityTasks.scala",
        "extension" : "scala",
        "linesOfCode" : 157,
        "components" : [ "primary::extractor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 115,
      "startLine" : 210,
      "endLine" : 218,
      "cleanedStartLine" : 107,
      "cleanedEndLine" : 115
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "extractor-legacy-0.13/src/main/scala/org/jetbrains/sbt/extractors/SettingKeys.scala",
        "extension" : "scala",
        "linesOfCode" : 13,
        "components" : [ "primary::extractor-legacy-0.13" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 9,
      "startLine" : 6,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "extractor/src/main/scala/org/jetbrains/sbt/extractors/SettingKeys.scala",
        "extension" : "scala",
        "linesOfCode" : 14,
        "components" : [ "primary::extractor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 10,
      "startLine" : 10,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "extractor-legacy-0.13/src/main/scala/org/jetbrains/sbt/extractors/KeysExtractor.scala",
        "extension" : "scala",
        "linesOfCode" : 70,
        "components" : [ "primary::extractor-legacy-0.13" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 80,
      "endLine" : 90,
      "cleanedStartLine" : 43,
      "cleanedEndLine" : 51
    }, {
      "file" : {
        "relativePath" : "extractor/src/main/scala/org/jetbrains/sbt/extractors/KeysExtractor.scala",
        "extension" : "scala",
        "linesOfCode" : 72,
        "components" : [ "primary::extractor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 81,
      "endLine" : 91,
      "cleanedStartLine" : 43,
      "cleanedEndLine" : 51
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "extractor/src/main/scala-sbt-1.0-1.x/org/jetbrains/sbt/PluginOnlyTasksCompat.scala",
        "extension" : "scala",
        "linesOfCode" : 32,
        "components" : [ "primary::extractor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 25,
      "endLine" : 37,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "extractor/src/main/scala-sbt-2/org/jetbrains/sbt/PluginOnlyTasksCompat.scala",
        "extension" : "scala",
        "linesOfCode" : 31,
        "components" : [ "primary::extractor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 25,
      "endLine" : 37,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "extractor-legacy-0.13/src/main/scala/org/jetbrains/sbt/Options.scala",
        "extension" : "scala",
        "linesOfCode" : 30,
        "components" : [ "primary::extractor-legacy-0.13" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "extractor/src/main/scala/org/jetbrains/sbt/Options.scala",
        "extension" : "scala",
        "linesOfCode" : 30,
        "components" : [ "primary::extractor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "extractor-legacy-0.13/src/main/scala/org/jetbrains/sbt/extractors/DependenciesExtractor.scala",
        "extension" : "scala",
        "linesOfCode" : 357,
        "components" : [ "primary::extractor-legacy-0.13" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 298,
      "startLine" : 106,
      "endLine" : 113,
      "cleanedStartLine" : 63,
      "cleanedEndLine" : 70
    }, {
      "file" : {
        "relativePath" : "extractor/src/main/scala-sbt-1.0-1.x/org/jetbrains/sbt/extractors/DependenciesExtractorCompat.scala",
        "extension" : "scala",
        "linesOfCode" : 18,
        "components" : [ "primary::extractor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 10,
      "startLine" : 13,
      "endLine" : 20,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "extractor-legacy-0.13/src/main/scala/sbt/jetbrains/BadCitizen.scala",
        "extension" : "scala",
        "linesOfCode" : 14,
        "components" : [ "primary::extractor-legacy-0.13" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 8,
      "startLine" : 10,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 8
    }, {
      "file" : {
        "relativePath" : "extractor/src/main/scala/sbt/jetbrains/BadCitizen.scala",
        "extension" : "scala",
        "linesOfCode" : 14,
        "components" : [ "primary::extractor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 8,
      "startLine" : 10,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "extractor-legacy-0.13/src/main/scala/org/jetbrains/sbt/extractors/RepositoryExtractor.scala",
        "extension" : "scala",
        "linesOfCode" : 114,
        "components" : [ "primary::extractor-legacy-0.13" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 93,
      "startLine" : 22,
      "endLine" : 35,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "extractor/src/main/scala/org/jetbrains/sbt/extractors/RepositoryExtractor.scala",
        "extension" : "scala",
        "linesOfCode" : 134,
        "components" : [ "primary::extractor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 24,
      "endLine" : 37,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "extractor-legacy-0.13/src/main/scala/org/jetbrains/sbt/extractors/RepositoryExtractor.scala",
        "extension" : "scala",
        "linesOfCode" : 114,
        "components" : [ "primary::extractor-legacy-0.13" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 93,
      "startLine" : 98,
      "endLine" : 107,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 66
    }, {
      "file" : {
        "relativePath" : "extractor/src/main/scala/org/jetbrains/sbt/extractors/RepositoryExtractor.scala",
        "extension" : "scala",
        "linesOfCode" : 134,
        "components" : [ "primary::extractor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 121,
      "endLine" : 130,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 79
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "extractor-legacy-0.13/src/main/scala/org/jetbrains/sbt/extractors/RepositoryExtractor.scala",
        "extension" : "scala",
        "linesOfCode" : 114,
        "components" : [ "primary::extractor-legacy-0.13" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 93,
      "startLine" : 127,
      "endLine" : 136,
      "cleanedStartLine" : 82,
      "cleanedEndLine" : 89
    }, {
      "file" : {
        "relativePath" : "extractor/src/main/scala/org/jetbrains/sbt/extractors/RepositoryExtractor.scala",
        "extension" : "scala",
        "linesOfCode" : 134,
        "components" : [ "primary::extractor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 149,
      "endLine" : 158,
      "cleanedStartLine" : 95,
      "cleanedEndLine" : 102
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "extractor-legacy-0.13/src/main/scala/org/jetbrains/sbt/operations.scala",
        "extension" : "scala",
        "linesOfCode" : 77,
        "components" : [ "primary::extractor-legacy-0.13" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 49,
      "endLine" : 58,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 32
    }, {
      "file" : {
        "relativePath" : "extractor/src/main/scala/org/jetbrains/sbt/operations.scala",
        "extension" : "scala",
        "linesOfCode" : 82,
        "components" : [ "primary::extractor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 51,
      "endLine" : 60,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 32
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "extractor-legacy-0.13/src/main/scala/org/jetbrains/sbt/extractors/DependenciesExtractor.scala",
        "extension" : "scala",
        "linesOfCode" : 357,
        "components" : [ "primary::extractor-legacy-0.13" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 298,
      "startLine" : 428,
      "endLine" : 434,
      "cleanedStartLine" : 258,
      "cleanedEndLine" : 264
    }, {
      "file" : {
        "relativePath" : "extractor/src/main/scala/org/jetbrains/sbt/extractors/DependenciesExtractor.scala",
        "extension" : "scala",
        "linesOfCode" : 300,
        "components" : [ "primary::extractor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 253,
      "startLine" : 377,
      "endLine" : 383,
      "cleanedStartLine" : 222,
      "cleanedEndLine" : 228
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "extractor-legacy-0.13/src/main/scala/org/jetbrains/sbt/extractors/ProjectExtractor.scala",
        "extension" : "scala",
        "linesOfCode" : 317,
        "components" : [ "primary::extractor-legacy-0.13" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 287,
      "startLine" : 287,
      "endLine" : 299,
      "cleanedStartLine" : 157,
      "cleanedEndLine" : 163
    }, {
      "file" : {
        "relativePath" : "extractor/src/main/scala/org/jetbrains/sbt/extractors/ProjectExtractor.scala",
        "extension" : "scala",
        "linesOfCode" : 351,
        "components" : [ "primary::extractor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 311,
      "startLine" : 339,
      "endLine" : 351,
      "cleanedStartLine" : 177,
      "cleanedEndLine" : 183
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "extractor-legacy-0.13/src/main/scala/org/jetbrains/sbt/StructurePlugin.scala",
        "extension" : "scala",
        "linesOfCode" : 51,
        "components" : [ "primary::extractor-legacy-0.13" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 76,
      "endLine" : 85,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 39
    }, {
      "file" : {
        "relativePath" : "extractor/src/main/scala-sbt-2/org/jetbrains/sbt/PluginOnlyTasksCompat.scala",
        "extension" : "scala",
        "linesOfCode" : 31,
        "components" : [ "primary::extractor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 25,
      "endLine" : 34,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "extractor-legacy-0.13/src/main/scala/org/jetbrains/sbt/extractors/DependenciesExtractor.scala",
        "extension" : "scala",
        "linesOfCode" : 357,
        "components" : [ "primary::extractor-legacy-0.13" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 298,
      "startLine" : 378,
      "endLine" : 384,
      "cleanedStartLine" : 218,
      "cleanedEndLine" : 224
    }, {
      "file" : {
        "relativePath" : "extractor/src/main/scala/org/jetbrains/sbt/extractors/DependenciesExtractor.scala",
        "extension" : "scala",
        "linesOfCode" : 300,
        "components" : [ "primary::extractor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 253,
      "startLine" : 377,
      "endLine" : 383,
      "cleanedStartLine" : 222,
      "cleanedEndLine" : 228
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "extractor-legacy-0.13/src/main/scala/org/jetbrains/sbt/extractors/KeysExtractor.scala",
        "extension" : "scala",
        "linesOfCode" : 70,
        "components" : [ "primary::extractor-legacy-0.13" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 41,
      "endLine" : 52,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "extractor/src/main/scala/org/jetbrains/sbt/extractors/KeysExtractor.scala",
        "extension" : "scala",
        "linesOfCode" : 72,
        "components" : [ "primary::extractor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 42,
      "endLine" : 53,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 26
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "extractor-legacy-0.13/src/main/scala/org/jetbrains/sbt/StructurePlugin.scala",
        "extension" : "scala",
        "linesOfCode" : 51,
        "components" : [ "primary::extractor-legacy-0.13" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 76,
      "endLine" : 85,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 39
    }, {
      "file" : {
        "relativePath" : "extractor/src/main/scala-sbt-1.0-1.x/org/jetbrains/sbt/PluginOnlyTasksCompat.scala",
        "extension" : "scala",
        "linesOfCode" : 32,
        "components" : [ "primary::extractor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 25,
      "endLine" : 34,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "extractor-legacy-0.13/src/main/scala/org/jetbrains/sbt/extractors/RepositoryExtractor.scala",
        "extension" : "scala",
        "linesOfCode" : 114,
        "components" : [ "primary::extractor-legacy-0.13" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 93,
      "startLine" : 77,
      "endLine" : 88,
      "cleanedStartLine" : 47,
      "cleanedEndLine" : 53
    }, {
      "file" : {
        "relativePath" : "extractor/src/main/scala/org/jetbrains/sbt/extractors/RepositoryExtractor.scala",
        "extension" : "scala",
        "linesOfCode" : 134,
        "components" : [ "primary::extractor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 100,
      "endLine" : 111,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 66
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "extractor-legacy-0.13/src/main/scala/org/jetbrains/sbt/extractors/DependenciesExtractor.scala",
        "extension" : "scala",
        "linesOfCode" : 357,
        "components" : [ "primary::extractor-legacy-0.13" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 298,
      "startLine" : 317,
      "endLine" : 322,
      "cleanedStartLine" : 182,
      "cleanedEndLine" : 187
    }, {
      "file" : {
        "relativePath" : "extractor-legacy-0.13/src/main/scala/org/jetbrains/sbt/extractors/DependenciesExtractor.scala",
        "extension" : "scala",
        "linesOfCode" : 357,
        "components" : [ "primary::extractor-legacy-0.13" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 298,
      "startLine" : 325,
      "endLine" : 330,
      "cleanedStartLine" : 190,
      "cleanedEndLine" : 195
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "extractor-legacy-0.13/src/main/scala/org/jetbrains/sbt/extractors/UtilityTasks.scala",
        "extension" : "scala",
        "linesOfCode" : 146,
        "components" : [ "primary::extractor-legacy-0.13" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 107,
      "startLine" : 14,
      "endLine" : 33,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "extractor/src/main/scala/org/jetbrains/sbt/extractors/UtilityTasks.scala",
        "extension" : "scala",
        "linesOfCode" : 157,
        "components" : [ "primary::extractor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 115,
      "startLine" : 18,
      "endLine" : 37,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "extractor/src/main/scala/org/jetbrains/sbt/extractors/DependenciesExtractor.scala",
        "extension" : "scala",
        "linesOfCode" : 300,
        "components" : [ "primary::extractor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 253,
      "startLine" : 323,
      "endLine" : 328,
      "cleanedStartLine" : 178,
      "cleanedEndLine" : 183
    }, {
      "file" : {
        "relativePath" : "extractor/src/main/scala/org/jetbrains/sbt/extractors/DependenciesExtractor.scala",
        "extension" : "scala",
        "linesOfCode" : 300,
        "components" : [ "primary::extractor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 253,
      "startLine" : 371,
      "endLine" : 376,
      "cleanedStartLine" : 216,
      "cleanedEndLine" : 221
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "shared/src/main/scala/org/jetbrains/sbt/structure/dataSerializers.scala",
        "extension" : "scala",
        "linesOfCode" : 489,
        "components" : [ "primary::shared" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 413,
      "startLine" : 250,
      "endLine" : 255,
      "cleanedStartLine" : 174,
      "cleanedEndLine" : 179
    }, {
      "file" : {
        "relativePath" : "shared/src/main/scala/org/jetbrains/sbt/structure/dataSerializers.scala",
        "extension" : "scala",
        "linesOfCode" : 489,
        "components" : [ "primary::shared" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 413,
      "startLine" : 282,
      "endLine" : 287,
      "cleanedStartLine" : 197,
      "cleanedEndLine" : 202
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "extractor/src/main/scala/org/jetbrains/sbt/extractors/DependenciesExtractor.scala",
        "extension" : "scala",
        "linesOfCode" : 300,
        "components" : [ "primary::extractor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 253,
      "startLine" : 330,
      "endLine" : 335,
      "cleanedStartLine" : 185,
      "cleanedEndLine" : 190
    }, {
      "file" : {
        "relativePath" : "extractor/src/main/scala/org/jetbrains/sbt/extractors/DependenciesExtractor.scala",
        "extension" : "scala",
        "linesOfCode" : 300,
        "components" : [ "primary::extractor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 253,
      "startLine" : 378,
      "endLine" : 383,
      "cleanedStartLine" : 223,
      "cleanedEndLine" : 228
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "extractor-legacy-0.13/src/main/scala/org/jetbrains/sbt/extractors/DependenciesExtractor.scala",
        "extension" : "scala",
        "linesOfCode" : 357,
        "components" : [ "primary::extractor-legacy-0.13" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 298,
      "startLine" : 325,
      "endLine" : 330,
      "cleanedStartLine" : 190,
      "cleanedEndLine" : 195
    }, {
      "file" : {
        "relativePath" : "extractor/src/main/scala/org/jetbrains/sbt/extractors/DependenciesExtractor.scala",
        "extension" : "scala",
        "linesOfCode" : 300,
        "components" : [ "primary::extractor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 253,
      "startLine" : 267,
      "endLine" : 272,
      "cleanedStartLine" : 147,
      "cleanedEndLine" : 152
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "extractor-legacy-0.13/src/main/scala/org/jetbrains/sbt/package.scala",
        "extension" : "scala",
        "linesOfCode" : 40,
        "components" : [ "primary::extractor-legacy-0.13" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 47,
      "endLine" : 55,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "extractor/src/main/scala/org/jetbrains/sbt/package.scala",
        "extension" : "scala",
        "linesOfCode" : 42,
        "components" : [ "primary::extractor" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 47,
      "endLine" : 55,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 25
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "extractor-legacy-0.13/src/main/scala/org/jetbrains/sbt/extractors/UtilityTasks.scala",
        "extension" : "scala",
        "linesOfCode" : 146,
        "components" : [ "primary::extractor-legacy-0.13" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 107,
      "startLine" : 43,
      "endLine" : 51,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "extractor/src/main/scala/org/jetbrains/sbt/extractors/UtilityTasks.scala",
        "extension" : "scala",
        "linesOfCode" : 157,
        "components" : [ "primary::extractor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 115,
      "startLine" : 53,
      "endLine" : 61,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "extractor-legacy-0.13/src/main/scala/org/jetbrains/sbt/extractors/DependenciesExtractor.scala",
        "extension" : "scala",
        "linesOfCode" : 357,
        "components" : [ "primary::extractor-legacy-0.13" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 298,
      "startLine" : 429,
      "endLine" : 434,
      "cleanedStartLine" : 259,
      "cleanedEndLine" : 264
    }, {
      "file" : {
        "relativePath" : "extractor/src/main/scala/org/jetbrains/sbt/extractors/DependenciesExtractor.scala",
        "extension" : "scala",
        "linesOfCode" : 300,
        "components" : [ "primary::extractor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 253,
      "startLine" : 330,
      "endLine" : 335,
      "cleanedStartLine" : 185,
      "cleanedEndLine" : 190
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "extractor-legacy-0.13/src/main/scala/org/jetbrains/sbt/extractors/DependenciesExtractor.scala",
        "extension" : "scala",
        "linesOfCode" : 357,
        "components" : [ "primary::extractor-legacy-0.13" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 298,
      "startLine" : 379,
      "endLine" : 384,
      "cleanedStartLine" : 219,
      "cleanedEndLine" : 224
    }, {
      "file" : {
        "relativePath" : "extractor/src/main/scala/org/jetbrains/sbt/extractors/DependenciesExtractor.scala",
        "extension" : "scala",
        "linesOfCode" : 300,
        "components" : [ "primary::extractor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 253,
      "startLine" : 330,
      "endLine" : 335,
      "cleanedStartLine" : 185,
      "cleanedEndLine" : 190
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "extractor-legacy-0.13/src/main/scala/org/jetbrains/sbt/extractors/DependenciesExtractor.scala",
        "extension" : "scala",
        "linesOfCode" : 357,
        "components" : [ "primary::extractor-legacy-0.13" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 298,
      "startLine" : 334,
      "endLine" : 339,
      "cleanedStartLine" : 197,
      "cleanedEndLine" : 202
    }, {
      "file" : {
        "relativePath" : "extractor/src/main/scala/org/jetbrains/sbt/extractors/DependenciesExtractor.scala",
        "extension" : "scala",
        "linesOfCode" : 300,
        "components" : [ "primary::extractor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 253,
      "startLine" : 285,
      "endLine" : 290,
      "cleanedStartLine" : 163,
      "cleanedEndLine" : 168
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "extractor/src/main/scala-sbt-1.0-1.x/org/jetbrains/sbt/PluginOnlyTasksCompat.scala",
        "extension" : "scala",
        "linesOfCode" : 32,
        "components" : [ "primary::extractor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 10,
      "endLine" : 18,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "extractor/src/main/scala-sbt-2/org/jetbrains/sbt/PluginOnlyTasksCompat.scala",
        "extension" : "scala",
        "linesOfCode" : 31,
        "components" : [ "primary::extractor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 10,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "extractor-legacy-0.13/src/main/scala/org/jetbrains/sbt/extractors/DependenciesExtractor.scala",
        "extension" : "scala",
        "linesOfCode" : 357,
        "components" : [ "primary::extractor-legacy-0.13" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 298,
      "startLine" : 317,
      "endLine" : 322,
      "cleanedStartLine" : 182,
      "cleanedEndLine" : 187
    }, {
      "file" : {
        "relativePath" : "extractor/src/main/scala/org/jetbrains/sbt/extractors/DependenciesExtractor.scala",
        "extension" : "scala",
        "linesOfCode" : 300,
        "components" : [ "primary::extractor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 253,
      "startLine" : 275,
      "endLine" : 280,
      "cleanedStartLine" : 155,
      "cleanedEndLine" : 160
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "shared/src/main/scala/org/jetbrains/sbt/structure/dataSerializers.scala",
        "extension" : "scala",
        "linesOfCode" : 489,
        "components" : [ "primary::shared" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 413,
      "startLine" : 196,
      "endLine" : 201,
      "cleanedStartLine" : 134,
      "cleanedEndLine" : 139
    }, {
      "file" : {
        "relativePath" : "shared/src/main/scala/org/jetbrains/sbt/structure/dataSerializers.scala",
        "extension" : "scala",
        "linesOfCode" : 489,
        "components" : [ "primary::shared" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 413,
      "startLine" : 282,
      "endLine" : 287,
      "cleanedStartLine" : 197,
      "cleanedEndLine" : 202
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "extractor/src/main/scala/org/jetbrains/sbt/extractors/DependenciesExtractor.scala",
        "extension" : "scala",
        "linesOfCode" : 300,
        "components" : [ "primary::extractor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 253,
      "startLine" : 267,
      "endLine" : 272,
      "cleanedStartLine" : 147,
      "cleanedEndLine" : 152
    }, {
      "file" : {
        "relativePath" : "extractor/src/main/scala/org/jetbrains/sbt/extractors/DependenciesExtractor.scala",
        "extension" : "scala",
        "linesOfCode" : 300,
        "components" : [ "primary::extractor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 253,
      "startLine" : 275,
      "endLine" : 280,
      "cleanedStartLine" : 155,
      "cleanedEndLine" : 160
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "shared/src/main/scala/org/jetbrains/sbt/structure/dataSerializers.scala",
        "extension" : "scala",
        "linesOfCode" : 489,
        "components" : [ "primary::shared" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 413,
      "startLine" : 196,
      "endLine" : 201,
      "cleanedStartLine" : 134,
      "cleanedEndLine" : 139
    }, {
      "file" : {
        "relativePath" : "shared/src/main/scala/org/jetbrains/sbt/structure/dataSerializers.scala",
        "extension" : "scala",
        "linesOfCode" : 489,
        "components" : [ "primary::shared" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 413,
      "startLine" : 250,
      "endLine" : 255,
      "cleanedStartLine" : 174,
      "cleanedEndLine" : 179
    } ]
  } ],
  "overallDuplication" : null
}