This class contains functions for dealing with nested families within a Revit family document.
        public Result Execute(
            ExternalCommandData commandData,
            ref string message,
            ElementSet elements)
        {
            UIApplication app = commandData.Application;
            Document      doc = app.ActiveUIDocument.Document;

            string familyFilenameFilter = string.Empty;
            string typeNameFilter       = string.Empty;
            bool   caseSensitive        = false;

            IEnumerable <Family> nestedFamilies
                = NestedFamilyFunctions.GetFilteredNestedFamilyDefinitions(
                      familyFilenameFilter, doc, caseSensitive);

            foreach (Family f in nestedFamilies)
            {
                Debug.WriteLine(f.Name);
            }

            List <FamilyInstance> instances
                = NestedFamilyFunctions.GetFilteredNestedFamilyInstances(
                      familyFilenameFilter, typeNameFilter, doc, caseSensitive);

            foreach (FamilyInstance fi in instances)
            {
                Debug.WriteLine(Util.ElementDescription(fi));
            }

            return(Result.Failed);
        }