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
        }
      }
    }
  }
public void waitOnBackgroundOp ( ) { ExecutorService jobRunner = getJobRunner ( ) ; if ( jobRunner != null ) { final Object wait = new Object ( ) ; synchronized ( wait ) { BackgroundOperation . instance ( ) . doBackgroundOp ( ( ) -> { synchronized ( wait ) { wait . notifyAll ( ) ; } } , false ) ; try { wait . wait ( ) ; } catch ( InterruptedException e ) { } } } }
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.