private <T> T decode(byte[] bytes) {
    return bytes != null ? serializer.decode(bytes) : null;
  }
private < T > T decode ( byte [ ] bytes ) { return bytes != null ? serializer . decode ( bytes ) : null ; }
Decodes the given object using the configured {@link #serializer}.

@param bytes the bytes to decode
@param <T>   the object type
@return the decoded object