void AddGroup(int i, string n)
    {
        ISMStateGroup g = new ISMStateGroup(i, n);

        if (GroupDic != null)
        {
            GroupDic.Add(n, g);
        }
    }
    public bool IsGroupInMask(int mask, ISMStateGroup group)
    {
        int bhas = (0x01 << group.Index) & mask;

        if (bhas != 0)
        {
            return(true);
        }
        return(false);
    }