/** * Returns a mutable builder with a fluent API for building an immutable {@link Message}. * * @param messageHeaders the headers of the message to be built. * @param <T> the type of the Message's payload. * @return the new builder. * @throws NullPointerException if {@code messageHeaders} is {@code null}. * @see #newHeadersBuilder(MessageDirection, CharSequence, CharSequence) */ public static <T> MessageBuilder<T> newMessageBuilder(final MessageHeaders messageHeaders) { return ImmutableMessageBuilder.newInstance(messageHeaders); }
/** * Returns a new instance of {@code ImmutableMessageBuilder}. * * @param messageHeaders the headers of the message to be built. * @param <T> the type of the payload of the Messages this builder builds. * @return the new builder. * @throws NullPointerException if {@code messageHeaders} is {@code null}. */ static <T> MessageBuilder<T> newInstance(final MessageHeaders messageHeaders) { return new ImmutableMessageBuilder<>(checkNotNull(messageHeaders, "message headers")); }