public Map<String, String> getPropertiesWithPrefix(String prefix) {
    return getPropertiesWithPrefix(prefix, false);
  }
@Test
  public void testGetPropertiesWithFullyQualifiedName() {
    ConfigurationProperties configurationProperties =
        new ConfigurationProperties(PROPERTIES);

    Map<String, String> props = configurationProperties
        .getPropertiesWithPrefix("root.1.2", true);

    Assert.assertEquals(4, props.size());
    Assert.assertTrue(props.containsKey("root.1.2.3"));
    Assert.assertEquals("TEST_VALUE_1", props.get("root.1.2.3"));
    Assert.assertTrue(props.containsKey("root.1.2"));
    Assert.assertEquals("TEST_VALUE_3", props.get("root.1.2"));
    Assert.assertTrue(props.containsKey("root.1.2.4.5"));
    Assert.assertEquals("TEST_VALUE_3_2", props.get("root.1.2.4.5"));
    Assert.assertTrue(props.containsKey("root.1.2.4"));
    Assert.assertEquals("TEST_VALUE_3_1", props.get("root.1.2.4"));
  }