object_root = get_object_root(section, cib);
object_root = get_object_root(update_section, cib);
create_cib_fragment_adv(	crm_data_t *update, const char *section, const char *source){	crm_data_t *cib = NULL;	gboolean whole_cib = FALSE;	crm_data_t *fragment = create_xml_node(NULL, XML_TAG_FRAGMENT);	crm_data_t *object_root  = NULL;	const char *update_name = NULL;		if(update == NULL && section == NULL) {		crm_debug_3("Creating a blank fragment");		update = createEmptyCib();		whole_cib = TRUE;	} else if(update == NULL) {		crm_err("No update to create a fragment for");		return NULL;			} else if(section == NULL) {		section = cib_pluralSection(update_name);	}	if(safe_str_eq(crm_element_name(update), XML_TAG_CIB)) {		whole_cib = TRUE;	}		crm_xml_add(fragment, XML_ATTR_SECTION, section);	if(whole_cib == FALSE) {		cib = createEmptyCib();		crm_xml_add(cib, "debug_source", source);		object_root = get_object_root(section, cib);		add_node_copy(object_root, update);		add_node_copy(fragment, cib);		free_xml(cib);		cib = find_xml_node(fragment, XML_TAG_CIB, TRUE);	} else {		add_node_copy(fragment, update);		cib = find_xml_node(fragment, XML_TAG_CIB, TRUE);		crm_xml_add(cib, "debug_source", source);	}		crm_debug_3("Verifying created fragment");	if(verifyCibXml(cib) == FALSE) {		crm_err("Fragment creation failed");		crm_log_xml_err(update, "[src]");		crm_log_xml_err(fragment, "[created]");		free_xml(fragment);		fragment = NULL;	}		return fragment;}