private static bool CheckVolumeMounted (Volume volume)
        {
            if (volume != null && !(volume is IDiscVolume)) {
                lock (mounted_volumes) {
                    if (mounted_volumes.ContainsKey (volume.HalDevice)) {
                        return true;
                    } else if (unmounted_volumes.ContainsKey (volume.HalDevice)) {
                        return false;
                    }

                    volume.HalDevice.PropertyModified += HandleVolumeChanged;

                    if (!volume.IsMounted) {
                        unmounted_volumes[volume.HalDevice] = volume;
                        return false;
                    } else {
                        mounted_volumes[volume.HalDevice] = volume;
                    }
                }
            }
            return true;
        }