public static Grib2Tables factory ( int center , int subCenter , int masterVersion , int localVersion , int genProcessId ) { Grib2TablesId id = new Grib2TablesId ( center , subCenter , masterVersion , localVersion , genProcessId ) ; Grib2Tables cust = tables . get ( id ) ; if ( cust != null ) return cust ; // note that we match on id, so same Grib2Customizer may be mapped to multiple id's (eg match on -1) Grib2TableConfig config = Grib2TableConfig . matchTable ( id ) ; cust = build ( config ) ; tables . put ( id , cust ) ; return cust ; }
Lazy instantiation .