public void runUpdateNow(){
synchronized (this) {
    if (done || screenUpdater == null || d3dwSurfaces == null || d3dwSurfaces.size() == 0) {
      return;
    }
  }
synchronized (runLock) {
    needsUpdateNow=true;
    runLock.notifyAll();
    while (needsUpdateNow) {
      try {
        runLock.wait();
      }
 catch (      InterruptedException e) {
      }
    }
  }
}

public void runUpdateNow ( ) { synchronized ( this ) { if ( done || screenUpdater == null || d3dwSurfaces == null || d3dwSurfaces . size ( ) == 0 ) { return ; } } synchronized ( runLock ) { needsUpdateNow = true ; runLock . notifyAll ( ) ; while ( needsUpdateNow ) { try { runLock . wait ( ) ; } catch ( InterruptedException e ) { } } } }
wakes up the screen updater thread and waits for the completion of the update . this method is called from toolkit . sync ( ) or when there was a copy from a vi to the screen so that swing applications would not appear to be sluggish .
