NS_ADDREF(source);
LocalSearchDataSource::GetTarget(nsIRDFResource *source,                          nsIRDFResource *property,                          PRBool tv,                          nsIRDFNode **target /* out */){	NS_PRECONDITION(source != nsnull, "null ptr");	if (! source)		return NS_ERROR_NULL_POINTER;	NS_PRECONDITION(property != nsnull, "null ptr");	if (! property)		return NS_ERROR_NULL_POINTER;	NS_PRECONDITION(target != nsnull, "null ptr");	if (! target)		return NS_ERROR_NULL_POINTER;	nsresult		rv = NS_RDF_NO_VALUE;	// we only have positive assertions in the find data source.	if (! tv)		return rv;	if (isFindURI(source))	{		if (property == kNC_Name)		{//			rv = GetName(source, &array);		}		else if (property == kNC_URL)		{			// note: lie and say there is no URL//			rv = GetURL(source, &array);			nsAutoString	url("");			nsIRDFLiteral	*literal;			gRDFService->GetLiteral(url.GetUnicode(), &literal);			*target = literal;			return(NS_OK);		}		else if (property == kRDF_type)		{			const char	*uri = nsnull;			rv = kNC_FindObject->GetValueConst(&uri);			if (NS_FAILED(rv)) return rv;			nsAutoString	url(uri);			nsIRDFLiteral	*literal;			gRDFService->GetLiteral(url.GetUnicode(), &literal);			*target = literal;			return(NS_OK);		}		else if (property == kNC_pulse)		{			nsAutoString	pulse("15");			nsIRDFLiteral	*pulseLiteral;			rv = gRDFService->GetLiteral(pulse.GetUnicode(), &pulseLiteral);			if (NS_FAILED(rv)) return rv;			*target = pulseLiteral;			return(NS_OK);		}		else if (property == kNC_Child)		{			// fake out the generic builder (i.e. return anything in this case)			// so that search containers never appear to be empty			*target = source;			return(NS_OK);		}	}	return NS_RDF_NO_VALUE;}