// TODO: formatting for "negative" permissions
  private PathPermissions createPathPermissions(final Element field) {
    PathPermissions p = new PathPermissions();

    for (Object value : field.getChildren(VALUE)) {
      if (value instanceof Element) {
        String s = ((Element) value).getText();
        if (0 == s.length()) {
          throw new IllegalArgumentException("empty '" + VALUE + "' text");
        }
        p.isPermitted(s);
      }
    }

    return p;
  }
 private void addPermittedPaths(final Element field, final PathPermissions p) {
   for (String path : p.getPositiveRules()) {
     Element value = new Element(VALUE);
     value.setText(path);
     field.addContent(value);
   }
 }
 private void addPermittedPaths(final FormField field, final PathPermissions p) {
   for (String path : p.getPositiveRules()) {
     field.addValue(path);
   }
 }