if ( property == null ) return;
	public void addProperty( PropertyDefn property ) throws MetaDataException	{		MetaDataDictionary dd = MetaDataDictionary.getInstance( );		// Check whether parent element define the property with the same name.		if ( dd.getElement( extendsFrom ) != null )		{			ElementDefn parentTemp = (ElementDefn) dd.getElement( extendsFrom );			while ( parentTemp != null )			{				if ( parentTemp.properties.containsKey( property.getName( ) ) )				{					throw new MetaDataException(							new String[]{property.getName( ), this.name},							MetaDataException.DESIGN_EXCEPTION_DUPLICATE_PROPERTY );				}				parentTemp = (ElementDefn) dd.getElement( parentTemp						.getExtends( ) );			}		}		// Check whether style element define the property with the same name.		if ( hasStyle( ) )		{			ElementDefn styleDefn = (ElementDefn) dd					.getElement( ReportDesignConstants.STYLE_ELEMENT );			// Style should be defined before any element that has a			// style(styled element).			if ( styleDefn == null )			{				throw new MetaDataException( new String[]{this.name},						MetaDataException.DESIGN_EXCEPTION_STYLE_NOT_DEFINED );			}			if ( styleDefn.properties.containsKey( property.getName( ) ) )			{				throw new MetaDataException( new String[]{property.getName( ),						this.name},						MetaDataException.DESIGN_EXCEPTION_DUPLICATE_PROPERTY );			}		}		super.addProperty( property );	}