rem: status_t error = (target.IsValid() ? B_OK : B_BAD_VALUE);
add: status_t error = B_OK;  int32 handlerToken = -2; if (handler) { handlerToken = _get_object_token_(handler); if (looper) { if (looper != handler->Looper()) error = B_BAD_VALUE; } else { looper = handler->Looper(); if (!looper) error = B_BAD_VALUE; } } else if (!looper) error = B_BAD_VALUE;
context: watch_node(const node_ref *node, uint32 flags, BMessenger target){	status_t error = (target.IsValid() ? B_OK : B_BAD_VALUE);	if (error == B_OK) {		BLooper *looper = NULL;		BHandler *handler = target.Target(&looper);		error = watch_node(node, flags, handler, looper);	}	return error;}