@Override
    public void eventFired(EventModel event) {
        if (event.containsDescriptor(LeavingEvent.ID) || event.containsDescriptor(PresenceEvent.ID)) {
            if (event.containsDescriptor(LeavingEvent.ID)) {
                if (event.containsDescriptor(LeavingEvent.GENERAL_DESCRIPTOR)) {
                    present = false;
                    strictPresent = false;
                } else if (event.containsDescriptor(LeavingEvent.STRICT_DESCRIPTOR)) {
                    nonStrictAvailable().thenAccept(available -> {
                        if (!available)
                            present = false;
                        strictPresent = false;
                    });
                }
            } else {
                present = true;
                if (event.containsDescriptor(PresenceEvent.STRICT_DESCRIPTOR))
                    strictPresent = true;
            }
            if (event.containsDescriptor(PresenceEvent.STRICT_DESCRIPTOR))
                lastSeen = LocalDateTime.now();
        }
    }
@Override
    public void eventFired(EventModel event) {
        if (event.containsDescriptor(LeavingEvent.ID) || event.containsDescriptor(PresenceEvent.ID)) {
            if (event.containsDescriptor(LeavingEvent.ID)) {
                if (event.containsDescriptor(LeavingEvent.GENERAL_DESCRIPTOR)) {
                    present = false;
                    strictPresent = false;
                } else if (event.containsDescriptor(LeavingEvent.STRICT_DESCRIPTOR)) {
                    nonStrictAvailable().thenAccept(available -> {
                        if (!available)
                            present = false;
                        strictPresent = false;
                    });
                }
            } else {
                present = true;
                if (event.containsDescriptor(PresenceEvent.STRICT_DESCRIPTOR))
                    strictPresent = true;
            }
            if (event.containsDescriptor(PresenceEvent.STRICT_DESCRIPTOR))
                lastSeen = LocalDateTime.now();
        }
    }
@ Override public void eventFired ( EventModel event ) { if ( event . containsDescriptor ( LeavingEvent . ID ) || event . containsDescriptor ( PresenceEvent . ID ) ) { if ( event . containsDescriptor ( LeavingEvent . ID ) ) { if ( event . containsDescriptor ( LeavingEvent . GENERAL_DESCRIPTOR ) ) { present = false ; strictPresent = false ; } else if ( event . containsDescriptor ( LeavingEvent . STRICT_DESCRIPTOR ) ) { nonStrictAvailable ( ) . thenAccept ( available -> { if ( ! available ) present = false ; strictPresent = false ; } ) ; } } else { present = true ; if ( event . containsDescriptor ( PresenceEvent . STRICT_DESCRIPTOR ) ) strictPresent = true ; } if ( event . containsDescriptor ( PresenceEvent . STRICT_DESCRIPTOR ) ) lastSeen = LocalDateTime . now ( ) ; } }
Invoked when an activator-event occurs.

@param event an instance of Event
Invoked when an activator - event occurs .