private Set<DeviceType> newForbiddenDeviceTypesFromStrategy(
            SimultaneousLoginStrategy strategy) {
        Set<DeviceType> newForbiddenDeviceTypes = EnumSet.noneOf(DeviceType.class);
        switch (strategy) {
            case ALLOW_ONE_DEVICE_OF_DESKTOP_AND_ONE_DEVICE_OF_MOBILE_ONLINE,
                    ALLOW_ONE_DEVICE_OF_DESKTOP_OR_MOBILE_ONLINE ->
                newForbiddenDeviceTypes.add(DeviceType.BROWSER);
            case ALLOW_ONE_DEVICE_OF_EACH_DEVICE_TYPE_ONLINE,
                    ALLOW_ONE_DEVICE_FOR_ALL_DEVICE_TYPES_ONLINE,
                    ALLOW_ONE_DEVICE_OF_DESKTOP_OR_BROWSER_AND_ONE_DEVICE_OF_MOBILE_ONLINE,
                    ALLOW_ONE_DEVICE_OF_DESKTOP_AND_ONE_DEVICE_OF_BROWSER_AND_ONE_DEVICE_OF_MOBILE_ONLINE,
                    ALLOW_ONE_DEVICE_OF_DESKTOP_OR_BROWSER_OR_MOBILE_ONLINE ->
                {
                }
            default -> throw new IncompatibleInternalChangeException(
                    "Unexpected simultaneous login strategy: "
                            + strategy);
        }
        if (!allowDeviceTypeUnknownLogin) {
            newForbiddenDeviceTypes.add(DeviceType.UNKNOWN);
        }
        if (!allowDeviceTypeOthersLogin) {
            newForbiddenDeviceTypes.add(DeviceType.OTHERS);
        }
        return newForbiddenDeviceTypes;
    }
Forbidden device types can never connect to turms servers
turms-gateway/src/main/java/im/turms/gateway/domain/session/service/UserSimultaneousLoginService.java