class RequestsNode extends RequestActivationNode {

	public List<ActionRequestValue> getNewActionRequests(RouteContext context) throws Exception {
		RouteNodeInstance nodeInstance = context.getNodeInstance();
		String routeMethodName = nodeInstance.getRouteNode().getRouteMethodName();
		if ( LOG.isDebugEnabled() ) {
			LOG.debug( "Looking for action requests in " + routeMethodName + " : "
					+ nodeInstance.getRouteNode().getRouteNodeName() );
		}
		List<ActionRequestValue> newRequests = new ArrayList<ActionRequestValue>();
		try {
			RouteModule routeModule = getRouteModule( context );
			List<ActionRequestValue> requests = routeModule.findActionRequests( context );
            // route module should only be returning root requests to us, but in case it doesn't...
            requests = KEWServiceLocator.getActionRequestService().getRootRequests(requests);
            List<ActionRequestValue> uniqueRequests = new ArrayList<ActionRequestValue>();
            for ( ActionRequestValue actionRequest : requests ) {
                boolean duplicateFound = false;
                for (ActionRequestValue uniqueRequest: uniqueRequests ) {
                    if (isDuplicateActionRequestDetected(uniqueRequest, actionRequest)) {
                        duplicateFound = true;
                        break;
                    }
                }
                if (!duplicateFound) {
                    uniqueRequests.add(actionRequest);
                }
            }
            for ( ActionRequestValue actionRequest : uniqueRequests ) {
				if ( LOG.isDebugEnabled() ) {
					LOG.debug( "Request generated by RouteModule '" + routeModule + "' for node "
							+ nodeInstance + ":" + actionRequest );
				}
				actionRequest = KEWServiceLocator.getActionRequestService()
						.initializeActionRequestGraph( actionRequest, context.getDocument(),
								nodeInstance );
				actionRequest = saveActionRequest( context, actionRequest );
				newRequests.add( actionRequest );
			}
		} catch ( WorkflowException ex ) {
			LOG.warn( "Caught WorkflowException during routing", ex );
			throw new RouteManagerException( ex, context );
		}
		return newRequests;
	}

}