public static Config fromMap(Map<String, ?> map) {
        return fromMap("Map@" + System.identityHashCode(map), map);
    }
@Test
    void testFromMap() {
        var config = MapConfigFactory.fromMap(Map.of(
            "field1", "value1",
            "field2", 2,
            "field3", List.of(1, "2"),
            "field4", Map.of(
                "f1", 1
            )
        ));

        assertThat(config.get(ConfigValuePath.root().child("field1")))
            .isInstanceOf(ConfigValue.StringValue.class)
            .hasFieldOrPropertyWithValue("value", "value1");
        assertThat(config.get(ConfigValuePath.root().child("field2")))
            .isInstanceOf(ConfigValue.NumberValue.class)
            .hasFieldOrPropertyWithValue("value", 2);

        assertThat(config.get(ConfigValuePath.root().child("field3")))
            .isInstanceOf(ConfigValue.ArrayValue.class);
        assertThat(config.get(ConfigValuePath.root().child("field3").child(0)))
            .isInstanceOf(ConfigValue.NumberValue.class)
            .hasFieldOrPropertyWithValue("value", 1);
        assertThat(config.get(ConfigValuePath.root().child("field3").child(1)))
            .isInstanceOf(ConfigValue.StringValue.class)
            .hasFieldOrPropertyWithValue("value", "2");

        assertThat(config.get(ConfigValuePath.root().child("field4")))
            .isInstanceOf(ConfigValue.ObjectValue.class);
        assertThat(config.get(ConfigValuePath.root().child("field4").child("f1")))
            .isInstanceOf(ConfigValue.NumberValue.class)
            .hasFieldOrPropertyWithValue("value", 1);
    }