public override string GetFormattedSize()
        {
            string s = FileSizeUtil.FormatSize(Size, 0);

            if (Parent != null)
            {
                return(indent + s);
            }
            else
            {
                return(s);
            }
        }
        private void SetSubProgress(int pct, int numFiles, ulong totalSize, int mergeIndex, int totalMerges)
        {
            if (InvokeRequired)
            {
                Invoke(
                    new Action <int, int, ulong, int, int>(SetSubProgress),
                    new object[] { pct, numFiles, totalSize, mergeIndex, totalMerges }
                    );
                return;
            }

            subtotalMergeProgressBar.Value  = pct;
            subtotalMergeProgressLabel.Text = pct.ToString() + "%";
            currentOperationInfoLabel.Text  = string.Format(
                "Merge {0} out of {1}: Merging {2} files with total size {3}.",
                mergeIndex + 1,
                totalMerges,
                numFiles,
                FileSizeUtil.FormatSize(totalSize)
                );

            RefreshProgress();
        }