if ( Cell.COL_SPAN_PROP.equalsIgnoreCase( propName ) || Cell.ROW_SPAN_PROP.equalsIgnoreCase( propName ) || Cell.DROP_PROP.equalsIgnoreCase( propName ) || Cell.COLUMN_PROP.equalsIgnoreCase( propName ) )
if ( ICellModel.COL_SPAN_PROP.equalsIgnoreCase( propName ) || ICellModel.ROW_SPAN_PROP.equalsIgnoreCase( propName ) || ICellModel.DROP_PROP.equalsIgnoreCase( propName ) || ICellModel.COLUMN_PROP.equalsIgnoreCase( propName ) )
	protected void setProperty( String propName, Object value )	{		assert propName != null;		if ( propName.equalsIgnoreCase( DesignElement.NAME_PROP )				|| propName.equalsIgnoreCase( DesignElement.EXTENDS_PROP ) )		{			DesignParserException e = new DesignParserException(					DesignParserException.DESIGN_EXCEPTION_INVALID_PROPERTY_SYNTAX );			handler.getErrorHandler( ).semanticError( e );			valid = false;			return;		}		// Avoid overriden properties that may cause structure change.		if ( element.isVirtualElement( ) )		{			if ( element instanceof Cell )			{				if ( Cell.COL_SPAN_PROP.equalsIgnoreCase( propName )						|| Cell.ROW_SPAN_PROP.equalsIgnoreCase( propName )						|| Cell.DROP_PROP.equalsIgnoreCase( propName )						|| Cell.COLUMN_PROP.equalsIgnoreCase( propName ) )				{					PropertyValueException e = new PropertyValueException(							element,							propName,							value,							PropertyValueException.DESIGN_EXCEPTION_PROPERTY_CHANGE_FORBIDDEN );					handler.getErrorHandler( ).semanticWarning( e );					valid = false;					return;				}			}		}		// The property definition is not found, including user		// properties.		ElementPropertyDefn propDefn = element.getPropertyDefn( propName );		if ( propDefn == null )		{			DesignParserException e = new DesignParserException(					new String[]{propName},					DesignParserException.DESIGN_EXCEPTION_UNDEFINED_PROPERTY );			RecoverableError.dealUndefinedProperty( handler, e );			valid = false;			return;		}		doSetProperty( propDefn, value );	}