public override object Read(BinaryReader reader, byte version)
{
var name = reader.ReadString();
var value = StreamerManager.Deserialize(reader);
var typeName = reader.ReadString();
int count = reader.ReadInt32();
var attributes = new List<Attribute>();
for (int i = 0; i < count; i++)
{
var attribute = StreamerManager.Deserialize(reader) as Attribute;
if (attribute != null)
attributes.Add(attribute);
}
return new Parameter(name, value, typeName, attributes.ToArray());
}