// ----- Internal logics
        private void RemoveDuplicatedPhotos(Album album, bool promptUserConfirmation)
        {
            var duplicatedPhotoGroups = album.Photos.GroupBy(x => x.Title).Where(x => x.Count() > 1).ToArray();

            if (duplicatedPhotoGroups.Any())
            {
                _console.WriteLine($"* {duplicatedPhotoGroups.Length} duplicated media files found in the album {album.Title}.");
                if (!promptUserConfirmation || ConfirmOperationByUser())
                {
                    foreach (var duplicatedPhotos in duplicatedPhotoGroups)
                    {
                        foreach (var photo in duplicatedPhotos.Skip(1))
                        {
                            _console.StartOperation(
                                $"* Deleting media file '{photo.Title}' ... ",
                                () => _flickrService.DeletePhoto(photo));
                        }
                    }

                    _console.WriteLine("* Album cleaned.");
                }
            }
            else
            {
                _console.WriteLine($"* No duplication found in the album '{album.Title}'.");
            }
        }