private void prePaintDirtyRegions(){
  Map<Component,Rectangle> dirtyComponents;
  java.util.List<Runnable> runnableList;
synchronized (this) {
    dirtyComponents=this.dirtyComponents;
    runnableList=this.runnableList;
    this.runnableList=null;
  }
  if (runnableList != null) {
    for (    Runnable runnable : runnableList) {
      runnable.run();
    }
  }
  paintDirtyRegions();
  if (dirtyComponents.size() > 0) {
    paintDirtyRegions(dirtyComponents);
  }
}

private void prePaintDirtyRegions ( ) { Map < Component , Rectangle > dirtyComponents ; java . util . List < Runnable > runnableList ; synchronized ( this ) { dirtyComponents = this . dirtyComponents ; runnableList = this . runnableList ; this . runnableList = null ; } if ( runnableList != null ) { for ( Runnable runnable : runnableList ) { runnable . run ( ) ; } } paintDirtyRegions ( ) ; if ( dirtyComponents . size ( ) > 0 ) { paintDirtyRegions ( dirtyComponents ) ; } }
this is invoked to process paint requests . it ' s needed for backward compatibility in so far as repaintmanager would previously not see paint requests for top levels , so , we have to make sure a subclass correctly paints any dirty top levels .
