if ( StyledElement.STYLE_PROP.equals( propName ) || DesignElement.EXTENDS_PROP.equals( propName ) || DesignElement.USER_PROPERTIES_PROP.equals( propName ) || DesignElement.REF_TEMPLATE_PARAMETER_PROP
if ( IStyledElementModel.STYLE_PROP.equals( propName ) || IDesignElementModel.EXTENDS_PROP.equals( propName ) || IDesignElementModel.USER_PROPERTIES_PROP.equals( propName ) || IDesignElementModel.REF_TEMPLATE_PARAMETER_PROP
	private static void duplicateProperties( DesignElement from,			DesignElement to )	{		if ( from.getDefn( ).allowsUserProperties( ) )		{			Iterator iter = from.getUserProperties( ).iterator( );			while ( iter.hasNext( ) )			{				UserPropertyDefn userPropDefn = (UserPropertyDefn) iter.next( );				to.addUserPropertyDefn( userPropDefn );			}		}		Iterator iter = from.getDefn( ).getProperties( ).iterator( );		while ( iter.hasNext( ) )		{			ElementPropertyDefn propDefn = (ElementPropertyDefn) iter.next( );			String propName = propDefn.getName( );			// Style property and extends property will be removed.			// The properties inherited from style or parent will be			// flatten to new element.			if ( StyledElement.STYLE_PROP.equals( propName )					|| DesignElement.EXTENDS_PROP.equals( propName )					|| DesignElement.USER_PROPERTIES_PROP.equals( propName )					|| DesignElement.REF_TEMPLATE_PARAMETER_PROP							.equals( propName ) )				continue;			Object localValue = to.getLocalProperty( from.getRoot( ), propDefn );			Object parentValue = from.getStrategy( ).getPropertyFromElement(					from.getRoot( ), from, propDefn );			if ( localValue == null && parentValue != null )			{				Object valueToSet = ModelUtil.copyValue( propDefn, parentValue );				to.setProperty( propDefn, valueToSet );			}		}	}