EscSpiUtils { public static JsonbDeserializer<?>[] joinJsonbDeserializerArrays(final JsonbDeserializer<?>[]... deserializerArrays) { final List<JsonbDeserializer<?>> all = joinArrays(deserializerArrays); return all.toArray(new JsonbDeserializer<?>[all.size()]); } private  EscSpiUtils(); @Nullable static SerializedData serialize(@NotNull final SerializerRegistry registry, @NotNull final SerializedDataType type,
            @Nullable final Object data); @NotNull static T deserialize(@NotNull final DeserializerRegistry registry, @NotNull final SerializedData data); static EnhancedMimeType mimeType(@NotNull final SerializerRegistry registry, @NotNull final List<CommonEvent> commonEvents); static List<T> asList(final T[] array); static boolean eventsEqual(@Nullable final List<CommonEvent> eventsA, @Nullable final List<CommonEvent> eventsB); static EscMeta createEscMeta(@NotNull final SerializerRegistry registry, @NotNull final EnhancedMimeType targetContentType,
            @Nullable final CommonEvent commonEvent); static String nodeToString(final Node node); static JsonbSerializer<?>[] createEscJsonbSerializers(); static JsonbSerializer<?>[] joinJsonbSerializers(final JsonbSerializer<?>[] serializersA,
            final JsonbSerializer<?>... serializersB); static JsonbSerializer<?>[] joinJsonbSerializerArrays(final JsonbSerializer<?>[]... serializerArrays); static JsonbDeserializer<?>[] createEscJsonbDeserializers(); static JsonbDeserializer<?>[] joinJsonbDeserializers(final JsonbDeserializer<?>[] deserializersA,
            final JsonbDeserializer<?>... deserializersB); static JsonbDeserializer<?>[] joinJsonbDeserializerArrays(final JsonbDeserializer<?>[]... deserializerArrays);  }
@Test public void testJoinJsonbDeserializerArrays() { final JsonbDeserializer<Object> a = new JsonbDeserializer<Object>() { @Override public Object deserialize(final JsonParser parser, final DeserializationContext ctx, final Type rtType) { return null; } }; final JsonbDeserializer<Object> b = new JsonbDeserializer<Object>() { @Override public Object deserialize(final JsonParser parser, final DeserializationContext ctx, final Type rtType) { return null; } }; final JsonbDeserializer<Object> c = new JsonbDeserializer<Object>() { @Override public Object deserialize(final JsonParser parser, final DeserializationContext ctx, final Type rtType) { return null; } }; final JsonbDeserializer<Object> d = new JsonbDeserializer<Object>() { @Override public Object deserialize(final JsonParser parser, final DeserializationContext ctx, final Type rtType) { return null; } }; assertThat(EscSpiUtils.joinJsonbDeserializerArrays(new JsonbDeserializer<?>[] {})).isEmpty();; assertThat(EscSpiUtils.joinJsonbDeserializerArrays(new JsonbDeserializer<?>[] {}, new JsonbDeserializer<?>[] {a})).containsExactly(a); assertThat(EscSpiUtils.joinJsonbDeserializerArrays(new JsonbDeserializer<?>[] {a}, new JsonbDeserializer<?>[] {b})).contains(a, b); assertThat(EscSpiUtils.joinJsonbDeserializerArrays(new JsonbDeserializer<?>[] {a, b}, new JsonbDeserializer<?>[] {c})).contains(a, b, c); assertThat(EscSpiUtils.joinJsonbDeserializerArrays(new JsonbDeserializer<?>[] {a, b}, new JsonbDeserializer<?>[] {c, d})).contains(a, b, c, d); assertThat(EscSpiUtils.joinJsonbDeserializerArrays(new JsonbDeserializer<?>[] {a}, new JsonbDeserializer<?>[] {b}, new JsonbDeserializer<?>[] {c})).contains(a, b, c); }