if ( prop.getTypeCode( ) == PropertyType.ELEMENT_REF_TYPE )
if ( prop.getTypeCode( ) == IPropertyType.ELEMENT_REF_TYPE )
	public List validate( Module module, DesignElement element, String propName )	{		List list = new ArrayList( );		ElementPropertyDefn prop = element.getPropertyDefn( propName );		if ( prop.getTypeCode( ) == PropertyType.ELEMENT_REF_TYPE )		{			if ( !checkElementReference( module, element, prop ) )			{				Object value = element.getLocalProperty( module, propName );				list.add( new SemanticError( element, new String[]{propName,						( (ElementRefValue) value ).getName( )},						SemanticError.DESIGN_EXCEPTION_INVALID_ELEMENT_REF ) );			}		}		else if ( prop.getTypeCode( ) == PropertyType.LIST_TYPE				&& prop.getSubTypeCode( ) == PropertyType.ELEMENT_REF_TYPE )		{			List valueList = element.resolveElementReferenceList( module, prop );			if ( valueList != null )			{				for ( int i = 0; i < valueList.size( ); i++ )				{					// check each reference value in the list										ElementRefValue item = (ElementRefValue) valueList.get( i );					if ( !item.isResolved( ) )					{						list								.add( new SemanticError(										element,										new String[]{propName, item.getName( )},										SemanticError.DESIGN_EXCEPTION_INVALID_ELEMENT_REF ) );					}				}			}		}		else		{			assert false;		}		return list;	}