code: public Set<Address> getAddresses(ImmutableMessage message) {
          Set<Address> result = new HashSet<>();
          String toParticipantId = message.getRecipient();
          if (Message.VALUE_MESSAGE_TYPE_MULTICAST.equals(message.getType())) {
              handleMulticastMessage(message, result);
          } else if (toParticipantId != null && routingTable.containsKey(toParticipantId)) {
              Address address = routingTable.get(toParticipantId);
              if (address != null) {
                  result.add(address);
              }
          }
          logger.trace("Found the following addresses for {}: {}", new Object[]{ message, result });
  
          return result;
      }
docs: Get the address to which the passed in message should be sent to.
  This can be an address contained in the {@link RoutingTable}, or a
  multicast address calculated from the header content of the message.
  
  @param message the message for which we want to find an address to send it to.
  @return the address to send the message to. Will not be null, because if an address can't be determined an exception is thrown.
  @throws JoynrMessageNotSentException if no address can be determined / found for the given message.