public override bool Equals(object obj)
        {
            if (Object.ReferenceEquals(obj, this))
            {
                return(true);
            }
            if (!(obj is TypePropertyPrivilegeOfService))
            {
                return(false);
            }
            TypePropertyPrivilegeOfService other = (TypePropertyPrivilegeOfService)obj;
            int index      = TypePropertyPrivilegeImpl.CalcIndex(create, read, update, delete);
            int otherIndex = TypePropertyPrivilegeImpl.CalcIndex(other.create, other.read, other.update, other.delete);

            return(index == otherIndex);
        }
        private static void Put(bool?create, bool?read, bool?update, bool?delete)
        {
            int index = ToBitValue(create, 0) + ToBitValue(read, 2) + ToBitValue(update, 4) + ToBitValue(delete, 6);

            array[index] = new TypePropertyPrivilegeOfService(create, read, update, delete);
        }