if ( element instanceof IExtendableElement ) ModelUtil.duplicateExtensionIdentifier( element, newElement, element.getRoot( ) );
	private void localizePropertyValues( DesignElement element,			DesignElement newElement )	{		// copy user property definitions first, otherwise definition will		// not be found when copying property values		localizeUserPropDefn( element, newElement );		// get proerties from ascendants.		Iterator iter = element.getPropertyDefns( ).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 ( IDesignElementModel.EXTENDS_PROP.equals( propName )					|| IDesignElementModel.USER_PROPERTIES_PROP							.equals( propName )					|| IModuleModel.THEME_PROP.equals( propName )					|| IModuleModel.LIBRARIES_PROP.equals( propName ) )				continue;			// style properties are handled in styledElement.			if ( ( propDefn.isStyleProperty( ) && !( element instanceof Style ) )					|| IStyledElementModel.STYLE_PROP.equals( propName ) )				continue;			Object value = element.getStrategy( ).getPropertyFromElement(					element.getRoot( ), element, propDefn );			if ( value == null )				continue;			switch ( propDefn.getTypeCode( ) )			{				case IPropertyType.ELEMENT_REF_TYPE :					handleElementRefValue( newElement, propDefn,							(ElementRefValue) value );					break;				case IPropertyType.STRUCT_REF_TYPE :					handleStructureRefValue( newElement, propDefn,							(StructRefValue) value );					break;				case IPropertyType.LIST_TYPE :					if ( propDefn.getSubTypeCode( ) == IPropertyType.ELEMENT_REF_TYPE )					{						handleElementRefValueList( newElement, propDefn,								(List) value );					}					else if ( newElement.getLocalProperty( null, propDefn ) == null )						newElement.setProperty( propDefn, ModelUtil.copyValue(								propDefn, value ) );					break;				case IPropertyType.STRUCT_TYPE :					handleStructureValue( newElement, propDefn, value );					break;				default :					if ( newElement.getLocalProperty( null, propDefn ) == null )						newElement.setProperty( propDefn, value );			}		}	}