/**
  * Unmount the device with ejection.
  *
  * @param bEjection set whether the device must be ejected
  * @param bUIRefresh set whether the UI should be refreshed
  */
 public void unmount(final boolean bEjection, final boolean bUIRefresh) {
   // look to see if the device is already mounted
   if (!bMounted) {
     Messages.showErrorMessage(125); // already unmounted
     return;
   }
   // ask fifo if it doens't use any track from this device
   if (!QueueModel.canUnmount(this)) {
     Messages.showErrorMessage(121);
     return;
   }
   bMounted = false;
   if (bUIRefresh) {
     ObservationManager.notify(new JajukEvent(JajukEvents.DEVICE_UNMOUNT));
   }
 }