public void doPrepare(){
synchronized (LAYERWORKER_LOCK) {
    if (layerWorkerQueue) {
      return;
    }
    ISwingWorker<OMGraphicList> currentLayerWorker=layerWorker;
    if (currentLayerWorker != null) {
      layerWorkerQueue=true;
      if (interruptable) {
        currentLayerWorker.interrupt();
      }
      return;
    }
    setLayerWorker(createLayerWorker());
  }
}

public void doPrepare ( ) { synchronized ( LAYERWORKER_LOCK ) { if ( layerWorkerQueue ) { return ; } ISwingWorker < OMGraphicList > currentLayerWorker = layerWorker ; if ( currentLayerWorker != null ) { layerWorkerQueue = true ; if ( interruptable ) { currentLayerWorker . interrupt ( ) ; } return ; } setLayerWorker ( createLayerWorker ( ) ) ; } }
a method that will launch a layerworker thread to call the prepare method . this method will set in motion all the steps needed to create and render the current omgraphiclist with the current projection . nothing more needs to be called , because the layerworker will be started , it will call prepare ( ) . inside the prepare ( ) method , the omgraphiclist should be created and the omgraphics generated for the current projection that can be picked up in the getprojection ( ) method , and the layerworker will call workercomplete ( ) which will call repaint ( ) on this layer .
