TIP: Where-ever possible, you should use the 'switch' statement to control your versions.
Code:
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
switch (version)
{
case 1: { ContainerName = reader.ReadString(); } goto case 0;
case 0: { } break;
}
}