question: 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 ( ) ) ; } }
target:  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.