public PopInitInstructionFactory(string filename)
        {
            if (string.IsNullOrEmpty(filename))
            {
                mCurrentInstruction = LoadDefaultInstruction();
            }
            else
            {
                mFilename = filename;
                XmlDocument doc = new XmlDocument();
                doc.Load(mFilename);
                XmlElement doc_root          = doc.DocumentElement;
                string     selected_strategy = doc_root.Attributes["strategy"].Value;
                foreach (XmlElement xml_level1 in doc_root.ChildNodes)
                {
                    if (xml_level1.Name == "strategy")
                    {
                        string attrname = xml_level1.Attributes["name"].Value;
                        if (attrname == selected_strategy)
                        {
                            mCurrentInstruction = LoadInstructionFromXml(selected_strategy, xml_level1);
                        }
                    }
                }

                if (mCurrentInstruction == null)
                {
                    mCurrentInstruction = LoadDefaultInstruction();
                }
            }
        }
 public PopInitInstructionFactory()
 {
     mCurrentInstruction = LoadDefaultInstruction();
 }