protected Object doDeserialize(InputStream payloadInputStream, byte protocolId, SchemaMetadata schemaMetadata, Integer writerSchemaVersion, Integer readerSchemaVersion) throws SerDesException { Object deserializedObj = super.doDeserialize(payloadInputStream, protocolId, schemaMetadata, writerSchemaVersion, readerSchemaVersion); ImmutableMap.Builder<String, Object> builder = ImmutableMap.builder(); Object values = convertValue(deserializedObj); if (values instanceof Map) { builder.putAll((Map) values); } else { builder.put(StreamlineEvent.PRIMITIVE_PAYLOAD_FIELD, values); } return builder.build(); }