const SmartPtr<Value>& tableAlign, unsigned columnIndex)
const SmartPtr<Value>& tableAlign)
    refineAlignAttribute(const SmartPtr<Value>& cellAlign,			 const SmartPtr<Value>& rowAlign,			 const SmartPtr<Value>& tableAlign,			 unsigned columnIndex)    {#if 1      if (cellAlign)	return cellAlign;      else if (rowAlign)	return GetComponent(rowAlign, columnIndex);      else if (tableAlign)	return GetComponent(tableAlign, columnIndex);      else	return 0;#else      // Because of a bug in GCC-3.4 the following code, which is      // syntactically and semantically correct, does not compile      // and the compiler issues a misleading error message      return	(cellAlign ? cellAlign : 	 (rowAlign ? GetComponent(rowAlign, columnIndex) :	  (tableAlign ? GetComponent(tableAlign, columnIndex) : 0)));#endif    }