/// <summary>
        /// Creates a file node for a project element.
        /// </summary>
        /// <param name="element">The project element.</param>
        /// <returns>An instance of the <see cref="DependentFileNode"/> class.</returns>
        public override DependentFileNode CreateDependentFileNode(ProjectElement element)
        {
            if (element == null)
            {
                throw new ArgumentNullException("element");
            }

            string subType = element.GetMetadata(ProjectFileConstants.SubType);

            if (subType == MultiverseInterfaceSubType.Code)
            {
                DependentFileNode node = new MultiverseInterfaceIronPythonDependentFileNode(this, element);

                IPythonLanguageService languageService = (IPythonLanguageService)this.GetService(typeof(IPythonLanguageService));

                // Make sure the language service is available
                if (languageService != null)
                {
                    languageService.AddPythonFile(node.GetMkDocument());
                }

                return(node);
            }

            return(base.CreateDependentFileNode(element));
        }
        /// <summary>
        /// Creates a file node for a project element.
        /// </summary>
        /// <param name="element">The project element.</param>
        /// <returns>An instance of the <see cref="DependentFileNode"/> class.</returns>
        public override DependentFileNode CreateDependentFileNode(ProjectElement element)
        {
            if (element == null)
                throw new ArgumentNullException("element");

            string subType = element.GetMetadata(ProjectFileConstants.SubType);

            if (subType == MultiverseInterfaceSubType.Code)
            {
                DependentFileNode node = new MultiverseInterfaceIronPythonDependentFileNode(this, element);

                IPythonLanguageService languageService = (IPythonLanguageService)this.GetService(typeof(IPythonLanguageService));

                // Make sure the language service is available
                if (languageService != null)
                    languageService.AddPythonFile(node.GetMkDocument());

                return node;
            }

            return base.CreateDependentFileNode(element);
        }