Object (JsonReaderEx reader) { return switch (reader.peek()) { case BEGIN_ARRAY -> nextList(reader); case BEGIN_OBJECT -> { reader.beginObject(); yield nextObject(reader); } case STRING -> reader.nextString(); case NUMBER -> reader.nextDouble(); case BOOLEAN -> reader.nextBoolean(); case NULL -> { reader.nextNull(); yield null; } default -> throw new IllegalStateException(); }; }