code: public void waitOnBackgroundOp()
    {
      ExecutorService jobRunner = getJobRunner();
      if( jobRunner != null )
      {
        final Object wait = new Object();
        synchronized( wait ) //## wtf?
        {
          BackgroundOperation.instance().doBackgroundOp( () -> {
            synchronized( wait )
            {
              wait.notifyAll();
            }
          }, false );
  
          try
          {
            wait.wait();
          }
          catch( InterruptedException e )
          {
            //ignore
          }
        }
      }
    }
docs: Pumps through all current events in the background operation queue.  Note that this is *NOT* a settle.
  Any operations added after this method is invoked will not be executed.