public void disconnected(OfficeConnectionEvent event) {
   taskExecutor.setAvailable(false);
   if (stopping) {
     // expected
     stopping = false;
   } else {
     logger.warning("connection lost unexpectedly; attempting restart");
     if (currentTask != null) {
       currentTask.cancel(true);
     }
     managedOfficeProcess.restartDueToLostConnection();
   }
 }