docs: public String create(final String path, byte data[], List<ACL> acl,
              CreateMode createMode) throws KeeperException, InterruptedException {
          verbotenThreadCheck();
          final String clientPath = path;
          PathUtils.validatePath(clientPath, createMode.isSequential());
  
          final String serverPath = prependChroot(clientPath);
  
          RequestHeader h = new RequestHeader();
          h.setType(ZooDefs.OpCode.create);
          CreateRequest request = new CreateRequest();
          CreateResponse response = new CreateResponse();
          request.setData(data);
          request.setFlags(createMode.toFlag());
          request.setPath(serverPath);
          if (acl != null && acl.size() == 0) {
              throw new KeeperException.InvalidACLException();
          }
          request.setAcl(acl);
          ReplyHeader r = cnxn.submitRequest(h, request, response, null);
          if (r.getErr() != 0) {
              throw KeeperException.create(KeeperException.Code.get(r.getErr()),
                      clientPath);
          }
          if (cnxn.chrootPath == null) {
              return response.getPath();
          } else {
              return response.getPath().substring(cnxn.chrootPath.length());
          }
      }