final String info = rawLocation.substring(ProvisioningUtil.MVN_PREFIX.length());
final Parser parser = new Parser(info);
final File file = cacheFile(parser.getArtifactPath());
if (!file.exists() || !file.canRead()) {
try {
final URL url = new URL(ProvisioningUtil.MVN_PREFIX.substring(ProvisioningUtil.MVN_PREFIX.length() - 1), "localhost", -1, info, new Handler());
final File parentFile = file.getParentFile();
if (!parentFile.exists()) {
if (!parentFile.mkdirs()) {
throw new Exception("Failed to create: " + parentFile);
}