{
  "title" : "Duplication",
  "timestamp" : "2026-01-18 17:20:59",
  "duplicates" : [ {
    "blockSize" : 36,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/main/java/lt/martynassateika/idea/codeigniter/config/ConfigFileIndex.java",
        "extension" : "java",
        "linesOfCode" : 106,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 58,
      "endLine" : 109,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 39
    }, {
      "file" : {
        "relativePath" : "src/main/java/lt/martynassateika/idea/codeigniter/language/LanguageFileIndex.java",
        "extension" : "java",
        "linesOfCode" : 94,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 56,
      "endLine" : 107,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 39
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/main/java/lt/martynassateika/idea/codeigniter/config/CiConfigUtil.java",
        "extension" : "java",
        "linesOfCode" : 66,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 101,
      "endLine" : 119,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "src/main/java/lt/martynassateika/idea/codeigniter/language/CiLanguageUtil.java",
        "extension" : "java",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 85,
      "endLine" : 103,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/main/java/lt/martynassateika/idea/codeigniter/model/ModelReferenceContributor.java",
        "extension" : "java",
        "linesOfCode" : 41,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 41,
      "endLine" : 51,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "src/main/java/lt/martynassateika/idea/codeigniter/view/ViewReferenceContributor.java",
        "extension" : "java",
        "linesOfCode" : 41,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 41,
      "endLine" : 51,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/main/java/lt/martynassateika/idea/codeigniter/config/ConfigReferenceContributor.java",
        "extension" : "java",
        "linesOfCode" : 57,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 46,
      "endLine" : 57,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "src/main/java/lt/martynassateika/idea/codeigniter/language/LanguageReferenceContributor.java",
        "extension" : "java",
        "linesOfCode" : 54,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 46,
      "endLine" : 56,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/main/java/lt/martynassateika/idea/codeigniter/helper/HelperReferenceContributor.java",
        "extension" : "java",
        "linesOfCode" : 41,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 41,
      "endLine" : 51,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "src/main/java/lt/martynassateika/idea/codeigniter/view/ViewReferenceContributor.java",
        "extension" : "java",
        "linesOfCode" : 41,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 41,
      "endLine" : 51,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/main/java/lt/martynassateika/idea/codeigniter/model/ModelCompletionProvider.java",
        "extension" : "java",
        "linesOfCode" : 83,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 73,
      "endLine" : 86,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "src/main/java/lt/martynassateika/idea/codeigniter/view/ViewCompletionProvider.java",
        "extension" : "java",
        "linesOfCode" : 82,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 72,
      "endLine" : 85,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 29
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/main/java/lt/martynassateika/idea/codeigniter/helper/HelperReferenceContributor.java",
        "extension" : "java",
        "linesOfCode" : 41,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 41,
      "endLine" : 51,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "src/main/java/lt/martynassateika/idea/codeigniter/model/ModelReferenceContributor.java",
        "extension" : "java",
        "linesOfCode" : 41,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 41,
      "endLine" : 51,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/main/java/lt/martynassateika/idea/codeigniter/config/ConfigCompletionProvider.java",
        "extension" : "java",
        "linesOfCode" : 95,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 57,
      "startLine" : 68,
      "endLine" : 77,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 27
    }, {
      "file" : {
        "relativePath" : "src/main/java/lt/martynassateika/idea/codeigniter/language/LanguageCompletionProvider.java",
        "extension" : "java",
        "linesOfCode" : 97,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 57,
      "startLine" : 69,
      "endLine" : 78,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 25
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/main/java/lt/martynassateika/idea/codeigniter/language/LanguageCompletionProvider.java",
        "extension" : "java",
        "linesOfCode" : 97,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 57,
      "startLine" : 95,
      "endLine" : 106,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 39
    }, {
      "file" : {
        "relativePath" : "src/main/java/lt/martynassateika/idea/codeigniter/model/ModelCompletionProvider.java",
        "extension" : "java",
        "linesOfCode" : 83,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 103,
      "endLine" : 114,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 43
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/main/java/lt/martynassateika/idea/codeigniter/config/ConfigFileIndex.java",
        "extension" : "java",
        "linesOfCode" : 106,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 116,
      "endLine" : 130,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 54
    }, {
      "file" : {
        "relativePath" : "src/main/java/lt/martynassateika/idea/codeigniter/language/LanguageFileIndex.java",
        "extension" : "java",
        "linesOfCode" : 94,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 113,
      "endLine" : 126,
      "cleanedStartLine" : 45,
      "cleanedEndLine" : 53
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/main/java/lt/martynassateika/idea/codeigniter/model/ModelCompletionProvider.java",
        "extension" : "java",
        "linesOfCode" : 83,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 103,
      "endLine" : 114,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 43
    }, {
      "file" : {
        "relativePath" : "src/main/java/lt/martynassateika/idea/codeigniter/view/ViewCompletionProvider.java",
        "extension" : "java",
        "linesOfCode" : 82,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 102,
      "endLine" : 113,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 43
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/main/java/lt/martynassateika/idea/codeigniter/view/CodeIgniterSimplifiableViewNameInspection.java",
        "extension" : "java",
        "linesOfCode" : 75,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 50,
      "endLine" : 58,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "src/main/java/lt/martynassateika/idea/codeigniter/view/CodeIgniterViewDoesNotExistInspection.java",
        "extension" : "java",
        "linesOfCode" : 36,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 44,
      "endLine" : 52,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/main/java/lt/martynassateika/idea/codeigniter/language/LanguageCompletionProvider.java",
        "extension" : "java",
        "linesOfCode" : 97,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 57,
      "startLine" : 95,
      "endLine" : 106,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 39
    }, {
      "file" : {
        "relativePath" : "src/main/java/lt/martynassateika/idea/codeigniter/view/ViewCompletionProvider.java",
        "extension" : "java",
        "linesOfCode" : 82,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 102,
      "endLine" : 113,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 43
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/main/java/lt/martynassateika/idea/codeigniter/helper/HelperReferenceContributor.java",
        "extension" : "java",
        "linesOfCode" : 41,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 44,
      "endLine" : 51,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "src/main/java/lt/martynassateika/idea/codeigniter/language/LanguageReferenceContributor.java",
        "extension" : "java",
        "linesOfCode" : 54,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 49,
      "endLine" : 56,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/main/java/lt/martynassateika/idea/codeigniter/language/LanguageReferenceContributor.java",
        "extension" : "java",
        "linesOfCode" : 54,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 49,
      "endLine" : 56,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "src/main/java/lt/martynassateika/idea/codeigniter/view/ViewReferenceContributor.java",
        "extension" : "java",
        "linesOfCode" : 41,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 44,
      "endLine" : 51,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/main/java/lt/martynassateika/idea/codeigniter/config/ConfigReferenceContributor.java",
        "extension" : "java",
        "linesOfCode" : 57,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 49,
      "endLine" : 57,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "src/main/java/lt/martynassateika/idea/codeigniter/model/ModelReferenceContributor.java",
        "extension" : "java",
        "linesOfCode" : 41,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 44,
      "endLine" : 51,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/main/java/lt/martynassateika/idea/codeigniter/language/CodeIgniterTranslationDoesNotExistInspection.java",
        "extension" : "java",
        "linesOfCode" : 39,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 43,
      "endLine" : 50,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "src/main/java/lt/martynassateika/idea/codeigniter/view/CodeIgniterSimplifiableViewNameInspection.java",
        "extension" : "java",
        "linesOfCode" : 75,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 50,
      "endLine" : 57,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/main/java/lt/martynassateika/idea/codeigniter/language/LanguageReferenceContributor.java",
        "extension" : "java",
        "linesOfCode" : 54,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 49,
      "endLine" : 56,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "src/main/java/lt/martynassateika/idea/codeigniter/model/ModelReferenceContributor.java",
        "extension" : "java",
        "linesOfCode" : 41,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 44,
      "endLine" : 51,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/main/java/lt/martynassateika/idea/codeigniter/language/CodeIgniterTranslationDoesNotExistInspection.java",
        "extension" : "java",
        "linesOfCode" : 39,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 43,
      "endLine" : 50,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "src/main/java/lt/martynassateika/idea/codeigniter/view/CodeIgniterViewDoesNotExistInspection.java",
        "extension" : "java",
        "linesOfCode" : 36,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 44,
      "endLine" : 51,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/main/java/lt/martynassateika/idea/codeigniter/config/ConfigReferenceContributor.java",
        "extension" : "java",
        "linesOfCode" : 57,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 49,
      "endLine" : 57,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "src/main/java/lt/martynassateika/idea/codeigniter/view/ViewReferenceContributor.java",
        "extension" : "java",
        "linesOfCode" : 41,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 44,
      "endLine" : 51,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/main/java/lt/martynassateika/idea/codeigniter/config/ConfigReferenceContributor.java",
        "extension" : "java",
        "linesOfCode" : 57,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 49,
      "endLine" : 57,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "src/main/java/lt/martynassateika/idea/codeigniter/helper/HelperReferenceContributor.java",
        "extension" : "java",
        "linesOfCode" : 41,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 44,
      "endLine" : 51,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/main/java/lt/martynassateika/idea/codeigniter/config/ConfigCompletionProvider.java",
        "extension" : "java",
        "linesOfCode" : 95,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 57,
      "startLine" : 94,
      "endLine" : 102,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 39
    }, {
      "file" : {
        "relativePath" : "src/main/java/lt/martynassateika/idea/codeigniter/helper/HelperCompletionProvider.java",
        "extension" : "java",
        "linesOfCode" : 82,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 104,
      "endLine" : 114,
      "cleanedStartLine" : 39,
      "cleanedEndLine" : 45
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/main/java/lt/martynassateika/idea/codeigniter/model/ModelCompletionProvider.java",
        "extension" : "java",
        "linesOfCode" : 83,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 56,
      "endLine" : 62,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 8
    }, {
      "file" : {
        "relativePath" : "src/main/java/lt/martynassateika/idea/codeigniter/view/ViewCompletionProvider.java",
        "extension" : "java",
        "linesOfCode" : 82,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 55,
      "endLine" : 61,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/main/java/lt/martynassateika/idea/codeigniter/helper/HelperCompletionProvider.java",
        "extension" : "java",
        "linesOfCode" : 82,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 104,
      "endLine" : 113,
      "cleanedStartLine" : 39,
      "cleanedEndLine" : 44
    }, {
      "file" : {
        "relativePath" : "src/main/java/lt/martynassateika/idea/codeigniter/view/ViewCompletionProvider.java",
        "extension" : "java",
        "linesOfCode" : 82,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 102,
      "endLine" : 110,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 40
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/main/java/lt/martynassateika/idea/codeigniter/config/ConfigCompletionProvider.java",
        "extension" : "java",
        "linesOfCode" : 95,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 57,
      "startLine" : 94,
      "endLine" : 101,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "src/main/java/lt/martynassateika/idea/codeigniter/view/ViewCompletionProvider.java",
        "extension" : "java",
        "linesOfCode" : 82,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 102,
      "endLine" : 110,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 40
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/main/java/lt/martynassateika/idea/codeigniter/helper/HelperCompletionProvider.java",
        "extension" : "java",
        "linesOfCode" : 82,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 104,
      "endLine" : 113,
      "cleanedStartLine" : 39,
      "cleanedEndLine" : 44
    }, {
      "file" : {
        "relativePath" : "src/main/java/lt/martynassateika/idea/codeigniter/model/ModelCompletionProvider.java",
        "extension" : "java",
        "linesOfCode" : 83,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 103,
      "endLine" : 111,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 40
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/main/java/lt/martynassateika/idea/codeigniter/config/ConfigCompletionProvider.java",
        "extension" : "java",
        "linesOfCode" : 95,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 57,
      "startLine" : 94,
      "endLine" : 101,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "src/main/java/lt/martynassateika/idea/codeigniter/language/LanguageCompletionProvider.java",
        "extension" : "java",
        "linesOfCode" : 97,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 57,
      "startLine" : 95,
      "endLine" : 103,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 36
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/main/java/lt/martynassateika/idea/codeigniter/helper/HelperCompletionProvider.java",
        "extension" : "java",
        "linesOfCode" : 82,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 104,
      "endLine" : 113,
      "cleanedStartLine" : 39,
      "cleanedEndLine" : 44
    }, {
      "file" : {
        "relativePath" : "src/main/java/lt/martynassateika/idea/codeigniter/language/LanguageCompletionProvider.java",
        "extension" : "java",
        "linesOfCode" : 97,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 57,
      "startLine" : 95,
      "endLine" : 103,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 36
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/main/java/lt/martynassateika/idea/codeigniter/config/ConfigCompletionProvider.java",
        "extension" : "java",
        "linesOfCode" : 95,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 57,
      "startLine" : 94,
      "endLine" : 101,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "src/main/java/lt/martynassateika/idea/codeigniter/model/ModelCompletionProvider.java",
        "extension" : "java",
        "linesOfCode" : 83,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 103,
      "endLine" : 111,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 40
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/main/java/lt/martynassateika/idea/codeigniter/config/ConfigReferenceContributor.java",
        "extension" : "java",
        "linesOfCode" : 57,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 76,
      "endLine" : 83,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 30
    }, {
      "file" : {
        "relativePath" : "src/main/java/lt/martynassateika/idea/codeigniter/language/LanguageReferenceContributor.java",
        "extension" : "java",
        "linesOfCode" : 54,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 65,
      "endLine" : 72,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 26
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/main/java/lt/martynassateika/idea/codeigniter/config/ConfigCompletionProvider.java",
        "extension" : "java",
        "linesOfCode" : 95,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 57,
      "startLine" : 124,
      "endLine" : 129,
      "cleanedStartLine" : 52,
      "cleanedEndLine" : 57
    }, {
      "file" : {
        "relativePath" : "src/main/java/lt/martynassateika/idea/codeigniter/language/LanguageCompletionProvider.java",
        "extension" : "java",
        "linesOfCode" : 97,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 57,
      "startLine" : 128,
      "endLine" : 133,
      "cleanedStartLine" : 52,
      "cleanedEndLine" : 57
    } ]
  } ],
  "overallDuplication" : null
}