URIHandler to open new external resource window only.

Hi , I am trying to get my Report Server application to handle PDF click-thru events properly.
I have a URIHandler that is running a report and using Window.open(Resource resource, String windowName) popup a new window containing the report.
This however relies on handleURI() returning null, which means the Window.handleURI() get called.
Unfortunately this means I end up with an extra Application window:
1 the original Application browser tab/window.
http://localhost:8080/LGuru/

2 the first report external browser tab/window
http://localhost:8080/LGuru/APP/4/Backordered+Items+PO+Due+Summary-20120727-134826.pdf.

3 an extra Applicatoin View browser tab/window, showing the click-thru uri
http://localhost:8080/LGuru/run.birt?__reportFile=ItemPoDetail.rptdesign&__mimeCode=PDF&__site=SSH&rpCoNo=+1&rpInmrItemNo=1.1+++++++++++++&__overwrite=true

4 and the second report window. “http://localhost:8080/LGuru/APP/2/Purchase+Order+Item+Details-20120727-135029.pdf
Does any one know how I could re-arrange my application so the window 3 is never created.
I’m thinking the handlerURI() function should return some sort of redirection to the 2’nd report resource. or something else.
Does anyone have an thoughts they might like to share.
Thank you for you attention.
Regards, Andrew

FYI
I have implemented the desired functionality using java-script based url redirection.


public DownloadStream handleURI(URL context, String relativeUri) {
...
StreamResource resource = new StreamResource(stream, docName, app);
resource.setMIMEType(mimeType.toMimeType());
app.addResource(resource);
String url = app.getRelativeLocation(resource);
url = url.replaceFirst("app://", appBaseUri);
String redirectHtml = "<head>\n";
redirectHtml += "<script language=\"javascript\"><!-- \n";
redirectHtml += "location.replace(\"";
redirectHtml += url;
redirectHtml += "\")\n";
redirectHtml += "//-->\n";
redirectHtml += "</script>\n";
redirectHtml += "</head>\n";	
return new DownloadStream(new ByteArrayInputStream(redirectHtml.getBytes()), "text/html", null);
}

I did say it works, not that it was nice.
I would still be interested in a “nice” way of achieving the same result please.