public override void Unmarshal(DataInputStream dis) { base.Unmarshal(dis); if (dis != null) { try { this._controlType = dis.ReadUnsignedByte(); this._communicationsChannelType = dis.ReadUnsignedByte(); this._sourceEntityID.Unmarshal(dis); this._sourceCommunicationsDeviceID = dis.ReadUnsignedByte(); this._sourceLineID = dis.ReadUnsignedByte(); this._transmitPriority = dis.ReadUnsignedByte(); this._transmitLineState = dis.ReadUnsignedByte(); this._command = dis.ReadUnsignedByte(); this._masterEntityID.Unmarshal(dis); this._masterCommunicationsDeviceID = dis.ReadUnsignedShort(); this._intercomParametersLength = dis.ReadUnsignedInt(); for (int idx = 0; idx < this.IntercomParametersLength; idx++) { IntercomCommunicationsParameters anX = new IntercomCommunicationsParameters(); anX.Unmarshal(dis); this._intercomParameters.Add(anX); } } catch (Exception e) { if (PduBase.TraceExceptions) { Trace.WriteLine(e); Trace.Flush(); } this.RaiseExceptionOccured(e); if (PduBase.ThrowExceptions) { throw e; } } } }