code: public void addPermissions(String rawData) throws RepositoryException
     {
        StringTokenizer listTokenizer = new StringTokenizer(rawData, AccessControlList.DELIMITER);
        if (listTokenizer.countTokens() < 1)
           throw new RepositoryException("AccessControlList " + rawData + " is empty or have a bad format");
  
        while (listTokenizer.hasMoreTokens())
        {
           String entry = listTokenizer.nextToken();
           try
           {
              accessList.add(AccessControlEntry.parse(entry));
           }
           catch (IllegalArgumentException e)
           {
              throw new RepositoryException("AccessControlEntry " + entry + " is empty or have a bad format", e);
           }
        }
     }
docs: Adds permissions
  @param rawData A semicolon separated string representing the list of permission entries to add,
  knowing that the syntax of a permission entry is ${identity} [read|add_node|set_property|remove]