/// <summary>
        /// Compare languages
        /// </summary>
        /// <param name="other">Collection of languages to compare with</param>
        /// <returns>True if the same, false otherwise</returns>
        public bool Equals(SupportedUILanguageCollection other)
        {
            if (other == null)
            {
                return(false);
            }

            return(this.Items.AsEnumerable <SupportedUILanguage>().DeepEquals(other.Items.AsEnumerable <SupportedUILanguage>()));
        }
        /// <summary>
        /// Constructor for ProvisioningTemplate class
        /// </summary>
        public ProvisioningTemplate()
        {
            this.connector = new FileSystemConnector(".", "");

            this._localizations = new LocalizationCollection(this);
            this._siteFields    = new FieldCollection(this);
            this._contentTypes  = new ContentTypeCollection(this);
            this._propertyBags  = new PropertyBagEntryCollection(this);
            this._lists         = new ListInstanceCollection(this);

            this._siteSecurity = new SiteSecurity
            {
                ParentTemplate = this
            };

            this._composedLook = new ComposedLook
            {
                ParentTemplate = this
            };
            this._features = new Features
            {
                ParentTemplate = this
            };
            this._customActions = new CustomActions
            {
                ParentTemplate = this
            };

            this._files                 = new FileCollection(this);
            this._directories           = new DirectoryCollection(this);
            this._providers             = new ProviderCollection(this); // Deprecated
            this._extensibilityHandlers = new ExtensibilityHandlerCollection(this);
            this._pages                 = new PageCollection(this);
            this._termGroups            = new TermGroupCollection(this);

            this._supportedUILanguages = new SupportedUILanguageCollection(this);
            this._addins = new AddInCollection(this);

            this._siteWebhooks    = new SiteWebhookCollection(this);
            this._clientSidePages = new ClientSidePageCollection(this);

            this._tenant = new ProvisioningTenant
            {
                ParentTemplate = this
            };

            this._applicationLifecycleManagement = new ApplicationLifecycleManagement
            {
                ParentTemplate = this
            };

            this._provisioningTemplateWebhooks = new ProvisioningTemplateWebhookCollection(this);
        }