void (final UndoRedoStacksHolder holder) { FinishMarkAction finishMark = getFinishMark(); if (finishMark != null) { boolean global = false; String commandName = null; LinkedList<UndoableGroup> stack = holder.getStack(finishMark.getAffectedDocument()); for (Iterator<UndoableGroup> iterator = stack.descendingIterator(); iterator.hasNext(); ) { UndoableGroup group = iterator.next(); if (group.isGlobal()) { global = true; commandName = group.getCommandName(); break; } if (group.getStartMark() != null) { break; } } if (global) { finishMark.setGlobal(true); finishMark.setCommandName(commandName); } } }