public override IReadOnlyList <PropertyId> GetSupportedProperties()
        {
            this.Automation.NativeAutomation.PollForPotentialSupportedProperties(this.NativeElement, out int[] rawIds, out string[] rawNames);
            var patterns = new List <PropertyId>(rawIds.Length);

            for (var i = 0; i < rawIds.Length; i++)
            {
                var id = rawIds[i];
                if (!PropertyId.TryGet(id, out var propertyId))
                {
                    propertyId = PropertyId.GetOrCreate(id, rawNames[i] + "_NOT_HANDLED");
                }

                patterns.Add(propertyId);
            }

            return(patterns);
        }