@Override public void moveTo(int x, int y) { if (x == myX && y == myY) { return; } int xOld = myX; int yOld = myY; super.moveTo(x, y); for (jetbrains.mps.nodeEditor.cells.EditorCell myEditorCell : getCells()) { myEditorCell.moveTo(myEditorCell.getX() + x - xOld, myEditorCell.getY() + y - yOld); if (((EditorCell_Basic) myEditorCell).isNeedsRelayout()) { markNeedsRelayout(); } } adjustNeedsRelayout(xOld, yOld, x, y); }