public (PhotoList, List <ImportError>) FindPhotos(
            string sourcePath, IOutputPort outputPort, bool readImageMetaData)
        {
            _outputPort = outputPort;
            _list       = new PhotoList();
            _errorList  = new List <ImportError>();

            FindPhotosInDirectory(sourcePath);

            _outputPort?.TrackHandleTelemetry(_list, _errorList,
                                              // ReSharper disable once UseStringInterpolation
                                              string.Format("ImportPhotos: Found photos (Source: {0}, ExistingPhotos: {1}, Errors {2})",
                                                            sourcePath, _list.Count, _errorList.Count));

            if (readImageMetaData)
            {
                ReadImageMetaData();
            }

            return(_list, _errorList);
        }