code: @Override
    public RemoteEvent<T> decode(final byte[] data) {
      final WakeMessagePBuf pbuf;
      try {
        pbuf = WakeMessagePBuf.parseFrom(data);
        return new RemoteEvent<T>(null, null, pbuf.getSeq(), decoder.decode(pbuf.getData().toByteArray()));
      } catch (final InvalidProtocolBufferException e) {
        throw new RemoteRuntimeException(e);
      }
    }
docs: Decodes a remote event from the byte array data.
  
  @param data the byte array data
  @return a remote event object
  @throws RemoteRuntimeException