{
  "title" : "Duplication",
  "timestamp" : "2026-01-18 16:35:10",
  "duplicates" : [ {
    "blockSize" : 23,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/java/org/jetbrains/plugins/clojure/psi/ClojureBaseElementImpl.java",
        "extension" : "java",
        "linesOfCode" : 85,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 29,
      "endLine" : 62,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "src/java/org/jetbrains/plugins/clojure/psi/impl/ClojureFileImpl.java",
        "extension" : "java",
        "linesOfCode" : 273,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 174,
      "startLine" : 158,
      "endLine" : 191,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 87
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/java/org/jetbrains/plugins/clojure/actions/RunClojureConsoleAction.java",
        "extension" : "java",
        "linesOfCode" : 72,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 41,
      "startLine" : 62,
      "endLine" : 75,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "src/java/org/jetbrains/plugins/clojure/utils/ClojureUtils.java",
        "extension" : "java",
        "linesOfCode" : 71,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 77,
      "endLine" : 90,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 36
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/java/org/jetbrains/plugins/clojure/psi/impl/ns/ClSyntheticNamespace.java",
        "extension" : "java",
        "linesOfCode" : 144,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 93,
      "startLine" : 150,
      "endLine" : 166,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 83
    }, {
      "file" : {
        "relativePath" : "src/java/org/jetbrains/plugins/clojure/psi/impl/symbols/ClSymbolImpl.java",
        "extension" : "java",
        "linesOfCode" : 397,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 264,
      "startLine" : 131,
      "endLine" : 147,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 60
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/java/org/jetbrains/plugins/clojure/psi/impl/synthetic/ClSynteticMethodImpl.java",
        "extension" : "java",
        "linesOfCode" : 141,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 161,
      "endLine" : 179,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 90
    }, {
      "file" : {
        "relativePath" : "src/java/org/jetbrains/plugins/clojure/psi/impl/synthetic/ClSyntheticClassImpl.java",
        "extension" : "java",
        "linesOfCode" : 328,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 221,
      "startLine" : 381,
      "endLine" : 399,
      "cleanedStartLine" : 208,
      "cleanedEndLine" : 218
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/java/org/jetbrains/plugins/clojure/psi/impl/defs/ClDefImpl.java",
        "extension" : "java",
        "linesOfCode" : 213,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 138,
      "startLine" : 114,
      "endLine" : 129,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 58
    }, {
      "file" : {
        "relativePath" : "src/java/org/jetbrains/plugins/clojure/psi/impl/defs/ClDefnMethodImpl.java",
        "extension" : "java",
        "linesOfCode" : 61,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 56,
      "endLine" : 70,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 32
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/clojure/org/jetbrains/plugins/clojure/utils/clojure_utils.clj",
        "extension" : "clj",
        "linesOfCode" : 149,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 149,
      "startLine" : 7,
      "endLine" : 16,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "src/clojure/org/jetbrains/plugins/clojure/utils/java_wrappers.clj",
        "extension" : "clj",
        "linesOfCode" : 146,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 6,
      "endLine" : 15,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/java/org/jetbrains/plugins/clojure/utils/LibrariesUtil.java",
        "extension" : "java",
        "linesOfCode" : 147,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 91,
      "startLine" : 98,
      "endLine" : 110,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 57
    }, {
      "file" : {
        "relativePath" : "src/java/org/jetbrains/plugins/clojure/utils/LibrariesUtil.java",
        "extension" : "java",
        "linesOfCode" : 147,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 91,
      "startLine" : 143,
      "endLine" : 155,
      "cleanedStartLine" : 76,
      "cleanedEndLine" : 85
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/java/org/jetbrains/plugins/clojure/config/ClojureConfigUtil.java",
        "extension" : "java",
        "linesOfCode" : 186,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 114,
      "startLine" : 69,
      "endLine" : 79,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "src/java/org/jetbrains/plugins/clojure/config/ClojureConfigUtil.java",
        "extension" : "java",
        "linesOfCode" : 186,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 114,
      "startLine" : 150,
      "endLine" : 160,
      "cleanedStartLine" : 66,
      "cleanedEndLine" : 75
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/java/org/jetbrains/plugins/clojure/parser/ClojureParser.java",
        "extension" : "java",
        "linesOfCode" : 295,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 229,
      "startLine" : 366,
      "endLine" : 377,
      "cleanedStartLine" : 197,
      "cleanedEndLine" : 204
    }, {
      "file" : {
        "relativePath" : "src/java/org/jetbrains/plugins/clojure/parser/ClojureParser.java",
        "extension" : "java",
        "linesOfCode" : 295,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 229,
      "startLine" : 385,
      "endLine" : 396,
      "cleanedStartLine" : 209,
      "cleanedEndLine" : 216
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/java/org/jetbrains/plugins/clojure/psi/stubs/elements/ClDefElementType.java",
        "extension" : "java",
        "linesOfCode" : 45,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 28,
      "endLine" : 39,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "src/java/org/jetbrains/plugins/clojure/psi/stubs/elements/ClDefMethodElementType.java",
        "extension" : "java",
        "linesOfCode" : 45,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 28,
      "endLine" : 39,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/java/org/jetbrains/plugins/clojure/compiler/ClojureCompilerConfigurable.java",
        "extension" : "java",
        "linesOfCode" : 49,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 32,
      "endLine" : 44,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "src/java/org/jetbrains/plugins/clojure/debugger/filters/ClojureDebuggerSettingsConfigurable.java",
        "extension" : "java",
        "linesOfCode" : 52,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 39,
      "endLine" : 51,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 23
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/java/org/jetbrains/plugins/clojure/psi/stubs/api/ClDefStub.java",
        "extension" : "java",
        "linesOfCode" : 23,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 11,
      "startLine" : 19,
      "endLine" : 29,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "src/java/org/jetbrains/plugins/clojure/psi/stubs/api/ClNsStub.java",
        "extension" : "java",
        "linesOfCode" : 23,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 11,
      "startLine" : 19,
      "endLine" : 29,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/java/org/jetbrains/plugins/clojure/parser/ClojureParser.java",
        "extension" : "java",
        "linesOfCode" : 295,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 229,
      "startLine" : 141,
      "endLine" : 147,
      "cleanedStartLine" : 76,
      "cleanedEndLine" : 82
    }, {
      "file" : {
        "relativePath" : "src/java/org/jetbrains/plugins/clojure/parser/ClojureParser.java",
        "extension" : "java",
        "linesOfCode" : 295,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 229,
      "startLine" : 155,
      "endLine" : 162,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 93
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/java/org/jetbrains/plugins/clojure/psi/impl/list/ListDeclarations.java",
        "extension" : "java",
        "linesOfCode" : 220,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 156,
      "startLine" : 120,
      "endLine" : 129,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 75
    }, {
      "file" : {
        "relativePath" : "src/java/org/jetbrains/plugins/clojure/psi/impl/list/ListDeclarations.java",
        "extension" : "java",
        "linesOfCode" : 220,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 156,
      "startLine" : 134,
      "endLine" : 143,
      "cleanedStartLine" : 77,
      "cleanedEndLine" : 83
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/java/org/jetbrains/plugins/clojure/repl/actions/RunLastSExprAction.java",
        "extension" : "java",
        "linesOfCode" : 33,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 35,
      "endLine" : 43,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "src/java/org/jetbrains/plugins/clojure/repl/actions/RunTopSExprAction.java",
        "extension" : "java",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 39,
      "endLine" : 47,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/clojure/org/jetbrains/plugins/clojure/refactoring/introduce/introduce_variable.clj",
        "extension" : "clj",
        "linesOfCode" : 249,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 249,
      "startLine" : 194,
      "endLine" : 200,
      "cleanedStartLine" : 177,
      "cleanedEndLine" : 183
    }, {
      "file" : {
        "relativePath" : "src/clojure/org/jetbrains/plugins/clojure/refactoring/introduce/introduce_variable.clj",
        "extension" : "clj",
        "linesOfCode" : 249,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 249,
      "startLine" : 206,
      "endLine" : 212,
      "cleanedStartLine" : 188,
      "cleanedEndLine" : 194
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/java/org/jetbrains/plugins/clojure/psi/impl/symbols/ClSymbolImpl.java",
        "extension" : "java",
        "linesOfCode" : 397,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 264,
      "startLine" : 224,
      "endLine" : 230,
      "cleanedStartLine" : 108,
      "cleanedEndLine" : 114
    }, {
      "file" : {
        "relativePath" : "src/java/org/jetbrains/plugins/clojure/psi/resolve/completion/CompleteSymbol.java",
        "extension" : "java",
        "linesOfCode" : 114,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 77,
      "startLine" : 29,
      "endLine" : 35,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/java/org/jetbrains/plugins/clojure/psi/impl/defs/ClDefImpl.java",
        "extension" : "java",
        "linesOfCode" : 213,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 138,
      "startLine" : 60,
      "endLine" : 67,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "src/java/org/jetbrains/plugins/clojure/psi/impl/ns/ClNsImpl.java",
        "extension" : "java",
        "linesOfCode" : 131,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 85,
      "startLine" : 68,
      "endLine" : 75,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 30
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/java/org/jetbrains/plugins/clojure/editor/selection/ClojureBasicSelectioner.java",
        "extension" : "java",
        "linesOfCode" : 92,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 77,
      "endLine" : 87,
      "cleanedStartLine" : 39,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "src/java/org/jetbrains/plugins/clojure/editor/selection/ClojureBasicSelectioner.java",
        "extension" : "java",
        "linesOfCode" : 92,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 91,
      "endLine" : 99,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 55
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/java/org/jetbrains/plugins/clojure/repl/ClojureConsoleRunner.java",
        "extension" : "java",
        "linesOfCode" : 364,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 306,
      "endLine" : 312,
      "cleanedStartLine" : 161,
      "cleanedEndLine" : 166
    }, {
      "file" : {
        "relativePath" : "src/java/org/jetbrains/plugins/clojure/repl/ClojureConsoleRunner.java",
        "extension" : "java",
        "linesOfCode" : 364,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 381,
      "endLine" : 387,
      "cleanedStartLine" : 210,
      "cleanedEndLine" : 215
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/java/org/jetbrains/plugins/clojure/psi/impl/list/ListDeclarations.java",
        "extension" : "java",
        "linesOfCode" : 220,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 156,
      "startLine" : 121,
      "endLine" : 129,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 75
    }, {
      "file" : {
        "relativePath" : "src/java/org/jetbrains/plugins/clojure/psi/impl/list/ListDeclarations.java",
        "extension" : "java",
        "linesOfCode" : 220,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 156,
      "startLine" : 196,
      "endLine" : 204,
      "cleanedStartLine" : 116,
      "cleanedEndLine" : 121
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/java/org/jetbrains/plugins/clojure/repl/actions/RunLastSExprAction.java",
        "extension" : "java",
        "linesOfCode" : 33,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 24,
      "endLine" : 30,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "src/java/org/jetbrains/plugins/clojure/repl/actions/SwitchNamespaceClojureFileInConsoleAction.java",
        "extension" : "java",
        "linesOfCode" : 27,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 15,
      "startLine" : 18,
      "endLine" : 24,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/java/org/jetbrains/plugins/clojure/psi/impl/ImportOwner.java",
        "extension" : "java",
        "linesOfCode" : 356,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 255,
      "startLine" : 380,
      "endLine" : 385,
      "cleanedStartLine" : 199,
      "cleanedEndLine" : 204
    }, {
      "file" : {
        "relativePath" : "src/java/org/jetbrains/plugins/clojure/psi/impl/ImportOwner.java",
        "extension" : "java",
        "linesOfCode" : 356,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 255,
      "startLine" : 396,
      "endLine" : 401,
      "cleanedStartLine" : 210,
      "cleanedEndLine" : 215
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/java/org/jetbrains/plugins/clojure/psi/impl/defs/ClDefnMethodImpl.java",
        "extension" : "java",
        "linesOfCode" : 61,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 63,
      "endLine" : 70,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 32
    }, {
      "file" : {
        "relativePath" : "src/java/org/jetbrains/plugins/clojure/psi/impl/ns/ClSyntheticNamespace.java",
        "extension" : "java",
        "linesOfCode" : 144,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 93,
      "startLine" : 158,
      "endLine" : 166,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 83
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/java/org/jetbrains/plugins/clojure/psi/impl/defs/ClDefImpl.java",
        "extension" : "java",
        "linesOfCode" : 213,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 138,
      "startLine" : 121,
      "endLine" : 129,
      "cleanedStartLine" : 53,
      "cleanedEndLine" : 58
    }, {
      "file" : {
        "relativePath" : "src/java/org/jetbrains/plugins/clojure/psi/impl/ns/ClSyntheticNamespace.java",
        "extension" : "java",
        "linesOfCode" : 144,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 93,
      "startLine" : 158,
      "endLine" : 166,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 83
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/java/org/jetbrains/plugins/clojure/psi/impl/defs/ClDefImpl.java",
        "extension" : "java",
        "linesOfCode" : 213,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 138,
      "startLine" : 121,
      "endLine" : 129,
      "cleanedStartLine" : 53,
      "cleanedEndLine" : 58
    }, {
      "file" : {
        "relativePath" : "src/java/org/jetbrains/plugins/clojure/psi/impl/symbols/ClSymbolImpl.java",
        "extension" : "java",
        "linesOfCode" : 397,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 264,
      "startLine" : 139,
      "endLine" : 147,
      "cleanedStartLine" : 55,
      "cleanedEndLine" : 60
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/java/org/jetbrains/plugins/clojure/psi/impl/defs/ClDefnMethodImpl.java",
        "extension" : "java",
        "linesOfCode" : 61,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 63,
      "endLine" : 70,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 32
    }, {
      "file" : {
        "relativePath" : "src/java/org/jetbrains/plugins/clojure/psi/impl/symbols/ClSymbolImpl.java",
        "extension" : "java",
        "linesOfCode" : 397,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 264,
      "startLine" : 139,
      "endLine" : 147,
      "cleanedStartLine" : 55,
      "cleanedEndLine" : 60
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/java/org/jetbrains/plugins/clojure/repl/ClojureConsoleRunner.java",
        "extension" : "java",
        "linesOfCode" : 364,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 383,
      "endLine" : 392,
      "cleanedStartLine" : 212,
      "cleanedEndLine" : 217
    }, {
      "file" : {
        "relativePath" : "src/java/org/jetbrains/plugins/clojure/repl/ClojureReplProcessHandler.java",
        "extension" : "java",
        "linesOfCode" : 327,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 215,
      "startLine" : 123,
      "endLine" : 132,
      "cleanedStartLine" : 43,
      "cleanedEndLine" : 48
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/java/org/jetbrains/plugins/clojure/psi/impl/list/ListDeclarations.java",
        "extension" : "java",
        "linesOfCode" : 220,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 156,
      "startLine" : 135,
      "endLine" : 143,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 83
    }, {
      "file" : {
        "relativePath" : "src/java/org/jetbrains/plugins/clojure/psi/impl/list/ListDeclarations.java",
        "extension" : "java",
        "linesOfCode" : 220,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 156,
      "startLine" : 196,
      "endLine" : 204,
      "cleanedStartLine" : 116,
      "cleanedEndLine" : 121
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/java/org/jetbrains/plugins/clojure/psi/impl/defs/ClDefImpl.java",
        "extension" : "java",
        "linesOfCode" : 213,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 138,
      "startLine" : 222,
      "endLine" : 230,
      "cleanedStartLine" : 119,
      "cleanedEndLine" : 124
    }, {
      "file" : {
        "relativePath" : "src/java/org/jetbrains/plugins/clojure/psi/impl/ns/ClNsImpl.java",
        "extension" : "java",
        "linesOfCode" : 131,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 85,
      "startLine" : 91,
      "endLine" : 99,
      "cleanedStartLine" : 39,
      "cleanedEndLine" : 44
    } ]
  } ],
  "overallDuplication" : null
}