if ( propDefn.getTypeCode( ) == PropertyType.ELEMENT_REF_TYPE || propDefn.getTypeCode( ) == PropertyType.STRUCT_REF_TYPE )
if ( propDefn.getTypeCode( ) == IPropertyType.ELEMENT_REF_TYPE || propDefn.getTypeCode( ) == IPropertyType.STRUCT_REF_TYPE )
	private void adjustReferredClients( DesignElement element )	{		List propDefns = element.getPropertyDefns( );		for ( Iterator iter = propDefns.iterator( ); iter.hasNext( ); )		{			PropertyDefn propDefn = (PropertyDefn) iter.next( );			// DO NOT consider extends and style property since this has been			// handled in remove method.			if ( DesignElement.EXTENDS_PROP.equalsIgnoreCase( propDefn					.getName( ) )					|| StyledElement.STYLE_PROP.equalsIgnoreCase( propDefn							.getName( ) ) )				continue;			if ( propDefn.getTypeCode( ) == PropertyType.ELEMENT_REF_TYPE					|| propDefn.getTypeCode( ) == PropertyType.STRUCT_REF_TYPE )			{				Object value = element.getLocalProperty( module,						(ElementPropertyDefn) propDefn );				if ( value != null )				{					if ( ( value instanceof StructRefValue )							|| ( (ElementRefValue) value ).isResolved( ) )					{						TemplateParameterDefinition definition = null;						if ( value instanceof ElementRefValue )						{							ElementRefValue templateParam = (ElementRefValue) value;							if ( templateParam.getTargetElement( ) instanceof TemplateParameterDefinition )								definition = (TemplateParameterDefinition) templateParam										.getTargetElement( );						}						try						{							// Clear all element reference property for dropped							// element							PropertyCommand cmd = new PropertyCommand( module,									element );							cmd.setProperty( propDefn.getName( ), null );						}						catch ( SemanticException e )						{							assert false;						}					}				}			}			else if ( propDefn.getTypeCode( ) == PropertyType.LIST_TYPE					&& propDefn.getSubTypeCode( ) == PropertyType.ELEMENT_REF_TYPE )			{				List valueList = (List) element.getLocalProperty( module,						(ElementPropertyDefn) propDefn );				if ( valueList != null )				{					for ( int i = valueList.size( ) - 1; i >= 0; i-- )					{						ElementRefValue item = (ElementRefValue) valueList								.get( i );						if ( item.isResolved( ) )						{							try							{								// Clear all element reference property for								// dropped element								PropertyCommand cmd = new PropertyCommand(										module, element );								cmd.removeItem( (ElementPropertyDefn) propDefn,										item.getElement( ) );							}							catch ( SemanticException e )							{								assert false;							}						}					}				}			}		}	}