@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);
    }
  }
@ 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 ) ; } }
Decodes a remote event from the byte array data.

@param data the byte array data
@return a remote event object
@throws RemoteRuntimeException