/** * Creates an immutable copy of a {@link EventMessage} value. * Uses accessors to get values to initialize the new immutable instance. * If an instance is already immutable, it is returned as is. * @param instance The instance to copy * @return A copied immutable EventMessage instance */ public static EventMessage copyOf(EventMessage instance) { if (instance instanceof ImmutableEventMessage) { return (ImmutableEventMessage) instance; } return ImmutableEventMessage.builder() .createFrom(instance) .build(); }
static EventMessage of(String event, Object data) { return ImmutableEventMessage.builder().event(event).data(data).build(); }