rem: rec = WMHashInsert(notificationCenter->nameTable, name, oRec);
add: rec = (NotificationObserver*)WMHashInsert(notificationCenter->nameTable, name, oRec);
context: WMAddNotificationObserver(WMNotificationObserverAction *observerAction,			  void *observer, char *name, void *object){    NotificationObserver *oRec, *rec;        oRec = wmalloc(sizeof(NotificationObserver));    oRec->observerAction = observerAction;    oRec->observer = observer;    oRec->name = name;    oRec->object = object;    oRec->next = NULL;    oRec->prev = NULL;            /* put this action in the list of actions for this observer */    rec = WMHashInsert(notificationCenter->observerTable, observer, oRec);        if (rec) {	/* if this is not the first action for the observer */	oRec->nextAction = rec;    } else {	oRec->nextAction = NULL;    }    if (!name && !object) {	/* catch-all */	oRec->next = notificationCenter->nilList;	if (notificationCenter->nilList) {	    notificationCenter->nilList->prev = oRec;	}	notificationCenter->nilList = oRec;    } else if (!name) {	/* any message coming from object */	rec = WMHashInsert(notificationCenter->objectTable, object, oRec);	oRec->next = rec;	if (rec) {	    rec->prev = oRec;	}    } else {	/* name && (object || !object) */	rec = WMHashInsert(notificationCenter->nameTable, name, oRec);	oRec->next = rec;	if (rec) {	    rec->prev = oRec;	}    }}