@Test
public void typeBasedMultiplexerTest() {

    new TypeBasedMultiplexer(new JSONObject())
            .ifObject().then(jsonObj -> {
    })
            .ifIs(JSONArray.class).then(jsonArr -> {
    })
            .orElse(obj -> {
            });
    new TypeBasedMultiplexer(new JSONObject())
            .ifObject().then(jsonObj -> {
    })
            .ifIs(JSONArray.class).then(jsonArr -> {
    })
            .requireAny();
}