code: private void checkACL(String path, int perm) throws KeeperException.NoAuthException {
          DataAndVersion node = _data.get(path);
          if (node == null) {
              return;
          }
          List<ACL> acl = node.getAcl();
          if (acl == null || acl.size() == 0) {
              return;
          }
          for (Id authId : _ids) {
              if (authId.getScheme().equals("super")) {
                  return;
              }
          }
          for (ACL a : acl) {
              Id id = a.getId();
              if ((a.getPerms() & perm) != 0) {
                  if (id.getScheme().equals("world") && id.getId().equals("anyone")) {
                      return;
                  }
                  for (Id authId : _ids) {
                      if (authId.getScheme().equals(id.getScheme()) && authId.getId().equals(id.getId())) {
                          return;
                      }
                  }
              }
          }
          throw new KeeperException.NoAuthException();
      }
docs: *
  
  @param path
  - path of znode we are accessing
  @param perm
  - Privileges required for the action
  @throws KeeperException.NoAuthException