Module.IMAGES_PROP );
IModuleModel.IMAGES_PROP );
	public EmbeddedImageHandle getEmbeddedImage( )	{		if ( !DesignChoiceConstants.IMAGE_REF_TYPE_EMBED				.equals( getStringProperty( ImageItem.SOURCE_PROP ) ) )			return null;		StructRefValue imageRef = (StructRefValue) getElement( ).getProperty(				getModule( ), IImageItemModel.IMAGE_NAME_PROP );		if ( imageRef == null )			return null;		// the structure is resolve, then find the owner module and construct		// the embedded image handle		if ( imageRef.isResolved( ) )		{			EmbeddedImage image = (EmbeddedImage) imageRef.getTargetStructure( );			DesignElement owner = getElement( );			while ( owner != null )			{				if ( owner.getLocalProperty( module,						IImageItemModel.IMAGE_NAME_PROP ) == imageRef )				{					Module targetModule = null;					// if find the image in this parent or virtual parent, then					// getRoot must not be null					if ( owner != getElement( ) )						targetModule = owner.getRoot( );					// if find the image in element itself, the element maybe					// not in any tree					else					{						if ( imageRef.getLibraryNamespace( ) != null )							targetModule = getModule( )									.getLibraryWithNamespace(											imageRef.getLibraryNamespace( ) );						else							targetModule = getModule( );					}					assert targetModule != null;					// find the position of the image in the target module and					// construct the handle					List images = targetModule.getListProperty( targetModule,							Module.IMAGES_PROP );					if ( images == null || images.isEmpty( ) )						continue;					int posn = images.indexOf( image );					PropertyHandle propHandle = targetModule.getHandle(							targetModule ).getPropertyHandle(							Module.IMAGES_PROP );					assert posn != -1;					EmbeddedImageHandle imageHandle = new EmbeddedImageHandle(							propHandle, posn );					return imageHandle;				}				// recursively find the image and construct the handle if it has				// parent or virtual parent				owner = owner.isVirtualElement( )						? owner.getVirtualParent( )						: owner.getExtendsElement( );			}		}		return null;	}