ApplicativeAlgorithmsPageCS.TranslateTreePropPage.GetSavedAlgo C# (CSharp) Method

GetSavedAlgo() private method

private GetSavedAlgo ( ) : TranslateTree
return TranslateTree
        private TranslateTree GetSavedAlgo()
        {
            TranslateTree myAlgo = FindOurAlgo();
            if (myAlgo == null)
                return null;

            ISchematicDiagramClassName diagramClassName = myAlgo.SchematicDiagramClassName;
            IName pName = diagramClassName as IName;
            if (pName == null)
                return null;

            object unk = pName.Open();
            ISchematicDiagramClass diagramClass = unk as ISchematicDiagramClass;
            if (diagramClass == null)
                return null;

            // get the default algorithms for this diagram class
            IEnumSchematicAlgorithm enumAlgorithms = diagramClass.SchematicAlgorithms;
            if (enumAlgorithms == null)
                return null;

            TranslateTree savedAlgo = null;

            enumAlgorithms.Reset();
            ISchematicAlgorithm algorithm;
            while ((algorithm = enumAlgorithms.Next()) != null)
            {
                    savedAlgo = algorithm as TranslateTree;

                if (savedAlgo != null)
                    break;
            }

            return savedAlgo;
        }