{
  "title" : "Duplication",
  "timestamp" : "2026-01-18 16:37:39",
  "duplicates" : [ {
    "blockSize" : 34,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/property/Properties.java",
        "extension" : "java",
        "linesOfCode" : 790,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 592,
      "startLine" : 201,
      "endLine" : 248,
      "cleanedStartLine" : 114,
      "cleanedEndLine" : 147
    }, {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/property/Properties.java",
        "extension" : "java",
        "linesOfCode" : 790,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 592,
      "startLine" : 277,
      "endLine" : 324,
      "cleanedStartLine" : 167,
      "cleanedEndLine" : 200
    } ]
  }, {
    "blockSize" : 23,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/collections/list/ObservableArrayList.java",
        "extension" : "java",
        "linesOfCode" : 38,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 22,
      "endLine" : 58,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 24
    }, {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/collections/list/ObservableTreeList.java",
        "extension" : "java",
        "linesOfCode" : 37,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 21,
      "endLine" : 57,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 24
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/collections/wrappers/ObservableListWrapper.java",
        "extension" : "java",
        "linesOfCode" : 60,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 36,
      "endLine" : 61,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 23
    }, {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/collections/wrappers/ObservableSetWrapper.java",
        "extension" : "java",
        "linesOfCode" : 142,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 100,
      "startLine" : 38,
      "endLine" : 63,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 23
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/transform/Transformers.java",
        "extension" : "java",
        "linesOfCode" : 1411,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1088,
      "startLine" : 235,
      "endLine" : 254,
      "cleanedStartLine" : 133,
      "cleanedEndLine" : 146
    }, {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/transform/Transformers.java",
        "extension" : "java",
        "linesOfCode" : 1411,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1088,
      "startLine" : 356,
      "endLine" : 376,
      "cleanedStartLine" : 212,
      "cleanedEndLine" : 225
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/util/TypedKeyHashMap.java",
        "extension" : "java",
        "linesOfCode" : 22,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 15,
      "startLine" : 10,
      "endLine" : 25,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/util/TypedKeyListMap.java",
        "extension" : "java",
        "linesOfCode" : 19,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 4,
      "endLine" : 19,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/transform/Transformers.java",
        "extension" : "java",
        "linesOfCode" : 1411,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1088,
      "startLine" : 1343,
      "endLine" : 1355,
      "cleanedStartLine" : 882,
      "cleanedEndLine" : 892
    }, {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/transform/Transformers.java",
        "extension" : "java",
        "linesOfCode" : 1411,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1088,
      "startLine" : 1518,
      "endLine" : 1530,
      "cleanedStartLine" : 999,
      "cleanedEndLine" : 1009
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/property/DelayedValueProperty.java",
        "extension" : "java",
        "linesOfCode" : 58,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 67,
      "endLine" : 81,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/property/ValueProperty.java",
        "extension" : "java",
        "linesOfCode" : 54,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 66,
      "endLine" : 81,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 35
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "gwt-util/src/main/java/jetbrains/jetpad/mapper/gwt/DomUtil.java",
        "extension" : "java",
        "linesOfCode" : 268,
        "components" : [ "primary::gwt-util" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 189,
      "startLine" : 53,
      "endLine" : 67,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "gwt-util/src/main/java/jetbrains/jetpad/mapper/gwt/elemental/DomUtil.java",
        "extension" : "java",
        "linesOfCode" : 47,
        "components" : [ "primary::gwt-util" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 31,
      "endLine" : 45,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/property/DerivedProperty.java",
        "extension" : "java",
        "linesOfCode" : 38,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 48,
      "endLine" : 62,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/property/SimpleDerivedProperty.java",
        "extension" : "java",
        "linesOfCode" : 53,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 46,
      "endLine" : 60,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 25
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/transform/Transformers.java",
        "extension" : "java",
        "linesOfCode" : 1411,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1088,
      "startLine" : 1160,
      "endLine" : 1172,
      "cleanedStartLine" : 754,
      "cleanedEndLine" : 764
    }, {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/transform/Transformers.java",
        "extension" : "java",
        "linesOfCode" : 1411,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1088,
      "startLine" : 1272,
      "endLine" : 1284,
      "cleanedStartLine" : 833,
      "cleanedEndLine" : 843
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/transform/Transformers.java",
        "extension" : "java",
        "linesOfCode" : 1411,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1088,
      "startLine" : 1461,
      "endLine" : 1476,
      "cleanedStartLine" : 961,
      "cleanedEndLine" : 971
    }, {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/transform/Transformers.java",
        "extension" : "java",
        "linesOfCode" : 1411,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1088,
      "startLine" : 1498,
      "endLine" : 1513,
      "cleanedStartLine" : 986,
      "cleanedEndLine" : 996
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/transform/Transformers.java",
        "extension" : "java",
        "linesOfCode" : 1411,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1088,
      "startLine" : 286,
      "endLine" : 304,
      "cleanedStartLine" : 167,
      "cleanedEndLine" : 177
    }, {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/transform/Transformers.java",
        "extension" : "java",
        "linesOfCode" : 1411,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1088,
      "startLine" : 404,
      "endLine" : 422,
      "cleanedStartLine" : 242,
      "cleanedEndLine" : 252
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/transform/Transformers.java",
        "extension" : "java",
        "linesOfCode" : 1411,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1088,
      "startLine" : 1160,
      "endLine" : 1171,
      "cleanedStartLine" : 754,
      "cleanedEndLine" : 763
    }, {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/transform/Transformers.java",
        "extension" : "java",
        "linesOfCode" : 1411,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1088,
      "startLine" : 1551,
      "endLine" : 1562,
      "cleanedStartLine" : 1021,
      "cleanedEndLine" : 1030
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/transform/Transformers.java",
        "extension" : "java",
        "linesOfCode" : 1411,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1088,
      "startLine" : 1161,
      "endLine" : 1172,
      "cleanedStartLine" : 755,
      "cleanedEndLine" : 764
    }, {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/transform/Transformers.java",
        "extension" : "java",
        "linesOfCode" : 1411,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1088,
      "startLine" : 1202,
      "endLine" : 1213,
      "cleanedStartLine" : 783,
      "cleanedEndLine" : 792
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/transform/Transformers.java",
        "extension" : "java",
        "linesOfCode" : 1411,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1088,
      "startLine" : 1202,
      "endLine" : 1213,
      "cleanedStartLine" : 783,
      "cleanedEndLine" : 792
    }, {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/transform/Transformers.java",
        "extension" : "java",
        "linesOfCode" : 1411,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1088,
      "startLine" : 1273,
      "endLine" : 1284,
      "cleanedStartLine" : 834,
      "cleanedEndLine" : 843
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/transform/Transformers.java",
        "extension" : "java",
        "linesOfCode" : 1411,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1088,
      "startLine" : 1272,
      "endLine" : 1283,
      "cleanedStartLine" : 833,
      "cleanedEndLine" : 842
    }, {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/transform/Transformers.java",
        "extension" : "java",
        "linesOfCode" : 1411,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1088,
      "startLine" : 1551,
      "endLine" : 1562,
      "cleanedStartLine" : 1021,
      "cleanedEndLine" : 1030
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/transform/Transformers.java",
        "extension" : "java",
        "linesOfCode" : 1411,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1088,
      "startLine" : 264,
      "endLine" : 278,
      "cleanedStartLine" : 153,
      "cleanedEndLine" : 162
    }, {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/transform/Transformers.java",
        "extension" : "java",
        "linesOfCode" : 1411,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1088,
      "startLine" : 384,
      "endLine" : 398,
      "cleanedStartLine" : 230,
      "cleanedEndLine" : 239
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/transform/Transformers.java",
        "extension" : "java",
        "linesOfCode" : 1411,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1088,
      "startLine" : 1202,
      "endLine" : 1212,
      "cleanedStartLine" : 783,
      "cleanedEndLine" : 791
    }, {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/transform/Transformers.java",
        "extension" : "java",
        "linesOfCode" : 1411,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1088,
      "startLine" : 1552,
      "endLine" : 1562,
      "cleanedStartLine" : 1022,
      "cleanedEndLine" : 1030
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/transform/Transformers.java",
        "extension" : "java",
        "linesOfCode" : 1411,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1088,
      "startLine" : 630,
      "endLine" : 640,
      "cleanedStartLine" : 385,
      "cleanedEndLine" : 393
    }, {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/transform/Transformers.java",
        "extension" : "java",
        "linesOfCode" : 1411,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1088,
      "startLine" : 701,
      "endLine" : 711,
      "cleanedStartLine" : 434,
      "cleanedEndLine" : 442
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/property/DelayedValueProperty.java",
        "extension" : "java",
        "linesOfCode" : 58,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 35,
      "endLine" : 47,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/property/ValueProperty.java",
        "extension" : "java",
        "linesOfCode" : 54,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 37,
      "endLine" : 49,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "util/base/src/main/java/jetbrains/jetpad/base/Functions.java",
        "extension" : "java",
        "linesOfCode" : 105,
        "components" : [ "primary::util" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 69,
      "endLine" : 78,
      "cleanedStartLine" : 36,
      "cleanedEndLine" : 43
    }, {
      "file" : {
        "relativePath" : "util/java8adapter/src/main/java/jetbrains/jetpad/java8adapter/Functions.java",
        "extension" : "java",
        "linesOfCode" : 17,
        "components" : [ "primary::util" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 12,
      "startLine" : 27,
      "endLine" : 36,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/collections/UnmodifiableObservableCollection.java",
        "extension" : "java",
        "linesOfCode" : 71,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 88,
      "endLine" : 101,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 47
    }, {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/collections/list/UnmodifiableList.java",
        "extension" : "java",
        "linesOfCode" : 61,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 75,
      "endLine" : 88,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 40
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "gwt-util/src/main/java/jetbrains/jetpad/mapper/gwt/elemental/GwtElementalUtil.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 12,
        "components" : [ "primary::gwt-util" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 10,
      "startLine" : 1,
      "endLine" : 7,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/Model.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 12,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 10,
      "startLine" : 1,
      "endLine" : 7,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "gwt-util/src/main/java/jetbrains/jetpad/mapper/gwt/elemental/GwtElementalUtil.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 12,
        "components" : [ "primary::gwt-util" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 10,
      "startLine" : 1,
      "endLine" : 7,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "mapper/src/main/java/jetbrains/jetpad/mapper/Mapper.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 11,
        "components" : [ "primary::mapper" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 9,
      "startLine" : 1,
      "endLine" : 7,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/transform/Transformers.java",
        "extension" : "java",
        "linesOfCode" : 1411,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1088,
      "startLine" : 1319,
      "endLine" : 1329,
      "cleanedStartLine" : 867,
      "cleanedEndLine" : 873
    }, {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/transform/Transformers.java",
        "extension" : "java",
        "linesOfCode" : 1411,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1088,
      "startLine" : 1374,
      "endLine" : 1384,
      "cleanedStartLine" : 905,
      "cleanedEndLine" : 911
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "gwt-util/src/main/java/jetbrains/jetpad/mapper/gwt/GwtMapper.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 15,
        "components" : [ "primary::gwt-util" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 13,
      "startLine" : 1,
      "endLine" : 7,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/Model.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 12,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 10,
      "startLine" : 1,
      "endLine" : 7,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "util/geometry/src/main/java/jetbrains/jetpad/geometry/Geometry.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 10,
        "components" : [ "primary::util" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 9,
      "startLine" : 1,
      "endLine" : 7,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "util/java8adapter/src/main/java/jetbrains/jetpad/java8adapter/Java8adapter.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 9,
        "components" : [ "primary::util" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 8,
      "startLine" : 1,
      "endLine" : 7,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "mapper/src/main/java/jetbrains/jetpad/mapper/Mapper.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 11,
        "components" : [ "primary::mapper" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 9,
      "startLine" : 1,
      "endLine" : 7,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/Model.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 12,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 10,
      "startLine" : 1,
      "endLine" : 7,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/transform/Transformers.java",
        "extension" : "java",
        "linesOfCode" : 1411,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1088,
      "startLine" : 131,
      "endLine" : 139,
      "cleanedStartLine" : 58,
      "cleanedEndLine" : 64
    }, {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/transform/Transformers.java",
        "extension" : "java",
        "linesOfCode" : 1411,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1088,
      "startLine" : 1551,
      "endLine" : 1559,
      "cleanedStartLine" : 1021,
      "cleanedEndLine" : 1027
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "util/base/src/main/java/jetbrains/jetpad/base/edt/AwtEventDispatchThread.java",
        "extension" : "java",
        "linesOfCode" : 54,
        "components" : [ "primary::util" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 45,
      "endLine" : 52,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "util/base/src/main/java/jetbrains/jetpad/base/edt/AwtEventDispatchThread.java",
        "extension" : "java",
        "linesOfCode" : 54,
        "components" : [ "primary::util" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 58,
      "endLine" : 65,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 30
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/transform/Transformers.java",
        "extension" : "java",
        "linesOfCode" : 1411,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1088,
      "startLine" : 556,
      "endLine" : 564,
      "cleanedStartLine" : 338,
      "cleanedEndLine" : 344
    }, {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/transform/Transformers.java",
        "extension" : "java",
        "linesOfCode" : 1411,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1088,
      "startLine" : 1343,
      "endLine" : 1351,
      "cleanedStartLine" : 882,
      "cleanedEndLine" : 888
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/transform/Transformers.java",
        "extension" : "java",
        "linesOfCode" : 1411,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1088,
      "startLine" : 556,
      "endLine" : 564,
      "cleanedStartLine" : 338,
      "cleanedEndLine" : 344
    }, {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/transform/Transformers.java",
        "extension" : "java",
        "linesOfCode" : 1411,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1088,
      "startLine" : 1518,
      "endLine" : 1526,
      "cleanedStartLine" : 999,
      "cleanedEndLine" : 1005
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/transform/Transformers.java",
        "extension" : "java",
        "linesOfCode" : 1411,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1088,
      "startLine" : 189,
      "endLine" : 195,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 103
    }, {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/transform/Transformers.java",
        "extension" : "java",
        "linesOfCode" : 1411,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1088,
      "startLine" : 200,
      "endLine" : 206,
      "cleanedStartLine" : 106,
      "cleanedEndLine" : 112
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "util/java8adapter/src/main/java/jetbrains/jetpad/java8adapter/Java8adapter.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 9,
        "components" : [ "primary::util" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 8,
      "startLine" : 1,
      "endLine" : 7,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "util/plugin/src/main/java/jetbrains/jetpad/plugin/Plugin.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 8,
        "components" : [ "primary::util" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 7,
      "startLine" : 1,
      "endLine" : 7,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/transform/Transformers.java",
        "extension" : "java",
        "linesOfCode" : 1411,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1088,
      "startLine" : 131,
      "endLine" : 139,
      "cleanedStartLine" : 58,
      "cleanedEndLine" : 64
    }, {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/transform/Transformers.java",
        "extension" : "java",
        "linesOfCode" : 1411,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1088,
      "startLine" : 1160,
      "endLine" : 1168,
      "cleanedStartLine" : 754,
      "cleanedEndLine" : 760
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "util/base/src/main/java/jetbrains/jetpad/base/Asyncs.java",
        "extension" : "java",
        "linesOfCode" : 501,
        "components" : [ "primary::util" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 380,
      "startLine" : 152,
      "endLine" : 159,
      "cleanedStartLine" : 82,
      "cleanedEndLine" : 88
    }, {
      "file" : {
        "relativePath" : "util/base/src/main/java/jetbrains/jetpad/base/Asyncs.java",
        "extension" : "java",
        "linesOfCode" : 501,
        "components" : [ "primary::util" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 380,
      "startLine" : 180,
      "endLine" : 187,
      "cleanedStartLine" : 104,
      "cleanedEndLine" : 110
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/transform/Transformers.java",
        "extension" : "java",
        "linesOfCode" : 1411,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1088,
      "startLine" : 855,
      "endLine" : 863,
      "cleanedStartLine" : 543,
      "cleanedEndLine" : 549
    }, {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/transform/Transformers.java",
        "extension" : "java",
        "linesOfCode" : 1411,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1088,
      "startLine" : 1083,
      "endLine" : 1091,
      "cleanedStartLine" : 702,
      "cleanedEndLine" : 708
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "util/geometry/src/main/java/jetbrains/jetpad/geometry/DoubleSegment.java",
        "extension" : "java",
        "linesOfCode" : 65,
        "components" : [ "primary::util" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 83,
      "endLine" : 93,
      "cleanedStartLine" : 44,
      "cleanedEndLine" : 50
    }, {
      "file" : {
        "relativePath" : "util/geometry/src/main/java/jetbrains/jetpad/geometry/Segment.java",
        "extension" : "java",
        "linesOfCode" : 59,
        "components" : [ "primary::util" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 76,
      "endLine" : 86,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 44
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/transform/Transformers.java",
        "extension" : "java",
        "linesOfCode" : 1411,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1088,
      "startLine" : 131,
      "endLine" : 139,
      "cleanedStartLine" : 58,
      "cleanedEndLine" : 64
    }, {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/transform/Transformers.java",
        "extension" : "java",
        "linesOfCode" : 1411,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1088,
      "startLine" : 1272,
      "endLine" : 1280,
      "cleanedStartLine" : 833,
      "cleanedEndLine" : 839
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "mapper/src/main/java/jetbrains/jetpad/mapper/ObservableCollectionRoleSynchronizer.java",
        "extension" : "java",
        "linesOfCode" : 55,
        "components" : [ "primary::mapper" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 41,
      "startLine" : 71,
      "endLine" : 80,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 40
    }, {
      "file" : {
        "relativePath" : "mapper/src/main/java/jetbrains/jetpad/mapper/TransformingObservableCollectionRoleSynchronizer.java",
        "extension" : "java",
        "linesOfCode" : 62,
        "components" : [ "primary::mapper" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 76,
      "endLine" : 85,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 44
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "gwt-util/src/main/java/jetbrains/jetpad/mapper/gwt/GwtMapper.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 15,
        "components" : [ "primary::gwt-util" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 13,
      "startLine" : 1,
      "endLine" : 7,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "gwt-util/src/main/java/jetbrains/jetpad/mapper/gwt/elemental/GwtElementalUtil.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 12,
        "components" : [ "primary::gwt-util" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 10,
      "startLine" : 1,
      "endLine" : 7,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/property/Properties.java",
        "extension" : "java",
        "linesOfCode" : 790,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 592,
      "startLine" : 561,
      "endLine" : 570,
      "cleanedStartLine" : 357,
      "cleanedEndLine" : 363
    }, {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/property/Properties.java",
        "extension" : "java",
        "linesOfCode" : 790,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 592,
      "startLine" : 592,
      "endLine" : 601,
      "cleanedStartLine" : 377,
      "cleanedEndLine" : 383
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "gwt-util/src/main/java/jetbrains/jetpad/mapper/gwt/GwtMapper.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 15,
        "components" : [ "primary::gwt-util" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 13,
      "startLine" : 1,
      "endLine" : 7,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "mapper/src/main/java/jetbrains/jetpad/mapper/Mapper.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 11,
        "components" : [ "primary::mapper" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 9,
      "startLine" : 1,
      "endLine" : 7,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/transform/Transformers.java",
        "extension" : "java",
        "linesOfCode" : 1411,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1088,
      "startLine" : 163,
      "endLine" : 173,
      "cleanedStartLine" : 82,
      "cleanedEndLine" : 88
    }, {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/transform/Transformers.java",
        "extension" : "java",
        "linesOfCode" : 1411,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1088,
      "startLine" : 912,
      "endLine" : 921,
      "cleanedStartLine" : 586,
      "cleanedEndLine" : 592
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "util/geometry/src/main/java/jetbrains/jetpad/geometry/Geometry.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 10,
        "components" : [ "primary::util" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 9,
      "startLine" : 1,
      "endLine" : 7,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "util/plugin/src/main/java/jetbrains/jetpad/plugin/Plugin.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 8,
        "components" : [ "primary::util" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 7,
      "startLine" : 1,
      "endLine" : 7,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/transform/Transformers.java",
        "extension" : "java",
        "linesOfCode" : 1411,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1088,
      "startLine" : 946,
      "endLine" : 954,
      "cleanedStartLine" : 604,
      "cleanedEndLine" : 610
    }, {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/transform/Transformers.java",
        "extension" : "java",
        "linesOfCode" : 1411,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1088,
      "startLine" : 1130,
      "endLine" : 1138,
      "cleanedStartLine" : 733,
      "cleanedEndLine" : 739
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "gwt-util/src/main/java/jetbrains/jetpad/mapper/gwt/elemental/GwtElementalUtil.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 12,
        "components" : [ "primary::gwt-util" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 10,
      "startLine" : 1,
      "endLine" : 6,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "util/json/src/main/java/jetbrains/jetpad/json/Json.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 10,
        "components" : [ "primary::util" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 9,
      "startLine" : 1,
      "endLine" : 6,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "mapper/src/main/java/jetbrains/jetpad/mapper/Synchronizers.java",
        "extension" : "java",
        "linesOfCode" : 256,
        "components" : [ "primary::mapper" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 190,
      "startLine" : 125,
      "endLine" : 131,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/property/PropertyBinding.java",
        "extension" : "java",
        "linesOfCode" : 46,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 28,
      "endLine" : 34,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "gwt-util/src/main/java/jetbrains/jetpad/mapper/gwt/GwtMapper.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 15,
        "components" : [ "primary::gwt-util" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 13,
      "startLine" : 1,
      "endLine" : 6,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "util/plugin/src/main/java/jetbrains/jetpad/plugin/Plugin.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 8,
        "components" : [ "primary::util" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 7,
      "startLine" : 1,
      "endLine" : 6,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "util/json/src/main/java/jetbrains/jetpad/json/Json.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 10,
        "components" : [ "primary::util" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 9,
      "startLine" : 1,
      "endLine" : 6,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "util/plugin/src/main/java/jetbrains/jetpad/plugin/Plugin.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 8,
        "components" : [ "primary::util" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 7,
      "startLine" : 1,
      "endLine" : 6,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/Model.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 12,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 10,
      "startLine" : 1,
      "endLine" : 6,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "util/base/src/main/java/jetbrains/jetpad/base/Base.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 19,
        "components" : [ "primary::util" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 1,
      "endLine" : 6,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/Model.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 12,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 10,
      "startLine" : 1,
      "endLine" : 6,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "util/json/src/main/java/jetbrains/jetpad/json/Json.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 10,
        "components" : [ "primary::util" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 9,
      "startLine" : 1,
      "endLine" : 6,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "gwt-util/src/main/java/jetbrains/jetpad/mapper/gwt/elemental/GwtElementalUtil.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 12,
        "components" : [ "primary::gwt-util" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 10,
      "startLine" : 1,
      "endLine" : 6,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "util/java8adapter/src/main/java/jetbrains/jetpad/java8adapter/Java8adapter.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 9,
        "components" : [ "primary::util" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 8,
      "startLine" : 1,
      "endLine" : 6,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "gwt-util/src/main/java/jetbrains/jetpad/mapper/gwt/elemental/GwtElementalUtil.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 12,
        "components" : [ "primary::gwt-util" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 10,
      "startLine" : 1,
      "endLine" : 6,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "util/geometry/src/main/java/jetbrains/jetpad/geometry/Geometry.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 10,
        "components" : [ "primary::util" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 9,
      "startLine" : 1,
      "endLine" : 6,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "util/plugin/src/main/java/jetbrains/jetpad/plugin/Plugin.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 8,
        "components" : [ "primary::util" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 7,
      "startLine" : 1,
      "endLine" : 6,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "util/values/src/main/java/jetbrains/jetpad/values/Values.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 9,
        "components" : [ "primary::util" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 8,
      "startLine" : 1,
      "endLine" : 6,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "mapper/src/main/java/jetbrains/jetpad/mapper/Mapper.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 11,
        "components" : [ "primary::mapper" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 9,
      "startLine" : 1,
      "endLine" : 6,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "util/json/src/main/java/jetbrains/jetpad/json/Json.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 10,
        "components" : [ "primary::util" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 9,
      "startLine" : 1,
      "endLine" : 6,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/Model.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 12,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 10,
      "startLine" : 1,
      "endLine" : 6,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "util/plugin/src/main/java/jetbrains/jetpad/plugin/Plugin.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 8,
        "components" : [ "primary::util" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 7,
      "startLine" : 1,
      "endLine" : 6,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "gwt-util/src/main/java/jetbrains/jetpad/mapper/gwt/elemental/GwtElementalUtil.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 12,
        "components" : [ "primary::gwt-util" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 10,
      "startLine" : 1,
      "endLine" : 6,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "util/base/src/main/java/jetbrains/jetpad/base/Base.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 19,
        "components" : [ "primary::util" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 1,
      "endLine" : 6,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "mapper/src/main/java/jetbrains/jetpad/mapper/Mapper.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 11,
        "components" : [ "primary::mapper" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 9,
      "startLine" : 1,
      "endLine" : 6,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "util/geometry/src/main/java/jetbrains/jetpad/geometry/Geometry.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 10,
        "components" : [ "primary::util" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 9,
      "startLine" : 1,
      "endLine" : 6,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "gwt-util/src/main/java/jetbrains/jetpad/mapper/gwt/elemental/GwtElementalUtil.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 12,
        "components" : [ "primary::gwt-util" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 10,
      "startLine" : 1,
      "endLine" : 6,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "util/values/src/main/java/jetbrains/jetpad/values/Values.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 9,
        "components" : [ "primary::util" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 8,
      "startLine" : 1,
      "endLine" : 6,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/Model.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 12,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 10,
      "startLine" : 1,
      "endLine" : 6,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "util/java8adapter/src/main/java/jetbrains/jetpad/java8adapter/Java8adapter.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 9,
        "components" : [ "primary::util" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 8,
      "startLine" : 1,
      "endLine" : 6,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/collections/list/ObservableCollections.java",
        "extension" : "java",
        "linesOfCode" : 269,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 182,
      "startLine" : 241,
      "endLine" : 246,
      "cleanedStartLine" : 130,
      "cleanedEndLine" : 135
    }, {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/collections/list/ObservableCollections.java",
        "extension" : "java",
        "linesOfCode" : 269,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 182,
      "startLine" : 290,
      "endLine" : 295,
      "cleanedStartLine" : 161,
      "cleanedEndLine" : 166
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/Model.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 12,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 10,
      "startLine" : 1,
      "endLine" : 6,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "util/geometry/src/main/java/jetbrains/jetpad/geometry/Geometry.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 10,
        "components" : [ "primary::util" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 9,
      "startLine" : 1,
      "endLine" : 6,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "util/base/src/main/java/jetbrains/jetpad/base/Base.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 19,
        "components" : [ "primary::util" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 1,
      "endLine" : 6,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "util/json/src/main/java/jetbrains/jetpad/json/Json.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 10,
        "components" : [ "primary::util" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 9,
      "startLine" : 1,
      "endLine" : 6,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "util/base/src/main/java/jetbrains/jetpad/base/Base.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 19,
        "components" : [ "primary::util" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 1,
      "endLine" : 6,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "util/values/src/main/java/jetbrains/jetpad/values/Values.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 9,
        "components" : [ "primary::util" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 8,
      "startLine" : 1,
      "endLine" : 6,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "gwt-util/src/main/java/jetbrains/jetpad/mapper/gwt/GwtMapper.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 15,
        "components" : [ "primary::gwt-util" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 13,
      "startLine" : 1,
      "endLine" : 6,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "util/base/src/main/java/jetbrains/jetpad/base/Base.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 19,
        "components" : [ "primary::util" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 1,
      "endLine" : 6,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/transform/Transformers.java",
        "extension" : "java",
        "linesOfCode" : 1411,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1088,
      "startLine" : 809,
      "endLine" : 815,
      "cleanedStartLine" : 511,
      "cleanedEndLine" : 516
    }, {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/transform/Transformers.java",
        "extension" : "java",
        "linesOfCode" : 1411,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1088,
      "startLine" : 1060,
      "endLine" : 1066,
      "cleanedStartLine" : 685,
      "cleanedEndLine" : 690
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "util/geometry/src/main/java/jetbrains/jetpad/geometry/Geometry.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 10,
        "components" : [ "primary::util" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 9,
      "startLine" : 1,
      "endLine" : 6,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "util/values/src/main/java/jetbrains/jetpad/values/Values.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 9,
        "components" : [ "primary::util" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 8,
      "startLine" : 1,
      "endLine" : 6,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "mapper/src/main/java/jetbrains/jetpad/mapper/Mapper.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 11,
        "components" : [ "primary::mapper" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 9,
      "startLine" : 1,
      "endLine" : 6,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "util/values/src/main/java/jetbrains/jetpad/values/Values.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 9,
        "components" : [ "primary::util" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 8,
      "startLine" : 1,
      "endLine" : 6,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "util/java8adapter/src/main/java/jetbrains/jetpad/java8adapter/Java8adapter.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 9,
        "components" : [ "primary::util" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 8,
      "startLine" : 1,
      "endLine" : 6,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "util/json/src/main/java/jetbrains/jetpad/json/Json.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 10,
        "components" : [ "primary::util" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 9,
      "startLine" : 1,
      "endLine" : 6,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "gwt-util/src/main/java/jetbrains/jetpad/mapper/gwt/GwtMapper.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 15,
        "components" : [ "primary::gwt-util" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 13,
      "startLine" : 1,
      "endLine" : 6,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "util/geometry/src/main/java/jetbrains/jetpad/geometry/Geometry.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 10,
        "components" : [ "primary::util" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 9,
      "startLine" : 1,
      "endLine" : 6,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/transform/Transformers.java",
        "extension" : "java",
        "linesOfCode" : 1411,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1088,
      "startLine" : 132,
      "endLine" : 139,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 64
    }, {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/transform/Transformers.java",
        "extension" : "java",
        "linesOfCode" : 1411,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1088,
      "startLine" : 1202,
      "endLine" : 1209,
      "cleanedStartLine" : 783,
      "cleanedEndLine" : 788
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "gwt-util/src/main/java/jetbrains/jetpad/mapper/gwt/GwtMapper.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 15,
        "components" : [ "primary::gwt-util" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 13,
      "startLine" : 1,
      "endLine" : 6,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "util/json/src/main/java/jetbrains/jetpad/json/Json.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 10,
        "components" : [ "primary::util" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 9,
      "startLine" : 1,
      "endLine" : 6,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/property/Properties.java",
        "extension" : "java",
        "linesOfCode" : 790,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 592,
      "startLine" : 880,
      "endLine" : 887,
      "cleanedStartLine" : 564,
      "cleanedEndLine" : 569
    }, {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/property/Properties.java",
        "extension" : "java",
        "linesOfCode" : 790,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 592,
      "startLine" : 907,
      "endLine" : 914,
      "cleanedStartLine" : 583,
      "cleanedEndLine" : 588
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "util/base/src/main/java/jetbrains/jetpad/base/Base.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 19,
        "components" : [ "primary::util" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 1,
      "endLine" : 6,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "util/plugin/src/main/java/jetbrains/jetpad/plugin/Plugin.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 8,
        "components" : [ "primary::util" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 7,
      "startLine" : 1,
      "endLine" : 6,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/transform/Transformers.java",
        "extension" : "java",
        "linesOfCode" : 1411,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1088,
      "startLine" : 629,
      "endLine" : 636,
      "cleanedStartLine" : 384,
      "cleanedEndLine" : 389
    }, {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/transform/Transformers.java",
        "extension" : "java",
        "linesOfCode" : 1411,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1088,
      "startLine" : 1097,
      "endLine" : 1104,
      "cleanedStartLine" : 711,
      "cleanedEndLine" : 716
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "mapper/src/main/java/jetbrains/jetpad/mapper/Mapper.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 11,
        "components" : [ "primary::mapper" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 9,
      "startLine" : 1,
      "endLine" : 6,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "util/java8adapter/src/main/java/jetbrains/jetpad/java8adapter/Java8adapter.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 9,
        "components" : [ "primary::util" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 8,
      "startLine" : 1,
      "endLine" : 6,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "mapper/src/main/java/jetbrains/jetpad/mapper/ObservableCollectionRoleSynchronizer.java",
        "extension" : "java",
        "linesOfCode" : 55,
        "components" : [ "primary::mapper" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 41,
      "startLine" : 37,
      "endLine" : 46,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "mapper/src/main/java/jetbrains/jetpad/mapper/SimpleRoleSynchronizer.java",
        "extension" : "java",
        "linesOfCode" : 38,
        "components" : [ "primary::mapper" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 31,
      "endLine" : 38,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "mapper/src/main/java/jetbrains/jetpad/mapper/Mapper.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 11,
        "components" : [ "primary::mapper" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 9,
      "startLine" : 1,
      "endLine" : 6,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "util/plugin/src/main/java/jetbrains/jetpad/plugin/Plugin.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 8,
        "components" : [ "primary::util" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 7,
      "startLine" : 1,
      "endLine" : 6,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "util/java8adapter/src/main/java/jetbrains/jetpad/java8adapter/Java8adapter.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 9,
        "components" : [ "primary::util" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 8,
      "startLine" : 1,
      "endLine" : 6,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "util/values/src/main/java/jetbrains/jetpad/values/Values.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 9,
        "components" : [ "primary::util" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 8,
      "startLine" : 1,
      "endLine" : 6,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "util/base/src/main/java/jetbrains/jetpad/base/Base.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 19,
        "components" : [ "primary::util" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 1,
      "endLine" : 6,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "util/java8adapter/src/main/java/jetbrains/jetpad/java8adapter/Java8adapter.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 9,
        "components" : [ "primary::util" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 8,
      "startLine" : 1,
      "endLine" : 6,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/property/BaseDerivedProperty.java",
        "extension" : "java",
        "linesOfCode" : 56,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 73,
      "endLine" : 81,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 30
    }, {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/property/ValueProperty.java",
        "extension" : "java",
        "linesOfCode" : 54,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 62,
      "endLine" : 70,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "util/base/src/main/java/jetbrains/jetpad/base/Base.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 19,
        "components" : [ "primary::util" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 1,
      "endLine" : 6,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "util/geometry/src/main/java/jetbrains/jetpad/geometry/Geometry.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 10,
        "components" : [ "primary::util" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 9,
      "startLine" : 1,
      "endLine" : 6,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/transform/Transformers.java",
        "extension" : "java",
        "linesOfCode" : 1411,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1088,
      "startLine" : 56,
      "endLine" : 63,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/transform/Transformers.java",
        "extension" : "java",
        "linesOfCode" : 1411,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1088,
      "startLine" : 109,
      "endLine" : 116,
      "cleanedStartLine" : 44,
      "cleanedEndLine" : 49
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "util/json/src/main/java/jetbrains/jetpad/json/Json.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 10,
        "components" : [ "primary::util" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 9,
      "startLine" : 1,
      "endLine" : 6,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "util/values/src/main/java/jetbrains/jetpad/values/Values.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 9,
        "components" : [ "primary::util" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 8,
      "startLine" : 1,
      "endLine" : 6,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "gwt-util/src/main/java/jetbrains/jetpad/mapper/gwt/GwtMapper.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 15,
        "components" : [ "primary::gwt-util" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 13,
      "startLine" : 1,
      "endLine" : 6,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "util/values/src/main/java/jetbrains/jetpad/values/Values.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 9,
        "components" : [ "primary::util" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 8,
      "startLine" : 1,
      "endLine" : 6,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "gwt-util/src/main/java/jetbrains/jetpad/mapper/gwt/elemental/GwtElementalUtil.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 12,
        "components" : [ "primary::gwt-util" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 10,
      "startLine" : 1,
      "endLine" : 6,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "util/plugin/src/main/java/jetbrains/jetpad/plugin/Plugin.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 8,
        "components" : [ "primary::util" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 7,
      "startLine" : 1,
      "endLine" : 6,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "util/geometry/src/main/java/jetbrains/jetpad/geometry/Geometry.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 10,
        "components" : [ "primary::util" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 9,
      "startLine" : 1,
      "endLine" : 6,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "util/json/src/main/java/jetbrains/jetpad/json/Json.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 10,
        "components" : [ "primary::util" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 9,
      "startLine" : 1,
      "endLine" : 6,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "gwt-util/src/main/java/jetbrains/jetpad/mapper/gwt/GwtMapper.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 15,
        "components" : [ "primary::gwt-util" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 13,
      "startLine" : 1,
      "endLine" : 6,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "util/java8adapter/src/main/java/jetbrains/jetpad/java8adapter/Java8adapter.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 9,
        "components" : [ "primary::util" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 8,
      "startLine" : 1,
      "endLine" : 6,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "model/src/main/java/jetbrains/jetpad/model/Model.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 12,
        "components" : [ "primary::model" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 10,
      "startLine" : 1,
      "endLine" : 6,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "util/values/src/main/java/jetbrains/jetpad/values/Values.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 9,
        "components" : [ "primary::util" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 8,
      "startLine" : 1,
      "endLine" : 6,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "mapper/src/main/java/jetbrains/jetpad/mapper/Mapper.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 11,
        "components" : [ "primary::mapper" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 9,
      "startLine" : 1,
      "endLine" : 6,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "util/base/src/main/java/jetbrains/jetpad/base/Base.gwt.xml",
        "extension" : "xml",
        "linesOfCode" : 19,
        "components" : [ "primary::util" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 1,
      "endLine" : 6,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  } ],
  "overallDuplication" : null
}