private boolean unstashAndReattach() {
    VirtualMachineData vmData = myStashedVirtualMachines.pollFirst();
    if (vmData != null && vmData.vm != null) {
      myDebuggerManagerThread = vmData.debuggerManagerThread;
      reattach(vmData.connection, () -> {}, () -> {
        afterProcessStarted(() -> getManagerThread().schedule(new DebuggerCommandImpl() {
          @Override
          protected void action() {
            try {
              commitVM(vmData.vm.getVirtualMachine());
            }
            catch (VMDisconnectedException e) {
              fail();
            }
          }
        }));
      });
      return true;
    }
    return false;
  }
private boolean unstashAndReattach()