+ gm.getUnderlyingEntityIdentifier()
+ "';  this circumstance probably means a portlet was deleted "
+ "in a way that didn't clean up details like categpry memberships "
+ "and permissions;  all interfaces that delete portlets should go "
+ "through IPortletPublishingService.removePortletDefinition();  "
<BUG>+ "memberships for this missing portlet will be removed.");
Iterator<IEntityGroup> parents = gm.getParentGroups().iterator();
while (parents.hasNext()) {
IEntityGroup group = parents.next();</BUG>
group.removeChild(gm);

+ gm.getUnderlyingEntityIdentifier()
+ "';  this circumstance probably means a portlet was deleted "
+ "in a way that didn't clean up details like categpry memberships "
+ "and permissions;  all interfaces that delete portlets should go "
+ "through IPortletPublishingService.removePortletDefinition();  "
+ "memberships for this missing portlet will be removed.");
for (IEntityGroup group : gm.getParentGroups()) {
group.removeChild(gm);
