/// <summary>
        /// Gets the editor to use to edit the <see cref="XmlScript"/> prerequisites.
        /// </summary>
        /// <param name="p_xscScript">The <see cref="XmlScript"/> whose prerequisites are to be edited.</param>
        /// <param name="p_lstModFiles">The list of files in the mod to which the <see cref="XmlScript"/>
        /// being edited belongs.</param>
        /// <returns>The editor to use to edit <see cref="XmlScript"/> prerequisites. <c>null</c> is returned if the
        /// current <see cref="XmlScript"/> does not support editing the prerequisites.</returns>
        public virtual NodeEditor GetPrerequisitesEditor(ModManagement.Scripting.XmlScript.XmlScript p_xscScript, IList <VirtualFileSystemItem> p_lstModFiles)
        {
            CPLConverter          cvtConverter           = new CPLConverter(ScriptType.GetCplParserFactory());
            CPLEditorVM           vmlCplEditor           = CreateCPLEditorVM(p_lstModFiles);
            PrerequisitesEditorVM vmlPrerequisitesEditor = new PrerequisitesEditorVM(vmlCplEditor, cvtConverter, p_xscScript);

            return(new ConditionEditor(vmlPrerequisitesEditor));
        }
        /// <summary>
        /// Gets the editor to use to edit the <see cref="XmlScript"/> prerequisites.
        /// </summary>
        /// <param name="p_xscScript">The <see cref="XmlScript"/> whose prerequisites are to be edited.</param>
        /// <param name="p_lstModFiles">The list of files in the mod to which the <see cref="XmlScript"/>
        /// being edited belongs.</param>
        /// <returns>The editor to use to edit <see cref="XmlScript"/> prerequisites. <c>null</c> is returned if the
        /// current <see cref="XmlScript"/> does not support editing the prerequisites.</returns>
        public virtual NodeEditor GetPrerequisitesEditor(Nexus.Client.ModManagement.Scripting.XmlScript.XmlScript p_xscScript, IList <VirtualFileSystemItem> p_lstModFiles)
        {
            CPLTextEditorVM vmlCplTextEditor = new CPLTextEditorVM(new FO3CplHighlightingStrategy(ScriptType.GetCplParserFactory()), ScriptType.GetCplParserFactory());

            List <KeyValuePair <string, string> > lstVersionNames = new List <KeyValuePair <string, string> >();

            lstVersionNames.Add(new KeyValuePair <string, string>("FOSE Version", "foseVersion"));
            lstVersionNames.Add(new KeyValuePair <string, string>("Game Version", "gameVersion"));
            lstVersionNames.Add(new KeyValuePair <string, string>("Mod Manager Version", "managerVersion"));

            List <CplConditionEditor> lstConditionEditors = new List <CplConditionEditor>();

            lstConditionEditors.Add(new CplPluginConditionEditor(p_lstModFiles));
            lstConditionEditors.Add(new CplVersionConditionEditor(lstVersionNames));
            CPLEditorVM vmlCplEditor = new CPLEditorVM(vmlCplTextEditor, lstConditionEditors, ConditionOperator.And);

            FO3CplConverter       cvtConverter           = new FO3CplConverter(ScriptType.GetCplParserFactory());
            PrerequisitesEditorVM vmlPrerequisitesEditor = new PrerequisitesEditorVM(vmlCplEditor, cvtConverter, p_xscScript);

            return(new ConditionEditor(vmlPrerequisitesEditor));
        }