public override void Marshal(DataOutputStream dos) { base.Marshal(dos); if (dos != null) { try { this._objectID.Marshal(dos); this._referencedObjectID.Marshal(dos); dos.WriteUnsignedShort((ushort)this._updateNumber); dos.WriteUnsignedByte((byte)this._forceID); dos.WriteUnsignedByte((byte)this._modifications); this._objectType.Marshal(dos); this._objectAppearance.Marshal(dos); dos.WriteUnsignedShort((ushort)this._objectLocation.Count); this._requesterID.Marshal(dos); this._receivingID.Marshal(dos); for (int idx = 0; idx < this._objectLocation.Count; idx++) { Vector3Double aVector3Double = (Vector3Double)this._objectLocation[idx]; aVector3Double.Marshal(dos); } } catch (Exception e) { if (PduBase.TraceExceptions) { Trace.WriteLine(e); Trace.Flush(); } this.RaiseExceptionOccured(e); if (PduBase.ThrowExceptions) { throw e; } } } }