private EditorCell getCellToPasteTo(EditorCell cell) { if (cell == null) { return cell; } if (cell.isLastPositionInBigCell()) return cell; if (cell instanceof EditorCell_Label && cell.getRole() == null) { EditorCell result = new ChildrenCollectionFinder(cell, true, false).find(); if (result != null) { return result; } result = new ChildrenCollectionFinder(cell, false, false).find(); if (result != null) { if (result instanceof EditorCell_Collection) { return result.getLastChild(); } return result; } } return cell; }