} else if(action->node->details->online == FALSE) {
} else if(action->pseudo == FALSE && action->node->details->online == FALSE) {
graph_element_from_action(action_t *action, crm_data_t * *graph){	char *syn_id = NULL;	crm_data_t * syn = NULL;	crm_data_t * set = NULL;	crm_data_t * in  = NULL;	crm_data_t * input = NULL;	crm_data_t * xml_action = NULL;	if(action == NULL) {		crm_err("Cannot dump NULL action");		return;	} else if(action->optional) {		crm_trace("action %d was optional", action->id);		return;	} else if(action->runnable == FALSE) {		crm_trace("action %d was not runnable", action->id);		return;	} else if(action->dumped) {		crm_trace("action %d was already dumped", action->id);		return;	} else if(action->discard) {		crm_trace("action %d was discarded", action->id);		return;	} else if(action->node == NULL) {		crm_err("action %d was not allocated", action->id);		return;	} else if(action->node->details->online == FALSE) {		crm_err("action %d was scheduled for offline node", action->id);		return;	}		action->dumped = TRUE;		syn    = create_xml_node(*graph, "synapse");	set    = create_xml_node(syn, "action_set");	in     = create_xml_node(syn, "inputs");	syn_id = crm_itoa(num_synapse++);	set_xml_property_copy(syn, XML_ATTR_ID, syn_id);	crm_free(syn_id);		xml_action = action2xml(action, FALSE);	add_node_copy(set, xml_action);		slist_iter(wrapper,action_wrapper_t,action->actions_before,lpc,					   if(wrapper->action->optional == TRUE) {			   continue;		   } else if(wrapper->action->discard == TRUE) {			   continue;		   }		   		   switch(wrapper->strength) {			   case pecs_must_not:			   case pecs_ignore:				   /* ignore both */				   break;			   case pecs_startstop:				   if(wrapper->action->runnable == FALSE){					   break;				   }				   /* keep going */			   case pecs_must:				   input = create_xml_node(in, "trigger");				   				   xml_action = action2xml(					   wrapper->action, TRUE);				   add_node_copy(input, xml_action);				   break;		   }		   		);	free_xml(xml_action);}