private static IEnumerable <string[]> GetLabelValues <TChild>(Collector <TChild> collector)
            where TChild : ChildBase
        {
            var labelValues = collector.CallMethod("GetAllLabels", Flags.NonPublic | Flags.Instance) as object[];

            return(labelValues
                   .Select(x => x.GetFieldValue("Values") as string[])
                   // empty case is contained in the label values, need to exclude it
                   .Where(x => x.Length != 0));
        }