static void FindMetersByTemplate(AFDatabase database, string templateName)
        {
            Console.WriteLine("Find Meters by Template: {0}", templateName);

            AFElementSearch elementquery = new AFElementSearch(database, "TemplateSearch", string.Format("template:\"{0}\"", templateName));
            AFElementSearch templatefilter = new AFElementSearch(database, "DerivedTemplates", "templateName:\"MeterAdvanced\"");
            int countderived = 0;
            foreach (AFElement element in elementquery.FindElements())
            {
                Console.WriteLine("Element: {0}, Template: {1}", element.Name, element.Template.Name);
                if (templatefilter.IsMatch(element))
                    countderived++;
            }

            Console.WriteLine("   Found {0} derived templates", countderived);

            Console.WriteLine();
        }
        static void FindMetersByTemplate(AFDatabase database, string templateName)
        {
            Console.WriteLine("Find Meters by Template: {0}", templateName);

            AFElementSearch elementquery   = new AFElementSearch(database, "TemplateSearch", string.Format("template:\"{0}\"", templateName));
            AFElementSearch templatefilter = new AFElementSearch(database, "DerivedTemplates", "templateName:\"MeterAdvanced\"");
            int             countderived   = 0;

            foreach (AFElement element in elementquery.FindElements())
            {
                Console.WriteLine("Element: {0}, Template: {1}", element.Name, element.Template.Name);
                if (templatefilter.IsMatch(element))
                {
                    countderived++;
                }
            }

            Console.WriteLine("   Found {0} derived templates", countderived);

            Console.WriteLine();
        }