@Override public boolean isAuthorized(String userId, ProtocolTask task) { ProtocolDocument protocolDocument = (ProtocolDocument) task.getProtocol().getProtocolDocument(); return kraWorkflowService.isUserActionRequested(protocolDocument, userId) && (!kraWorkflowService.isDocumentOnNode( protocolDocument, Constants.PROTOCOL_IRBREVIEW_ROUTE_NODE_NAME) || (kraWorkflowService.isUserAdHocRequestRecipient(protocolDocument, userId, null) && !kraWorkflowService.isUserRouteRespRequestRecipient( protocolDocument, userId, null))); }