void (@NotNull ChangeAction action, @NotNull TreeElement changedElement) { FileElement changedFile = TreeUtil.getFileElement(changedElement); PsiManager manager = changedFile.getManager(); PomModel model = PomManager.getModel(manager.getProject()); model.runTransaction(new PomTransactionBase(changedElement.getPsi()) { @Override public @NotNull PomModelEvent runInner() { TreeChangeEvent destinationTreeChange = new TreeChangeEventImpl(model.getModelAspect(TreeAspect.class), changedFile); PomModelEvent event = new PomModelEvent(model, destinationTreeChange); action.makeChange(destinationTreeChange); changedElement.clearCaches(); if (changedElement instanceof CompositeElement) { ((CompositeElement) changedElement).subtreeChanged(); } return event; } }); }