@Override
	public void decrementHistory(@Nonnull String key) {
		Stack<I> itemHistory = getHistory(key);
		if (itemHistory == null) {
			throw new IllegalStateException("Failed history decrement, no prior history to read from for: " + key);
		}
		int size = itemHistory.size();

		// Update map with prior entry
		I currentItem = get(key);
		I priorItem;
		if (size > 1) {
			itemHistory.pop(); // Pop current value off stack.
			priorItem = itemHistory.peek(); // Yield prior value.
		} else {
			priorItem = itemHistory.peek();
		}
		backing.put(key, priorItem);

		// Notify listeners
		Unchecked.checkedForEach(listeners, listener -> listener.onUpdateItem(key, currentItem, priorItem),
				(listener, t) -> logger.error("Exception thrown when decrementing bundle history", t));
	}
History contains a stack of prior states of items.
If an item has not been modified there is no entry in this map.

@return Map of historical states of items within this bundle.
recaf-core/src/main/java/software/coley/recaf/workspace/model/bundle/BasicBundle.java