public static FileCache foruser() {
	try {
	    String path = System.getProperty("user.home", null);
	    if(path == null)
		return(null);
	    File home = new File(path);
	    if(!home.exists() || !home.isDirectory() || !home.canRead() || !home.canWrite())
		return(null);
	    File base = new File(new File(home, ".haven"), "cache");
	    if(!base.exists() && !base.mkdirs())
		return(null);
	    return(new FileCache(base));
	} catch(SecurityException e) {
	    return(null);
	}
    }