String propName = prop.getName( );     if ( prop.isIntrinsic( ) ) { setIntrinsicProperty( propName, value ); return; }    if ( prop.getTypeCode( ) == PropertyType.ELEMENT_REF_TYPE ) { ElementRefValue oldRef = (ElementRefValue) propValues .get( propName ); updateReference( oldRef, (ElementRefValue) value, prop ); }    if ( prop.getTypeCode( ) == PropertyType.STRUCT_REF_TYPE ) { StructRefValue oldRef = (StructRefValue) propValues.get( propName ); updateReference( oldRef, (StructRefValue) value, prop ); }    if ( value == null ) propValues.remove( propName ); else propValues.put( propName, value );
setProperty( prop, value );
	public void setProperty( ElementPropertyDefn prop, Object value )	{		assert prop != null;		String propName = prop.getName( );		// Intrinsic properties are set by calling a method to set		// a member variable.		if ( prop.isIntrinsic( ) )		{			setIntrinsicProperty( propName, value );			return;		}		// Handle caching for element references.		if ( prop.getTypeCode( ) == PropertyType.ELEMENT_REF_TYPE )		{			ElementRefValue oldRef = (ElementRefValue) propValues					.get( propName );			updateReference( oldRef, (ElementRefValue) value, prop );		}		// handle caching for structure references.		if ( prop.getTypeCode( ) == PropertyType.STRUCT_REF_TYPE )		{			StructRefValue oldRef = (StructRefValue) propValues.get( propName );			updateReference( oldRef, (StructRefValue) value, prop );		}		// Set or clear the property.		if ( value == null )			propValues.remove( propName );		else			propValues.put( propName, value );	}