public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
        {
            if (values[0] is HistoryTabViewModel == false)
            {
                return(null);
            }
            HistoryTabViewModel historyTabViewModel = (HistoryTabViewModel)values[0];

            HistoryTabViewModel.HistoryStatus historyStatus = (HistoryTabViewModel.HistoryStatus)values[1];

            if (historyStatus == null)
            {
                return(null);
            }
            string commitId = historyStatus.CommitId;

            if (string.IsNullOrEmpty(commitId))
            {
                return(null);
            }
            IGitRepository gitRepository = historyTabViewModel.TryGetGitRepository();

            if (gitRepository == null)
            {
                return(null);
            }
            List <HistoryFile> output = new List <HistoryFile>();

            foreach (var file_info in gitRepository.GetGitWrapper().GetFilelistOfCommit(commitId))
            {
                HistoryFile file = new HistoryFile();
                file.CommitId  = commitId;
                file.Status    = file_info.Status;
                file.FileName  = file_info.FileName;
                file.FileName2 = file_info.FileName2;
                file.Display   = file.FileName;
                if (string.IsNullOrEmpty(file.FileName2) == false)
                {
                    file.Display += " -> " + file.FileName2;
                }
                output.Add(file);
            }
            return(output);
        }