rem: BRoster Roster;
context: instantiation_func find_instantiation_func(const char* class_name,										   const char* sig){	errno = B_OK;	if (!class_name)	{		errno = B_BAD_VALUE;		return NULL;	}	BRoster Roster;	instantiation_func theFunc = NULL;	BString funcName;	BuildFuncName(class_name, funcName);	thread_id tid = find_thread(NULL);	thread_info ti;	status_t err = get_thread_info(tid, &ti);	if (!err)	{		//	for each image_id in team_id		image_info info;		int32 cookie = 0;		while (!theFunc && (get_next_image_info(ti.team, &cookie, &info) == B_OK))		{			theFunc = FindFuncInImage(funcName, info.id, err);		}			if (theFunc && !CheckSig(sig, info))		{			// TODO: extended error handling			theFunc = NULL;		}	}	return theFunc;}