public T Read <T>()
    {
        var            newT    = Activator.CreateInstance <T>();
        var            length  = ReadLength();
        SerializerType serType = (SerializerType)mReadHelper.ReadByte();
        string         varName;
        long           pos = mReadHelper.Position - 1;

        if (serType == SerializerType.All)
        {
            for (long i = 0; i < length;)
            {
                varName = (string)mReadHelper.Read(typeof(string));
                SetFieldValue(newT, varName);
                i = mReadHelper.Position - pos;
            }
        }
        return(newT);
    }