private boolean canPasteBefore(EditorCell selectedCell, List<SNode> pasteNodes) { if (!selectedCell.isFirstPositionInBigCell()) return false; SNode anchor = selectedCell.getSNode(); if (anchor.getParent() == null) return false; NodeAndRole nodeAndRole = new NodePaster(pasteNodes).getActualAnchorNode(anchor, anchor.getRoleInParent()); if (nodeAndRole == null) return false; EditorCell targetCell = selectedCell.getEditor().findNodeCell(nodeAndRole.myNode); return targetCell != null && targetCell.getFirstLeaf(CellConditions.SELECTABLE) == selectedCell && new NodePaster(pasteNodes).canPasteRelative(nodeAndRole.myNode); }