module, DesignElement.EXTENDS_PROP );
module, IDesignElementModel.EXTENDS_PROP );
	private Map unresolveElementDescendent( Module module, DesignElement child )			throws SemanticException	{		ElementRefValue value = (ElementRefValue) child.getLocalProperty(				module, DesignElement.EXTENDS_PROP );		DesignElement parent = value.getElement( );		assert parent != null;		// not layout structure involved.		if ( child.getDefn( ).getSlotCount( ) == 0 )		{			// unresolves the extends child			parent.dropDerived( child );			value.unresolved( value.getName( ) );			return Collections.EMPTY_MAP;		}		Map overriddenValues = ElementStructureUtil				.collectPropertyValues( child );		// remove virtual elements in the element		ActivityStack activityStack = getActivityStack( );		activityStack.startSilentTrans( );		LevelContentIterator contentIter = new LevelContentIterator( child, 1 );		while ( contentIter.hasNext( ) )		{			DesignElement tmpElement = (DesignElement) contentIter.next( );			ContentCommand command = new ContentCommand( module, child );			command.remove( tmpElement, tmpElement.getContainerSlot( ), false,					true );		}		activityStack.commit( );		// unresolves the extends child		parent.dropDerived( child );		value.unresolved( value.getName( ) );		return overriddenValues;	}