public void Cancel()
    {
        idle_start.Stop();
        step.Stop();
        if (importer != null)
        {
            importer.Cancel();
            importer = null;
        }

        if (collection == null || collection.Count == 0)
        {
            return;
        }

        Photo [] photos = new Photo [collection.Count];
        for (int i = 0; i < collection.Count; i++)
        {
            photos [i] = (Photo)collection [i];
        }

        store.Remove(photos);
    }