/******************************************************************************************************************* * * * ******************************************************************************************************************/ public synchronized void registerDeliveringMessage (final @Nonnull Object message) { log.trace("registerDeliveringMessage({})", message); if (message.getClass().getAnnotation(Message.class).daemon()) { deliveringMessages.add(message); // Do this *after* enlisting message in deliveringMessages if (!collaborationStartedMessageSent && ! (message instanceof CollaborationStartedMessage)) { CollaborationStartedMessage.forCollaboration(this).send(); collaborationStartedMessageSent = true; } notifyAll(); log(); } }