new screen does not display

I am trying to display a progress screen when a user attempts to download from the web.


WaitCanvas creates a progress screen that uses an animation.

Problem: the waitCanvas object is not displayed, instead the previous screen stays displayed until remoteDetails.run completes it's work and it updates the screeen.

If I remove the call to run, the animation displays!

remoteDetails.run does not attempt to update the screen until it has carried out all it's work.


CODE:

case EventIds.EVENT_ID_GET_REMOTE_DETAILS: {

WaitCanvas waitCanvas = new WaitCanvas();
midlet.display.setCurrent(waitCanvas);
remoteDetails = new GetRemoteDetails(midlet);
remoteDetails.run();

break;
}


Anyone offer any suggestions?