{
  "title" : "Duplication",
  "timestamp" : "2024-04-03 14:38:53",
  "duplicates" : [ {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "intellij/src/main/kotlin/motif/intellij/hierarchy/ScopePropertyHierarchyBrowser.kt",
        "extension" : "kt",
        "linesOfCode" : 153,
        "components" : [ "primary::intellij" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 90,
      "endLine" : 113,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 35
    }, {
      "file" : {
        "relativePath" : "intellij/src/main/kotlin/motif/intellij/hierarchy/UsageHierarchyBrowser.kt",
        "extension" : "kt",
        "linesOfCode" : 80,
        "components" : [ "primary::intellij" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 60,
      "endLine" : 83,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "intellij/src/main/kotlin/motif/intellij/hierarchy/ErrorHierarchyBrowser.kt",
        "extension" : "kt",
        "linesOfCode" : 107,
        "components" : [ "primary::intellij" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 80,
      "endLine" : 95,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 30
    }, {
      "file" : {
        "relativePath" : "intellij/src/main/kotlin/motif/intellij/hierarchy/UsageHierarchyBrowser.kt",
        "extension" : "kt",
        "linesOfCode" : 80,
        "components" : [ "primary::intellij" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 75,
      "endLine" : 90,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 30
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "intellij/src/main/kotlin/motif/intellij/hierarchy/descriptor/ScopeHierarchySinksSectionDescriptor.kt",
        "extension" : "kt",
        "linesOfCode" : 28,
        "components" : [ "primary::intellij" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 28,
      "endLine" : 36,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "intellij/src/main/kotlin/motif/intellij/hierarchy/descriptor/ScopeHierarchySourcesSectionDescriptor.kt",
        "extension" : "kt",
        "linesOfCode" : 29,
        "components" : [ "primary::intellij" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 29,
      "endLine" : 37,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "intellij/src/main/kotlin/motif/intellij/hierarchy/ErrorHierarchyBrowser.kt",
        "extension" : "kt",
        "linesOfCode" : 107,
        "components" : [ "primary::intellij" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 62,
      "endLine" : 76,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "intellij/src/main/kotlin/motif/intellij/hierarchy/UsageHierarchyBrowser.kt",
        "extension" : "kt",
        "linesOfCode" : 80,
        "components" : [ "primary::intellij" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 60,
      "endLine" : 74,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "intellij/src/main/kotlin/motif/intellij/hierarchy/ErrorHierarchyBrowser.kt",
        "extension" : "kt",
        "linesOfCode" : 107,
        "components" : [ "primary::intellij" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 62,
      "endLine" : 76,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "intellij/src/main/kotlin/motif/intellij/hierarchy/ScopePropertyHierarchyBrowser.kt",
        "extension" : "kt",
        "linesOfCode" : 153,
        "components" : [ "primary::intellij" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 90,
      "endLine" : 104,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 30
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "compiler/src/main/kotlin/motif/compiler/JavaCodeGenerator.kt",
        "extension" : "kt",
        "linesOfCode" : 274,
        "components" : [ "primary::compiler" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 208,
      "startLine" : 185,
      "endLine" : 197,
      "cleanedStartLine" : 113,
      "cleanedEndLine" : 120
    }, {
      "file" : {
        "relativePath" : "compiler/src/main/kotlin/motif/compiler/KotlinCodeGenerator.kt",
        "extension" : "kt",
        "linesOfCode" : 321,
        "components" : [ "primary::compiler" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 241,
      "startLine" : 216,
      "endLine" : 228,
      "cleanedStartLine" : 133,
      "cleanedEndLine" : 140
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "intellij/src/main/kotlin/motif/intellij/actions/MotifAncestorGraphAction.kt",
        "extension" : "kt",
        "linesOfCode" : 52,
        "components" : [ "primary::intellij" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 39,
      "endLine" : 48,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "intellij/src/main/kotlin/motif/intellij/actions/MotifUsageAction.kt",
        "extension" : "kt",
        "linesOfCode" : 48,
        "components" : [ "primary::intellij" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 38,
      "endLine" : 47,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "intellij/src/main/kotlin/motif/intellij/hierarchy/ErrorHierarchyBrowser.kt",
        "extension" : "kt",
        "linesOfCode" : 107,
        "components" : [ "primary::intellij" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 115,
      "endLine" : 123,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 48
    }, {
      "file" : {
        "relativePath" : "intellij/src/main/kotlin/motif/intellij/hierarchy/UsageHierarchyBrowser.kt",
        "extension" : "kt",
        "linesOfCode" : 80,
        "components" : [ "primary::intellij" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 94,
      "endLine" : 102,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 38
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "intellij/src/main/kotlin/motif/intellij/hierarchy/ScopePropertyHierarchyBrowser.kt",
        "extension" : "kt",
        "linesOfCode" : 153,
        "components" : [ "primary::intellij" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 142,
      "endLine" : 150,
      "cleanedStartLine" : 51,
      "cleanedEndLine" : 57
    }, {
      "file" : {
        "relativePath" : "intellij/src/main/kotlin/motif/intellij/hierarchy/UsageHierarchyBrowser.kt",
        "extension" : "kt",
        "linesOfCode" : 80,
        "components" : [ "primary::intellij" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 94,
      "endLine" : 102,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 38
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "intellij/src/main/kotlin/motif/intellij/hierarchy/ErrorHierarchyBrowser.kt",
        "extension" : "kt",
        "linesOfCode" : 107,
        "components" : [ "primary::intellij" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 115,
      "endLine" : 123,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 48
    }, {
      "file" : {
        "relativePath" : "intellij/src/main/kotlin/motif/intellij/hierarchy/ScopePropertyHierarchyBrowser.kt",
        "extension" : "kt",
        "linesOfCode" : 153,
        "components" : [ "primary::intellij" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 142,
      "endLine" : 150,
      "cleanedStartLine" : 51,
      "cleanedEndLine" : 57
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "intellij/src/main/kotlin/motif/intellij/hierarchy/descriptor/ScopeHierarchyDependenciesSectionDescriptor.kt",
        "extension" : "kt",
        "linesOfCode" : 21,
        "components" : [ "primary::intellij" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 12,
      "startLine" : 26,
      "endLine" : 33,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "intellij/src/main/kotlin/motif/intellij/hierarchy/descriptor/ScopeHierarchySourcesAndSinksSectionDescriptor.kt",
        "extension" : "kt",
        "linesOfCode" : 26,
        "components" : [ "primary::intellij" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 29,
      "endLine" : 36,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "intellij/src/main/kotlin/motif/intellij/hierarchy/descriptor/ScopeHierarchyUsageSinksSectionDescriptor.kt",
        "extension" : "kt",
        "linesOfCode" : 26,
        "components" : [ "primary::intellij" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 29,
      "endLine" : 36,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "intellij/src/main/kotlin/motif/intellij/hierarchy/descriptor/ScopeHierarchyUsageSourcesSectionDescriptor.kt",
        "extension" : "kt",
        "linesOfCode" : 26,
        "components" : [ "primary::intellij" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 29,
      "endLine" : 36,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "intellij/src/main/kotlin/motif/intellij/actions/MotifAncestorGraphAction.kt",
        "extension" : "kt",
        "linesOfCode" : 52,
        "components" : [ "primary::intellij" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 66,
      "endLine" : 71,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "intellij/src/main/kotlin/motif/intellij/actions/MotifUsageAction.kt",
        "extension" : "kt",
        "linesOfCode" : 48,
        "components" : [ "primary::intellij" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 63,
      "endLine" : 68,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 24
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "intellij/src/main/kotlin/motif/intellij/hierarchy/ScopeHierarchyBrowser.kt",
        "extension" : "kt",
        "linesOfCode" : 201,
        "components" : [ "primary::intellij" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 125,
      "startLine" : 164,
      "endLine" : 171,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 73
    }, {
      "file" : {
        "relativePath" : "intellij/src/main/kotlin/motif/intellij/hierarchy/ScopePropertyHierarchyBrowser.kt",
        "extension" : "kt",
        "linesOfCode" : 153,
        "components" : [ "primary::intellij" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 126,
      "endLine" : 133,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "compiler/src/main/kotlin/motif/compiler/JavaCodeGenerator.kt",
        "extension" : "kt",
        "linesOfCode" : 274,
        "components" : [ "primary::compiler" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 208,
      "startLine" : 153,
      "endLine" : 163,
      "cleanedStartLine" : 94,
      "cleanedEndLine" : 99
    }, {
      "file" : {
        "relativePath" : "compiler/src/main/kotlin/motif/compiler/KotlinCodeGenerator.kt",
        "extension" : "kt",
        "linesOfCode" : 321,
        "components" : [ "primary::compiler" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 241,
      "startLine" : 175,
      "endLine" : 185,
      "cleanedStartLine" : 107,
      "cleanedEndLine" : 112
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "compiler/src/main/kotlin/motif/compiler/JavaCodeGenerator.kt",
        "extension" : "kt",
        "linesOfCode" : 274,
        "components" : [ "primary::compiler" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 208,
      "startLine" : 213,
      "endLine" : 221,
      "cleanedStartLine" : 132,
      "cleanedEndLine" : 137
    }, {
      "file" : {
        "relativePath" : "compiler/src/main/kotlin/motif/compiler/KotlinCodeGenerator.kt",
        "extension" : "kt",
        "linesOfCode" : 321,
        "components" : [ "primary::compiler" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 241,
      "startLine" : 253,
      "endLine" : 261,
      "cleanedStartLine" : 157,
      "cleanedEndLine" : 162
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "intellij/src/main/kotlin/motif/intellij/actions/MotifAncestorGraphAction.kt",
        "extension" : "kt",
        "linesOfCode" : 52,
        "components" : [ "primary::intellij" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 48,
      "endLine" : 56,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "intellij/src/main/kotlin/motif/intellij/actions/MotifGraphAction.kt",
        "extension" : "kt",
        "linesOfCode" : 34,
        "components" : [ "primary::intellij" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 42,
      "endLine" : 50,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    } ]
  } ],
  "overallDuplication" : null
}