@Contract("null -> null; !null -> !null")
  private static @Nullable List<Object> valueToList(@Nullable Object rootValue) {
    //noinspection unchecked
    return rootValue == null || rootValue instanceof List<?> ? (List<Object>)rootValue : new SmartList<>(rootValue);
  }
@Contract("null -> null; !null -> !null")
  private static @Nullable List<Object> valueToList(@Nullable Object rootValue)