question: public synchronized OMGraphicList prepare ( ) { if ( lst == null ) { try { initLST ( ) ; } catch ( IllegalArgumentException iae ) { logger . warning ( "VPFLayer.prepare: Illegal Argument Exception.\n\nPerhaps a file not found.  Check to make sure that the paths to the VPF data directories are the parents of \"lat\" or \"lat.\" files. \n\n" + iae ) ; return null ; } if ( lst == null ) { if ( logger . isLoggable ( Level . FINE ) ) { logger . fine ( "VPFLayer| " + getName ( ) + " prepare(), Library Selection Table not set." ) ; } return null ; } } if ( warehouse == null ) { StringBuffer dpb = new StringBuffer ( ) ; if ( dataPaths != null ) { for ( int num = 0 ; num < dataPaths . length ; num ++ ) { if ( num > 0 ) { dpb . append ( ":" ) ; } dpb . append ( dataPaths [ num ] ) ; } } logger . warning ( "VPFLayer.getRectangle:  Data path probably wasn't set correctly (" + dpb . toString ( ) + ").  The warehouse not initialized." ) ; return null ; } Projection p = getProjection ( ) ; if ( p == null || ! ( p instanceof GeoProj ) ) { if ( logger . isLoggable ( Level . FINE ) ) { logger . fine ( "VPFLayer.getRectangle() called with a projection (" + p + ") set in the layer, which isn't being handled." ) ; } return new OMGraphicList ( ) ; } LatLonPoint ll1 = p . getUpperLeft ( ) ; LatLonPoint ll2 = p . getLowerRight ( ) ; if ( logger . isLoggable ( Level . FINE ) ) { logger . fine ( "calling draw with boundaries: " + ll1 + " " + ll2 ) ; } long start = System . currentTimeMillis ( ) ; OMGraphicList omgList = new OMGraphicList ( ) ; try { omgList = warehouse . getFeatures ( lst , ll1 , ll2 , p , omgList ) ; } catch ( FormatException fe ) { logger . warning ( "Caught FormatException reading features: " + fe . getMessage ( ) ) ; } long stop = System . currentTimeMillis ( ) ; if ( logger . isLoggable ( Level . FINE ) ) { logger . fine ( "read time: " + ( ( stop - start ) / 1000d ) + " seconds" ) ; } return omgList ; }
target:  Create the OMGraphicList to use on the map. OMGraphicHandler methods call this.