question: private List < String > updateStatus ( List < String > unsentRegIds , Map < String , Result > allResults , MulticastResult multicastResult ) { List < Result > results = multicastResult . getResults ( ) ; if ( results . size ( ) != unsentRegIds . size ( ) ) { throw new RuntimeException ( "Internal error: sizes do not match. " + "currentResults: " + results + "; unsentRegIds: " + unsentRegIds ) ; } List < String > newUnsentRegIds = new ArrayList < String > ( ) ; for ( int i = 0 ; i < unsentRegIds . size ( ) ; i ++ ) { String regId = unsentRegIds . get ( i ) ; Result result = results . get ( i ) ; allResults . put ( regId , result ) ; String error = result . getErrorCodeName ( ) ; if ( error != null && ( error . equals ( Constants . ERROR_UNAVAILABLE ) || error . equals ( Constants . ERROR_INTERNAL_SERVER_ERROR ) ) ) { newUnsentRegIds . add ( regId ) ; } } return newUnsentRegIds ; }
target:  Updates the status of the messages sent to devices and the list of devices that should be retried.