private PermissionEntry parsePermissionEntry() throws ParsingException, IOException, PropertyExpander.ExpandException {
  PermissionEntry e=new PermissionEntry();
  match("Permission");
  e.permission=match("permission type");
  if (peek("\"")) {
    e.name=expand(match("quoted string"));
  }
  if (!peek(",")) {
    return e;
  }
  match(",");
  if (peek("\"")) {
    e.action=expand(match("quoted string"));
    if (!peek(",")) {
      return e;
    }
    match(",");
  }
  if (peekAndMatch("SignedBy")) {
    e.signedBy=expand(match("quoted string"));
  }
  return e;
}

private PermissionEntry parsePermissionEntry ( ) throws ParsingException , IOException , PropertyExpander . ExpandException { PermissionEntry e = new PermissionEntry ( ) ; match ( "Permission" ) ; e . permission = match ( "permission type" ) ; if ( peek ( "\"" ) ) { e . name = expand ( match ( "quoted string" ) ) ; } if ( ! peek ( "," ) ) { return e ; } match ( "," ) ; if ( peek ( "\"" ) ) { e . action = expand ( match ( "quoted string" ) ) ; if ( ! peek ( "," ) ) { return e ; } match ( "," ) ; } if ( peekAndMatch ( "SignedBy" ) ) { e . signedBy = expand ( match ( "quoted string" ) ) ; } return e ; }
parse a permission entry
