public static String matchPath(String spec, String path) { String togo = ""; while (true) { if (spec == null || spec.equals("")) break; if (path == null || path.equals("")) return null; String spechead = PathUtil.getHeadPath(spec); String pathhead = PathUtil.getHeadPath(path); // if we fail to match on a specific component, fail. if (!(spechead.equals("*") || spechead.equals(pathhead))) return null; togo = PathUtil.composePath(togo, pathhead); spec = PathUtil.getFromHeadPath(spec); path = PathUtil.getFromHeadPath(path); } return togo; }