@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)));
  }