class ShardedMessageEnvelope implements Jsonifiable<JsonObject>, WithDittoHeaders<ShardedMessageEnvelope>, WithId {

    public static ShardedMessageEnvelope of(final EntityId id,
            final String type,
            final JsonObject message,
            final DittoHeaders dittoHeaders) {

        return new ShardedMessageEnvelope(id, type, message, dittoHeaders);
    }

    private  ShardedMessageEnvelope(final EntityId id,
            final String type,
            final JsonObject message,
            final DittoHeaders dittoHeaders);

}