+ String root = getstoreroot();
+ int p = root.indexOf(':');
+ if(p < 0)
+ throw(new RuntimeException("Invalid store specification: " + root));
+ String kind = root.substring(0, p);
+ root = root.substring(p + 1);
+ Factory fac;
+ synchronized(kinds) {
+ fac = kinds.get(kind);
+ if(fac == null)
+ throw(new RuntimeException("No such store kind: " + kind));
+ }
+ s = fac.create(root, pkg);