public PrefixedConfiguration(Configuration origin, String prefix) {
        this.origin = origin;
        this.prefix = prefix;
    }
@Test
    void testPrefixedConfiguration() {
        Map<String, String> props = new LinkedHashMap<>();
        props.put("dubbo.protocol.name", "dubbo");
        props.put("dubbo.protocol.port", "1234");
        props.put("dubbo.protocols.rest.port", "2345");
        InmemoryConfiguration inmemoryConfiguration = new InmemoryConfiguration();
        inmemoryConfiguration.addProperties(props);

        // prefixed over InmemoryConfiguration
        PrefixedConfiguration prefixedConfiguration =
                new PrefixedConfiguration(inmemoryConfiguration, "dubbo.protocol");
        Assertions.assertEquals("dubbo", prefixedConfiguration.getProperty("name"));
        Assertions.assertEquals("1234", prefixedConfiguration.getProperty("port"));

        prefixedConfiguration = new PrefixedConfiguration(inmemoryConfiguration, "dubbo.protocols.rest");
        Assertions.assertEquals("2345", prefixedConfiguration.getProperty("port"));

        // prefixed over composite configuration
        CompositeConfiguration compositeConfiguration = new CompositeConfiguration();
        compositeConfiguration.addConfiguration(inmemoryConfiguration);
        prefixedConfiguration = new PrefixedConfiguration(compositeConfiguration, "dubbo.protocols.rest");
        Assertions.assertEquals("2345", prefixedConfiguration.getProperty("port"));
    }