public ReplicationFile(ReplicationFolder parentFolder, string shipReplicationFilePath)
        {
            this.ParentShip   = parentFolder.ParentShip;
            this.ParentFolder = parentFolder;

            FullPath = shipReplicationFilePath;
            Filename = Path.GetFileName(FullPath);

            RelocationFullPath = parentFolder.RelocationFullPath + Filename;

            IsRelocated = false;
        }
        public static List <ReplicationFile> LoadShipReplicationFiles(ReplicationFolder parentFolder)
        {
            List <ReplicationFile> shipReplicationFiles = new List <ReplicationFile>();

            List <Task> loadShipReplicationFilesTask = new List <Task>();

            foreach (string shipReplicationFilePath in Directory.GetFiles(parentFolder.FullPath))
            {
                loadShipReplicationFilesTask.Add
                (
                    Task.Factory.StartNew
                    (
                        () =>
                        shipReplicationFiles.Add(new ReplicationFile(parentFolder, shipReplicationFilePath))
                    )
                );
            }
            Task.WaitAll(loadShipReplicationFilesTask.ToArray());

            return(shipReplicationFiles);
        }