public void pushBack(DebuggerCommandImpl managerCommand) {
   if (myEvents.isClosed()) {
     managerCommand.notifyCancelled();
   } else {
     super.pushBack(managerCommand);
   }
 }
 public void schedule(DebuggerCommandImpl managerCommand) {
   if (myEvents.isClosed()) {
     managerCommand.notifyCancelled();
   } else {
     super.schedule(managerCommand);
   }
 }
 public void processEvent(@NotNull DebuggerCommandImpl managerCommand) {
   assertIsManagerThread();
   try {
     if (myEvents.isClosed()) {
       managerCommand.notifyCancelled();
     } else {
       managerCommand.run();
     }
   } catch (VMDisconnectedException e) {
     LOG.debug(e);
   } catch (RuntimeException e) {
     throw e;
   } catch (InterruptedException e) {
     throw new RuntimeException(e);
   } catch (Exception e) {
     LOG.error(e);
   }
 }