public AssemblyExplorerAppSettingsPage(DocumentTreeViewSettingsImpl documentTreeViewSettings)
        {
            if (documentTreeViewSettings == null)
            {
                throw new ArgumentNullException(nameof(documentTreeViewSettings));
            }
            this.documentTreeViewSettings = documentTreeViewSettings;

            ShowToken                          = documentTreeViewSettings.ShowToken;
            ShowAssemblyVersion                = documentTreeViewSettings.ShowAssemblyVersion;
            ShowAssemblyPublicKeyToken         = documentTreeViewSettings.ShowAssemblyPublicKeyToken;
            SingleClickExpandsTreeViewChildren = documentTreeViewSettings.SingleClickExpandsTreeViewChildren;
            SyntaxHighlight                    = documentTreeViewSettings.SyntaxHighlight;

            var filterObjs = typeof(DocumentFilterType).GetEnumValues().Cast <DocumentFilterType>().ToArray();

            DocumentFilterTypes = new DocumentFilterTypeVM[filterObjs.Length];
            for (int i = 0; i < filterObjs.Length; i++)
            {
                DocumentFilterTypes[i] = new DocumentFilterTypeVM(filterObjs[i], ToString(filterObjs[i]));
            }

            FilterDraggedItems = DocumentFilterTypes.First(a => a.FilterType == documentTreeViewSettings.FilterDraggedItems);

            var defObjs = typeof(MemberKind).GetEnumValues().Cast <MemberKind>().ToArray();

            memberKindVMs = new MemberKindVM[defObjs.Length];
            for (int i = 0; i < defObjs.Length; i++)
            {
                memberKindVMs[i] = new MemberKindVM(defObjs[i], ToString(defObjs[i]));
            }
            memberKindVMs2 = memberKindVMs.ToArray();

            MemberKind0 = memberKindVMs.First(a => a.Object == documentTreeViewSettings.MemberKind0);
            MemberKind1 = memberKindVMs.First(a => a.Object == documentTreeViewSettings.MemberKind1);
            MemberKind2 = memberKindVMs.First(a => a.Object == documentTreeViewSettings.MemberKind2);
            MemberKind3 = memberKindVMs.First(a => a.Object == documentTreeViewSettings.MemberKind3);
            MemberKind4 = memberKindVMs.First(a => a.Object == documentTreeViewSettings.MemberKind4);
        }
		public AssemblyExplorerAppSettingsPage(DocumentTreeViewSettingsImpl documentTreeViewSettings) {
			if (documentTreeViewSettings == null)
				throw new ArgumentNullException(nameof(documentTreeViewSettings));
			this.documentTreeViewSettings = documentTreeViewSettings;

			ShowToken = documentTreeViewSettings.ShowToken;
			ShowAssemblyVersion = documentTreeViewSettings.ShowAssemblyVersion;
			ShowAssemblyPublicKeyToken = documentTreeViewSettings.ShowAssemblyPublicKeyToken;
			SingleClickExpandsTreeViewChildren = documentTreeViewSettings.SingleClickExpandsTreeViewChildren;
			SyntaxHighlight = documentTreeViewSettings.SyntaxHighlight;

			var filterObjs = typeof(DocumentFilterType).GetEnumValues().Cast<DocumentFilterType>().ToArray();
			DocumentFilterTypes = new DocumentFilterTypeVM[filterObjs.Length];
			for (int i = 0; i < filterObjs.Length; i++)
				DocumentFilterTypes[i] = new DocumentFilterTypeVM(filterObjs[i], ToString(filterObjs[i]));

			FilterDraggedItems = DocumentFilterTypes.First(a => a.FilterType == documentTreeViewSettings.FilterDraggedItems);

			var defObjs = typeof(MemberKind).GetEnumValues().Cast<MemberKind>().ToArray();
			memberKindVMs = new MemberKindVM[defObjs.Length];
			for (int i = 0; i < defObjs.Length; i++)
				memberKindVMs[i] = new MemberKindVM(defObjs[i], ToString(defObjs[i]));
			memberKindVMs2 = memberKindVMs.ToArray();

			MemberKind0 = memberKindVMs.First(a => a.Object == documentTreeViewSettings.MemberKind0);
			MemberKind1 = memberKindVMs.First(a => a.Object == documentTreeViewSettings.MemberKind1);
			MemberKind2 = memberKindVMs.First(a => a.Object == documentTreeViewSettings.MemberKind2);
			MemberKind3 = memberKindVMs.First(a => a.Object == documentTreeViewSettings.MemberKind3);
			MemberKind4 = memberKindVMs.First(a => a.Object == documentTreeViewSettings.MemberKind4);
		}