Hi Regunath,
I hope you are finding Zeno useful. Let me try to address where the confusion might be coming from, and answer your questions.
First, the confusion. We are currently refactoring the format for declaring NFTypeSerializers. The latest release, 1.5, required that serializers be defined slightly differently than the latest snapshot, 2.3. The reasoning behind this refactor is to provide greater insight into what the blob data contains via inspection of the FastBlobSchema, without having to deserialize the data into Objects first. It looks like you picked up the latest snapshot, and it also looks like you discovered on your own most of the proper way to define a serializer before the documentation is even ready :).
Here's what's happening in your serializer: In your schema, these fields have been defined as "mapField, setField, listField". Based on this schema, Zeno expects that the binary representation for these lists, sets, and maps will be "inlined" into the record. The way you would like to serialize them instead, I gather, is to serialize a reference to the Map, Set, or List objects as their own types, and refer to those representations separately.
In order to do this, you've already declared the required sub serializers. Now, you'll need to define the FastBlobSchema so that your corresponding fields are simply objects of those types. Instead of using mapField, setField, and listField, try using just field(String fieldName, String objectTypeName). The objectTypeName field should be the same as the name you declare in your MapSerializer, ListSerializer, or SetSerializer definition in the requiredSubSerializers method. I have attached a modified UserInfoSerializer from your github repository to this message with this modification.
It's unlikely that you'll need to use the "mapField, setField, listField" field declaration methods. I recommend sticking to the pattern in the attached file. Thanks for asking about this, we may want to make this difference more obvious, or hide these field declaration methods somehow in a future release to avoid any confusion.
Thanks again,
Drew.