// PROTECTED READERS / WRITERS
 // See description of this method in the abstract base class SRZoneProperty.
 protected override void ReadData(SRBinaryReader binaryReader, int size)
 {
     base.ReadData(binaryReader, 12);    // Read the position part
     orientation = new SRQuaternionOrientation(binaryReader);
     SRTrace.WriteLine("                   Orientation (x,y,z,w):  " + orientation.ToString());
     if (size != 28)
         throw new SRZoneFileException("Transform/Orientation length is wrong.");
 }
 // See description of this method in the abstract base class SRZoneProperty.
 protected override void ReadXmlData(XmlNode parentNode)
 {
     base.ReadXmlData(parentNode);          // Read the position part
     orientation = new SRQuaternionOrientation(parentNode);
 }
 // CONSTRUCTORS
 public SRZoneTransformOrientationProperty(Int32 nameCrc, SRPosition position = null, SRQuaternionOrientation orientation = null)
     : base(nameCrc, position)
 {
     this.orientation = orientation != null ? orientation : new SRQuaternionOrientation();
 }