public void Activate(Inventor.ApplicationAddInSite addInSiteObject, bool firstTime)
        {
            log.Debug("Activating ThreadModeler Addin");
            // This method is called by Inventor when it loads the addin.
            // The AddInSiteObject provides access to the Inventor Application object.
            // The FirstTime flag indicates if the addin is loaded for the first time.

            // Initialize AddIn members.
            m_inventorApplication = addInSiteObject.Application;

            Type addinType = this.GetType();

            AdnInventorUtilities.Initialize(m_inventorApplication, addinType);

            Toolkit.Initialize(m_inventorApplication);
            ThreadWorker.Initialize(m_inventorApplication);

            AdnCommand.AddCommand(new ThreadModelerCmd(m_inventorApplication));

            AdnCommand.AddCommand(new AboutCtrlCmd(m_inventorApplication));

            AdnCommand.AddCommand(new HelpCtrlCmd(m_inventorApplication));

            // Only after all commands have been added,
            // load Ribbon UI from customized xml file.
            // Make sure "InternalName" of above commands is matching
            // "internalName" tag described in xml of corresponding command.
            AdnRibbonBuilder.CreateRibbon(
                m_inventorApplication,
                addinType,
                "ThreadModeler.resources.ribbons.xml");
        }