code: private CompletionStage<Void> emitMembershipUpdateEvent() {
          final IRI membershipResource = parent.getMembershipResource().map(MutatingLdpHandler::removeHashFragment)
              .orElse(null);
          if (membershipResource != null) {
              return allOf(getServices().getResourceService().touch(membershipResource).toCompletableFuture(),
                  getServices().getResourceService().get(membershipResource).thenAccept(res -> {
                      if (res.getIdentifier() != null) {
                          getServices().getEventService().emit(new SimpleEvent(getUrl(res.getIdentifier()),
                                      getSession().getAgent(), asList(PROV.Activity, AS.Update),
                                      asList(res.getInteractionModel())));
                      }
                  }).toCompletableFuture());
          }
          return completedFuture(null);
      }
docs: /*
  Emit update events for the membership resource, if it exists.