@Test
public void testParseValue() throws IOException {

    Properties props = new Properties();
    props.setProperty("db.vendor", "mysql");
    props.setProperty("mysql.driver", "foo");
    props.setProperty("oracle.driver", "bar");
    props.setProperty("jdbc.driver", "${${db.vendor}.driver}");
    Param param = new Param();
    param.setSystem(true);
    param.setName("barbaz");
    param.setValue("${bar} plus ${baz} = ${jdbc.driver}");
    JAXBConfigImpl config = new JAXBConfigImpl(props);
    config.setSystemOverride(true);
    config.doSystem(param);
    config.resolveRawToCache();
    String barbaz1 = config.getProperty("barbaz");
    String barbaz2 = config.getRawProperties().getProperty("barbaz");
    String barbaz3 = System.getProperty("barbaz");
    List<String> barbazes = ImmutableList.of(barbaz1, barbaz2, barbaz3);
    logger.info("{}", barbazes);
}