code: private boolean _create(String path, byte[] data, CreateMode createMode)
              throws ZooKeeperException {
          if (data == null) {
              data = ArrayUtils.EMPTY_BYTE_ARRAY;
          }
          try {
              curatorFramework.create().creatingParentsIfNeeded().withMode(createMode)
                      .forPath(path, data);
              _invalidateCache(path);
              return true;
          } catch (InterruptedException e) {
              return false;
          } catch (KeeperException.NodeExistsException e) {
              return false;
          } catch (KeeperException.ConnectionLossException e) {
              throw new ZooKeeperException.ClientDisconnectedException();
          } catch (Exception e) {
              if (e instanceof ZooKeeperException) {
                  throw (ZooKeeperException) e;
              } else {
                  throw new ZooKeeperException(e);
              }
          }
      }
docs: Creates a new node, with initial data.
  
  @param path
  @param data
  @param createMode
  @return
  @throws ZooKeeperException