/**
  * Attempt to resolve the xd.home placeholder and take care of corner cases where the user may
  * have provided a trailing slash, etc.
  */
 private static String resolveXDHome() {
   Assert.state(
       CommandLinePropertySourceOverridingListener.getCurrentEnvironment() != null,
       "Expected to be called in the control flow of "
           + CommandLinePropertySourceOverridingListener.class.getSimpleName()
           + ".onApplicationEvent()");
   // TODO: I'm not sure if this works. compare to resolveMessageBusPath() above
   String resolved =
       CommandLinePropertySourceOverridingListener.getCurrentEnvironment()
           .resolvePlaceholders("${xd.home:.}/lib/*");
   resolved = StringUtils.cleanPath(resolved).replace("//", "/");
   return "file:" + resolved;
 }
 private static String resolveMessageBusPath() {
   String xdHome =
       CommandLinePropertySourceOverridingListener.getCurrentEnvironment()
           .resolvePlaceholders("${XD_HOME}");
   return "file:" + xdHome.replaceAll("\\\\", "/") + "/lib/messagebus/*";
 }