code: protected <T> T decode(byte[] bytes) {
      return bytes != null ? userSerializer.decode(bytes) : null;
    }
docs: Decodes the given object using the configured {@link #userSerializer}.
  
  @param bytes the bytes to decode
  @param <T>   the object type
  @return the decoded object