{
  "title" : "Duplication",
  "timestamp" : "2026-01-18 16:50:00",
  "duplicates" : [ {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "go/src/ru/adelf/idea/dotenv/go/GoEnvCompletionProvider.java",
        "extension" : "java",
        "linesOfCode" : 64,
        "components" : [ "primary::go" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 23,
      "endLine" : 45,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "ruby/src/ru/adelf/idea/dotenv/ruby/RubyEnvCompletionProvider.java",
        "extension" : "java",
        "linesOfCode" : 76,
        "components" : [ "primary::ruby" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 26,
      "endLine" : 49,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "python/src/ru/adelf/idea/dotenv/python/PythonEnvCompletionProvider.java",
        "extension" : "java",
        "linesOfCode" : 79,
        "components" : [ "primary::python" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 22,
      "endLine" : 45,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "ruby/src/ru/adelf/idea/dotenv/ruby/RubyEnvCompletionProvider.java",
        "extension" : "java",
        "linesOfCode" : 76,
        "components" : [ "primary::ruby" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 26,
      "endLine" : 49,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "go/src/ru/adelf/idea/dotenv/go/GoEnvCompletionProvider.java",
        "extension" : "java",
        "linesOfCode" : 64,
        "components" : [ "primary::go" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 23,
      "endLine" : 45,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "python/src/ru/adelf/idea/dotenv/python/PythonEnvCompletionProvider.java",
        "extension" : "java",
        "linesOfCode" : 79,
        "components" : [ "primary::python" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 22,
      "endLine" : 45,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "go/src/ru/adelf/idea/dotenv/go/GoEnvCompletionProvider.java",
        "extension" : "java",
        "linesOfCode" : 64,
        "components" : [ "primary::go" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 24,
      "endLine" : 45,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "kotlin/src/ru/adelf/idea/dotenv/kotlin/KotlinEnvCompletionContributor.java",
        "extension" : "java",
        "linesOfCode" : 59,
        "components" : [ "primary::kotlin" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 23,
      "endLine" : 43,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "kotlin/src/ru/adelf/idea/dotenv/kotlin/KotlinEnvCompletionContributor.java",
        "extension" : "java",
        "linesOfCode" : 59,
        "components" : [ "primary::kotlin" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 23,
      "endLine" : 43,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "ruby/src/ru/adelf/idea/dotenv/ruby/RubyEnvCompletionProvider.java",
        "extension" : "java",
        "linesOfCode" : 76,
        "components" : [ "primary::ruby" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 27,
      "endLine" : 49,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "php/src/ru/adelf/idea/dotenv/php/PhpEnvCompletionContributor.java",
        "extension" : "java",
        "linesOfCode" : 59,
        "components" : [ "primary::php" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 23,
      "endLine" : 45,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "ruby/src/ru/adelf/idea/dotenv/ruby/RubyEnvCompletionProvider.java",
        "extension" : "java",
        "linesOfCode" : 76,
        "components" : [ "primary::ruby" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 27,
      "endLine" : 49,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "kotlin/src/ru/adelf/idea/dotenv/kotlin/KotlinEnvCompletionContributor.java",
        "extension" : "java",
        "linesOfCode" : 59,
        "components" : [ "primary::kotlin" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 23,
      "endLine" : 43,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "php/src/ru/adelf/idea/dotenv/php/PhpEnvCompletionContributor.java",
        "extension" : "java",
        "linesOfCode" : 59,
        "components" : [ "primary::php" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 23,
      "endLine" : 45,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "go/src/ru/adelf/idea/dotenv/go/GoEnvCompletionProvider.java",
        "extension" : "java",
        "linesOfCode" : 64,
        "components" : [ "primary::go" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 24,
      "endLine" : 45,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "php/src/ru/adelf/idea/dotenv/php/PhpEnvCompletionContributor.java",
        "extension" : "java",
        "linesOfCode" : 59,
        "components" : [ "primary::php" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 23,
      "endLine" : 45,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "java/src/ru/adelf/idea/dotenv/java/JavaEnvCompletionContributor.java",
        "extension" : "java",
        "linesOfCode" : 63,
        "components" : [ "primary::java" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 23,
      "endLine" : 43,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "php/src/ru/adelf/idea/dotenv/php/PhpEnvCompletionContributor.java",
        "extension" : "java",
        "linesOfCode" : 59,
        "components" : [ "primary::php" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 23,
      "endLine" : 45,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "kotlin/src/ru/adelf/idea/dotenv/kotlin/KotlinEnvCompletionContributor.java",
        "extension" : "java",
        "linesOfCode" : 59,
        "components" : [ "primary::kotlin" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 23,
      "endLine" : 43,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "python/src/ru/adelf/idea/dotenv/python/PythonEnvCompletionProvider.java",
        "extension" : "java",
        "linesOfCode" : 79,
        "components" : [ "primary::python" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 23,
      "endLine" : 45,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "java/src/ru/adelf/idea/dotenv/java/JavaEnvCompletionContributor.java",
        "extension" : "java",
        "linesOfCode" : 63,
        "components" : [ "primary::java" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 23,
      "endLine" : 43,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "python/src/ru/adelf/idea/dotenv/python/PythonEnvCompletionProvider.java",
        "extension" : "java",
        "linesOfCode" : 79,
        "components" : [ "primary::python" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 23,
      "endLine" : 45,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "php/src/ru/adelf/idea/dotenv/php/PhpEnvCompletionContributor.java",
        "extension" : "java",
        "linesOfCode" : 59,
        "components" : [ "primary::php" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 23,
      "endLine" : 45,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "python/src/ru/adelf/idea/dotenv/python/PythonEnvCompletionProvider.java",
        "extension" : "java",
        "linesOfCode" : 79,
        "components" : [ "primary::python" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 23,
      "endLine" : 45,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "java/src/ru/adelf/idea/dotenv/java/JavaEnvCompletionContributor.java",
        "extension" : "java",
        "linesOfCode" : 63,
        "components" : [ "primary::java" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 23,
      "endLine" : 43,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "ruby/src/ru/adelf/idea/dotenv/ruby/RubyEnvCompletionProvider.java",
        "extension" : "java",
        "linesOfCode" : 76,
        "components" : [ "primary::ruby" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 27,
      "endLine" : 49,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "go/src/ru/adelf/idea/dotenv/go/GoEnvCompletionProvider.java",
        "extension" : "java",
        "linesOfCode" : 64,
        "components" : [ "primary::go" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 24,
      "endLine" : 45,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "java/src/ru/adelf/idea/dotenv/java/JavaEnvCompletionContributor.java",
        "extension" : "java",
        "linesOfCode" : 63,
        "components" : [ "primary::java" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 23,
      "endLine" : 43,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "java/src/ru/adelf/idea/dotenv/java/JavaEnvCompletionContributor.java",
        "extension" : "java",
        "linesOfCode" : 63,
        "components" : [ "primary::java" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 23,
      "endLine" : 43,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "kotlin/src/ru/adelf/idea/dotenv/kotlin/KotlinEnvCompletionContributor.java",
        "extension" : "java",
        "linesOfCode" : 59,
        "components" : [ "primary::kotlin" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 23,
      "endLine" : 43,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/main/java/ru/adelf/idea/dotenv/inspections/ExtraBlankLineInspection.java",
        "extension" : "java",
        "linesOfCode" : 70,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 41,
      "startLine" : 29,
      "endLine" : 40,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "src/main/java/ru/adelf/idea/dotenv/inspections/SpaceInsideNonQuotedInspection.java",
        "extension" : "java",
        "linesOfCode" : 79,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 31,
      "endLine" : 42,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/main/java/ru/adelf/idea/dotenv/inspections/LeadingCharacterInspection.java",
        "extension" : "java",
        "linesOfCode" : 35,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 23,
      "endLine" : 35,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "src/main/java/ru/adelf/idea/dotenv/inspections/LowercaseKeyInspection.java",
        "extension" : "java",
        "linesOfCode" : 61,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 28,
      "endLine" : 40,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/main/java/ru/adelf/idea/dotenv/inspections/SpaceAroundSeparatorInspection.java",
        "extension" : "java",
        "linesOfCode" : 74,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 29,
      "endLine" : 39,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "src/main/java/ru/adelf/idea/dotenv/inspections/TrailingWhitespaceInspection.java",
        "extension" : "java",
        "linesOfCode" : 80,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 30,
      "endLine" : 40,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/main/java/ru/adelf/idea/dotenv/inspections/ExtraBlankLineInspection.java",
        "extension" : "java",
        "linesOfCode" : 70,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 41,
      "startLine" : 34,
      "endLine" : 44,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "src/main/java/ru/adelf/idea/dotenv/inspections/LeadingCharacterInspection.java",
        "extension" : "java",
        "linesOfCode" : 35,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 23,
      "endLine" : 33,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "kotlin/src/ru/adelf/idea/dotenv/kotlin/KotlinEnvCompletionContributor.java",
        "extension" : "java",
        "linesOfCode" : 59,
        "components" : [ "primary::kotlin" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 32,
      "endLine" : 43,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "php/src/ru/adelf/idea/dotenv/php/PhpunitEnvCompletionContributor.java",
        "extension" : "java",
        "linesOfCode" : 70,
        "components" : [ "primary::php" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 44,
      "endLine" : 56,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/main/java/ru/adelf/idea/dotenv/inspections/ExtraBlankLineInspection.java",
        "extension" : "java",
        "linesOfCode" : 70,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 41,
      "startLine" : 34,
      "endLine" : 44,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "src/main/java/ru/adelf/idea/dotenv/inspections/SpaceAroundSeparatorInspection.java",
        "extension" : "java",
        "linesOfCode" : 74,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 29,
      "endLine" : 39,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/main/java/ru/adelf/idea/dotenv/inspections/ExtraBlankLineInspection.java",
        "extension" : "java",
        "linesOfCode" : 70,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 41,
      "startLine" : 34,
      "endLine" : 44,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "src/main/java/ru/adelf/idea/dotenv/inspections/LowercaseKeyInspection.java",
        "extension" : "java",
        "linesOfCode" : 61,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 28,
      "endLine" : 38,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "go/src/ru/adelf/idea/dotenv/go/GoEnvCompletionProvider.java",
        "extension" : "java",
        "linesOfCode" : 64,
        "components" : [ "primary::go" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 34,
      "endLine" : 45,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "php/src/ru/adelf/idea/dotenv/php/PhpunitEnvCompletionContributor.java",
        "extension" : "java",
        "linesOfCode" : 70,
        "components" : [ "primary::php" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 44,
      "endLine" : 56,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/main/java/ru/adelf/idea/dotenv/inspections/LeadingCharacterInspection.java",
        "extension" : "java",
        "linesOfCode" : 35,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 23,
      "endLine" : 33,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "src/main/java/ru/adelf/idea/dotenv/inspections/TrailingWhitespaceInspection.java",
        "extension" : "java",
        "linesOfCode" : 80,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 30,
      "endLine" : 40,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/main/java/ru/adelf/idea/dotenv/inspections/LeadingCharacterInspection.java",
        "extension" : "java",
        "linesOfCode" : 35,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 23,
      "endLine" : 33,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "src/main/java/ru/adelf/idea/dotenv/inspections/SpaceAroundSeparatorInspection.java",
        "extension" : "java",
        "linesOfCode" : 74,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 29,
      "endLine" : 39,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "php/src/ru/adelf/idea/dotenv/php/PhpunitEnvCompletionContributor.java",
        "extension" : "java",
        "linesOfCode" : 70,
        "components" : [ "primary::php" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 44,
      "endLine" : 56,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "ruby/src/ru/adelf/idea/dotenv/ruby/RubyEnvCompletionProvider.java",
        "extension" : "java",
        "linesOfCode" : 76,
        "components" : [ "primary::ruby" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 37,
      "endLine" : 49,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "php/src/ru/adelf/idea/dotenv/php/PhpunitEnvCompletionContributor.java",
        "extension" : "java",
        "linesOfCode" : 70,
        "components" : [ "primary::php" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 44,
      "endLine" : 56,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "python/src/ru/adelf/idea/dotenv/python/PythonEnvCompletionProvider.java",
        "extension" : "java",
        "linesOfCode" : 79,
        "components" : [ "primary::python" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 33,
      "endLine" : 45,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "java/src/ru/adelf/idea/dotenv/java/JavaEnvCompletionContributor.java",
        "extension" : "java",
        "linesOfCode" : 63,
        "components" : [ "primary::java" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 32,
      "endLine" : 43,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "php/src/ru/adelf/idea/dotenv/php/PhpunitEnvCompletionContributor.java",
        "extension" : "java",
        "linesOfCode" : 70,
        "components" : [ "primary::php" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 44,
      "endLine" : 56,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "php/src/ru/adelf/idea/dotenv/php/PhpEnvCompletionContributor.java",
        "extension" : "java",
        "linesOfCode" : 59,
        "components" : [ "primary::php" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 33,
      "endLine" : 45,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "php/src/ru/adelf/idea/dotenv/php/PhpunitEnvCompletionContributor.java",
        "extension" : "java",
        "linesOfCode" : 70,
        "components" : [ "primary::php" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 44,
      "endLine" : 56,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/main/java/ru/adelf/idea/dotenv/inspections/ExtraBlankLineInspection.java",
        "extension" : "java",
        "linesOfCode" : 70,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 41,
      "startLine" : 34,
      "endLine" : 44,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "src/main/java/ru/adelf/idea/dotenv/inspections/TrailingWhitespaceInspection.java",
        "extension" : "java",
        "linesOfCode" : 80,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 30,
      "endLine" : 40,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/main/java/ru/adelf/idea/dotenv/inspections/LowercaseKeyInspection.java",
        "extension" : "java",
        "linesOfCode" : 61,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 28,
      "endLine" : 38,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "src/main/java/ru/adelf/idea/dotenv/inspections/TrailingWhitespaceInspection.java",
        "extension" : "java",
        "linesOfCode" : 80,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 30,
      "endLine" : 40,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/main/java/ru/adelf/idea/dotenv/inspections/LowercaseKeyInspection.java",
        "extension" : "java",
        "linesOfCode" : 61,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 28,
      "endLine" : 38,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "src/main/java/ru/adelf/idea/dotenv/inspections/SpaceAroundSeparatorInspection.java",
        "extension" : "java",
        "linesOfCode" : 74,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 29,
      "endLine" : 39,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/main/java/ru/adelf/idea/dotenv/inspections/LowercaseKeyInspection.java",
        "extension" : "java",
        "linesOfCode" : 61,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 67,
      "endLine" : 75,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 34
    }, {
      "file" : {
        "relativePath" : "src/main/java/ru/adelf/idea/dotenv/inspections/TrailingWhitespaceInspection.java",
        "extension" : "java",
        "linesOfCode" : 80,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 83,
      "endLine" : 92,
      "cleanedStartLine" : 43,
      "cleanedEndLine" : 48
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/main/java/ru/adelf/idea/dotenv/inspections/IncorrectDelimiterInspection.java",
        "extension" : "java",
        "linesOfCode" : 63,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 68,
      "endLine" : 76,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 36
    }, {
      "file" : {
        "relativePath" : "src/main/java/ru/adelf/idea/dotenv/inspections/LowercaseKeyInspection.java",
        "extension" : "java",
        "linesOfCode" : 61,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 67,
      "endLine" : 75,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 34
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/main/java/ru/adelf/idea/dotenv/inspections/IncorrectDelimiterInspection.java",
        "extension" : "java",
        "linesOfCode" : 63,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 68,
      "endLine" : 76,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 36
    }, {
      "file" : {
        "relativePath" : "src/main/java/ru/adelf/idea/dotenv/inspections/TrailingWhitespaceInspection.java",
        "extension" : "java",
        "linesOfCode" : 80,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 83,
      "endLine" : 92,
      "cleanedStartLine" : 43,
      "cleanedEndLine" : 48
    } ]
  } ],
  "overallDuplication" : null
}