protected async override void OnAction(Microsoft.ManagementConsole.Action action, AsyncStatus status)

        {
            base.OnAction(action, status);

            switch ((int)action.Tag)

            {
            case ACTION_LOGIN:

                await DoLogin();

                break;

            case ACTION_SCHEMACOMPARE:

                var frm = new SchemaMetadataComparisionWindow(this);

                SnapIn.Console.ShowDialog(frm);

                break;

            case ACTION_LOGOUT:

                Logout();

                break;
            }
        }
        protected async override void OnAction(Microsoft.ManagementConsole.Action action, AsyncStatus status)

        {
            base.OnAction(action, status);

            switch ((int)action.Tag)

            {
            case ACTION_LOGIN:

                await DoLogin();

                if (IsLoggedIn)

                {
                    this.ActionsPaneItems.Remove(LoginAction);

                    // this.ActionsPaneItems.Add(new Microsoft.ManagementConsole.Action(VMDirSchemaConstants.COMPARE_SCHEMA, VMDirSchemaConstants.COMPARE_SCHEMA, -1, ACTION_SCHEMACOMPARE));

                    AddLogoutActions();

                    PopulateChildren();
                }

                break;

            case ACTION_SCHEMACOMPARE:

                var frm = new SchemaMetadataComparisionWindow(this);

                SnapIn.Console.ShowDialog(frm);

                break;

            case ACTION_LOGOUT:

                Logout();

                break;
            }
        }