code: public static Client create(final Display display,
                                  final int fd) {
          return Client.get(WaylandServerCore.INSTANCE()
                                             .wl_client_create(display.pointer,
                                                               fd));
      }
docs: Create a client for the given file descriptor
  <p/>
  Given a file descriptor corresponding to one end of a socket, this
  function will create a {@link Client} and add the new client to
  the compositors client list.  At that point, the client is
  initialized and ready to run, as if the client had connected to the
  servers listening socket.  When the client eventually sends
  requests to the compositor, the {@link Client} argument to the request
  handler will be the client returned from this function.
  <p/>
  The other end of the socket can be passed to
  {@link WlDisplayProxy#connectToFd(int)} on the client side or used with the
  WAYLAND_SOCKET environment variable on the client side.
  <p/>
  On failure this function sets errno accordingly and returns NULL.
  
  @param display The display object
  @param fd      The file descriptor for the socket to the client
  
  @return The new client object or NULL on failure.