code: public void postEvent(final int opcode,
                            final Arguments args) {
          WaylandServerCore.INSTANCE()
                           .wl_resource_post_event_array(this.pointer,
                                                         opcode,
                                                         args.pointer.address);
          args.pointer.close();
      }
docs: Post an event to the client's object referred to by 'resource'.
  'opcode' is the event number generated from the protocol XML
  description (the event name). The variable arguments are the event
  parameters, in the order they appear in the protocol XML specification.
  <p/>
  The variable arguments' types are:
  <ul>
  <li>type=uint: uint32_t</li>
  <li>type=int: int32_t</li>
  <li>type=fixed: wl_fixed_t</li>
  <li>type=string: (const char *) to a nil-terminated string</li>
  <li>type=array: (struct wl_array *)</li>
  <li>type=fd: int, that is an open file descriptor</li>
  <li>type=new_id: (struct wl_object *) or (struct wl_resource *)</li>
  <li>type=object: (struct wl_object *) or (struct wl_resource *)</li>
  </ul>
  
  @param opcode the protocol opcode
  @param args   the protocol arguments