PR_LOG(gXULTemplateLog, PR_LOG_DEBUG, ("xultemplate[%p]   => row %d", this, row));
nsXULOutlinerBuilder::SynchronizeMatch(nsTemplateMatch* aMatch, const VariableSet& aModifiedVars){    if (mBoxObject) {        // XXX we could be more conservative and just invalidate the cells        // that got whacked...        Value val;        aMatch->GetAssignmentFor(mConflictSet, aMatch->mRule->GetMemberVariable(), &val);        nsOutlinerRows::iterator iter =            mRows.Find(mConflictSet, VALUE_TO_IRDFRESOURCE(val));        NS_ASSERTION(iter != mRows.Last(), "couldn't find row");        if (iter == mRows.Last())            return NS_ERROR_FAILURE;        PRInt32 row = iter.GetRowIndex();        if (row >= 0)            mBoxObject->InvalidateRow(row);    }    return NS_OK;}