Potential NPE in AndroidExecutorImpl
If two threads call AndroidExecutor#runOnBackgroundThread()
in quick succession, the first call will initialise the Handler for the background thread and wait for it to be initialised before using it. The second call will assume the Handler has been initialised and try to use it immediately, potentially throwing an NPE.