/// <summary>
        /// Writes the source index file to the symbol file.
        /// </summary>
        /// <param name="symbolFile">The symbol file.</param>
        /// <param name="sourceIndexFile">The source index file.</param>
        /// <returns><c>true</c> if successful; otherwise <c>false</c>.</returns>
        protected virtual bool WriteSourceIndex(SymbolFile symbolFile, string sourceIndexFile)
        {
            if (!File.Exists(sourceIndexFile))
            {
                return(false);
            }

            var pdbStr = new PdbStr();

            CopyBuildEngine(pdbStr);
            if (!string.IsNullOrEmpty(SourceServerSdkPath))
            {
                pdbStr.ToolPath = SourceServerSdkPath;
            }

            pdbStr.Command    = "write";
            pdbStr.PdbFile    = new TaskItem(symbolFile.File.FullName);
            pdbStr.StreamFile = new TaskItem(sourceIndexFile);
            pdbStr.StreamName = "srcsrv";

            return(pdbStr.Execute());
        }
        /// <summary>
        /// Writes the source index file to the symbol file.
        /// </summary>
        /// <param name="symbolFile">The symbol file.</param>
        /// <param name="sourceIndexFile">The source index file.</param>
        /// <returns><c>true</c> if successful; otherwise <c>false</c>.</returns>
        protected virtual bool WriteSourceIndex(SymbolFile symbolFile, string sourceIndexFile)
        {
            if (!File.Exists(sourceIndexFile))
                return false;

            var pdbStr = new PdbStr();
            CopyBuildEngine(pdbStr);
            if (!string.IsNullOrEmpty(SourceServerSdkPath))
                pdbStr.ToolPath = SourceServerSdkPath;

            pdbStr.Command = "write";
            pdbStr.PdbFile = new TaskItem(symbolFile.File.FullName);
            pdbStr.StreamFile = new TaskItem(sourceIndexFile);
            pdbStr.StreamName = "srcsrv";

            return pdbStr.Execute();
        }