question: public void preparePidPvs ( int obdService , PvList pvList ) { resetFixedPid ( ) ; HashMap < String , EcuDataPv > newList = new HashMap < String , EcuDataPv > ( ) ; for ( Integer currPid : pidSupported ) { Vector < EcuDataItem > items = dataItems . getPidDataItems ( obdService , currPid ) ; if ( items == null ) { log . warn ( String . format ( "unknown PID %02X" , currPid ) ) ; Conversion [ ] dummyCnvs = { EcuConversions . dfltCnv , EcuConversions . dfltCnv } ; EcuDataItem newItem = new EcuDataItem ( currPid , 0 , 0 , 0 , 32 , 0xFFFFFFFF , dummyCnvs , "%#08x" , null , null , String . format ( "PID %02X" , currPid ) ) ; dataItems . appendItemToService ( obdService , newItem ) ; items = dataItems . getPidDataItems ( obdService , currPid ) ; } for ( EcuDataItem pidPv : items ) { if ( pidPv != null ) { newList . put ( pidPv . toString ( ) , pidPv . pv ) ; } } } pvList . putAll ( newList , PvChangeEvent . PV_ADDED , false ) ; }
target:  prepare process variables for each PID