internal override ProjectElement LoadChildElement(string name)
        {
            switch (name)
            {
            case "Otherwise":
                var other = ContainingProject.CreateOtherwiseElement();
                AppendChild(other);
                return(other);

            case "When":
                var when = ContainingProject.CreateWhenElement(null);
                PrependChild(when);
                return(when);

            default:
                throw new InvalidProjectFileException(string.Format(
                                                          "Child \"{0}\" is not a known node type.", name));
            }
        }