public boolean matches(String pathInfo) {
   if (path == null) {
     return true;
   }
   if (pathInfo == null || pathInfo.length() == 0) {
     pathInfo = "/";
   }
   return path.matches(pathInfo);
 }
 @Override
 public String toString() {
   StringBuilder buf = new StringBuilder();
   if (id != null) {
     buf.append(id).append("@").append(targetServlet).append(": ");
   }
   String p = path == null ? "/**" : path.toString();
   buf.append(p).append(" ").append(filters);
   return buf.toString();
 }
 public boolean matches(Path pathInfo) {
   if (path == null) {
     return true;
   }
   return path.matches(pathInfo);
 }
 @XNode("@pathInfo")
 public void setPathInfo(String pathInfo) {
   path = PathMatcher.compile(pathInfo);
 }