	public void unmanage(ProductContainer pc) {
		if (pc instanceof StorageUnit) {
			StorageUnit storageUnit = (StorageUnit) pc;
			rootStorageUnits.remove(storageUnit);
			nameToStorageUnit.remove(storageUnit.getName());
		} else {
			ProductGroup pg = (ProductGroup) pc;
			for (StorageUnit su : rootStorageUnits) {
				if (su.containsProductGroup(pg.getName())) {
					su.remove(pg);
				}
			}
		}
		setChanged();
		Action a = new Action(pc, ActionType.DELETE);
		this.notifyObservers(a);
	}

	public void unmanage(ProductContainer pc) {
		if (pc instanceof StorageUnit) {
			StorageUnit storageUnit = (StorageUnit) pc;
			rootStorageUnits.remove(storageUnit);
			nameToStorageUnit.remove(storageUnit.getName());
		} else {
			ProductGroup pg = (ProductGroup) pc;
			for (StorageUnit su : rootStorageUnits) {
				if (su.containsProductGroup(pg) || su.hasDescendantProductContainer(pg)) {
					su.remove(pg);
				}
			}
		}
		setChanged();
		Action a = new Action(pc, ActionType.DELETE);
		this.notifyObservers(a);
	}
