code: public IdentifiableMessage<KEY, M, MB> setMessage(final MB builder, final Object source) throws CouldNotPerformException {
          if (builder == null) {
              throw new NotAvailableException("message");
          }
          return setMessage((M) builder.build(), source);
      }
docs: Updates the message of this instance.
  
  @param builder the message builder delivering the new message.
  @param source  the responsible source of the new message.
  
  @return the updated message is returned.
  
  @throws CouldNotPerformException in thrown in case something went wrong during message processing.