public ClientReceivingSubscription(
				final boolean isLocal,
				final long applicationId, final long userId, final boolean drain, final boolean delayed, final boolean delta, final int state, final int conState) {
			_local = isLocal;
			_applicationId = applicationId;
			_userId = userId;
			_drain = drain;
			_delayed = delayed;
			_delta = delta;
			if(applicationId == 0){
				_application = _connection.getDataModel().getConfigurationAuthority();
				_user = _connection.getDataModel().getConfigurationAuthority();
			}
			else{
				_application = _connection.getDataModel().getObject(applicationId);
				_user = _connection.getDataModel().getObject(userId);
			}
			switch(state) {
				case 1:
					_state = SubscriptionState.NoSendersAvailable;
					break;
				case 2:
					_state = SubscriptionState.SendersAvailable;
					break;
				case 3:
					_state = SubscriptionState.Waiting;
					break;
				case 4:
					_state = SubscriptionState.NotAllowed;
					break;
				case 6:
					_state = SubscriptionState.NotResponsible;
					break;
				case 7:
					_state = SubscriptionState.MultiRemoteLock;
					break;
				default:
					_state = SubscriptionState.InvalidSubscription;
			}
			_connectionState = ClientConnectionState.values()[conState];
		}