Index: DocumentRefreshQueueImpl.java =================================================================== --- work/src/org/kuali/rice/kew/impl/document/DocumentRefreshQueueImpl.java (revision 3839) +++ work/src/org/kuali/rice/kew/impl/document/DocumentRefreshQueueImpl.java (revision 3840) @@ -19,6 +19,7 @@ import java.util.Collection; import java.util.List; +import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang.StringUtils; import org.kuali.rice.core.api.exception.RiceIllegalArgumentException; import org.kuali.rice.kew.actionrequest.ActionRequestValue; @@ -75,7 +76,19 @@ for (ActionRequestValue deleteForThisNode : deletesForThisNode) { // only delete the request if it was generated by a route module (or the rules system) - if (deleteForThisNode.isRouteModuleRequest()) { + + // START UCD MODIFICATION + // If the parent note is system generated and there are children and one of those children is not + // generated - then delete + boolean containsRoleOrRuleRequests = deleteForThisNode.isRouteModuleRequest(); + if ( ! containsRoleOrRuleRequests ) { + if ( CollectionUtils.isNotEmpty( deleteForThisNode.getChildrenRequests() ) ) { + containsRoleOrRuleRequests = deleteForThisNode.getChildrenRequests().get(0).isRouteModuleRequest(); + } + } + + if (containsRoleOrRuleRequests) { + // END UCD MODIFICATION requestsToDelete.add(deleteForThisNode); // suppress duplicate notifications