if ( locale != null ) { link.append( "&__locale=" ); link.append( locale.toString( ) ); }
	protected String buildBookmarkAction( IAction action, Object context )	{		StringBuffer link = new StringBuffer( );		boolean realBookmark = false;		if ( this.document != null )		{			long pageNumber = this.document					.getPageNumber( action.getBookmark( ) );			realBookmark = pageNumber == this.page;		}		String bookmark = action.getBookmark( );		try		{			bookmark = URLEncoder.encode( bookmark, "UTF-8" ); //$NON-NLS-1$		}		catch ( UnsupportedEncodingException e )		{			// Does nothing		}		if ( realBookmark )		{			link.append( "#" ); //$NON-NLS-1$			link.append( bookmark );			if ( locale != null )			{				link.append( "&__locale=" ); //$NON-NLS-1$				link.append( locale.toString( ) );			}		}		else		{			String baseURL = null;			if ( context != null && context instanceof HTMLRenderContext )			{				baseURL = ( (HTMLRenderContext) context ).getBaseURL( );			}			link.append( baseURL );			link.append( "?__document=" ); //$NON-NLS-1$			String documentName = document.getName( );			try			{				documentName = URLEncoder.encode( documentName, "UTF-8" ); //$NON-NLS-1$			}			catch ( UnsupportedEncodingException e )			{				// Does nothing			}			link.append( documentName );			link.append( "&__bookmark=" ); //$NON-NLS-1$			link.append( bookmark );			if ( locale != null )			{				link.append( "&__locale=" ); //$NON-NLS-1$				link.append( locale.toString( ) );			}		}		return link.toString( );	}