private List<AbstractHistoryItem> createDeleteHistoryItemForChildren(
EObject modelElement, Date date) {
List<AbstractHistoryItem> result = new ArrayList<AbstractHistoryItem>();
for (EObject child : ModelUtil.getAllContainedModelElements(modelElement,true) ) {
result.addAll(createDeleteHistoryItemForChildren(child, date));
result.add(new RemoveHistoryItem(ModelUtil.getProject(child).getModelElementId(child), child.eContainingFeature().getName(), ModelUtil.getProject(modelElement).getModelElementId(modelElement), userName, date));
result.add(new DeleteHistoryItem(ModelUtil.getProject(child).getModelElementId(child), getUserName(), date));
}
return result;
}