aTableOrRowFrame->GetProperty(aAttributeAtom));
frameManager->GetFrameProperty(aTableOrRowFrame, aAttributeAtom, 0));
GetValueAt(nsPresContext* aPresContext,           nsIFrame*       aTableOrRowFrame,           nsIAtom*        aAttributeAtom,           PRInt32         aRowOrColIndex){  PRUnichar* result = nsnull;  nsValueList* valueList;  valueList = NS_STATIC_CAST(nsValueList*,                             aTableOrRowFrame->GetProperty(aAttributeAtom));  if (!valueList) {    // The property isn't there yet, so set it    nsAutoString values;    if (NS_CONTENT_ATTR_HAS_VALUE ==        aTableOrRowFrame->GetContent()->GetAttr(kNameSpaceID_None, aAttributeAtom, values)) {      valueList = new nsValueList(values);      if (valueList) {        aTableOrRowFrame->SetProperty(aAttributeAtom,                                      valueList, DestroyValueListFunc);      }    }  }  if (valueList) {    PRInt32 count = valueList->mArray.Count();    result = (aRowOrColIndex < count)           ? (PRUnichar*)(valueList->mArray[aRowOrColIndex])           : (PRUnichar*)(valueList->mArray[count-1]);  }  return result;}