public override StackPacket Clone()
{
Server_Demand_Active_Pdu cloneServerDemandActivePdu = new Server_Demand_Active_Pdu(serverSessionContext);
cloneServerDemandActivePdu.commonHeader = commonHeader.Clone();
if (demandActivePduData != null)
{
cloneServerDemandActivePdu.demandActivePduData = new TS_DEMAND_ACTIVE_PDU();
cloneServerDemandActivePdu.demandActivePduData.shareControlHeader =
demandActivePduData.shareControlHeader;
cloneServerDemandActivePdu.demandActivePduData.shareId = demandActivePduData.shareId;
cloneServerDemandActivePdu.demandActivePduData.lengthCombinedCapabilities =
demandActivePduData.lengthCombinedCapabilities;
cloneServerDemandActivePdu.demandActivePduData.lengthSourceDescriptor =
demandActivePduData.lengthSourceDescriptor;
cloneServerDemandActivePdu.demandActivePduData.sourceDescriptor =
RdpbcgrUtility.CloneByteArray(demandActivePduData.sourceDescriptor);
cloneServerDemandActivePdu.demandActivePduData.numberCapabilities =
demandActivePduData.numberCapabilities;
cloneServerDemandActivePdu.demandActivePduData.pad2Octets = demandActivePduData.pad2Octets;
cloneServerDemandActivePdu.demandActivePduData.sessionId = demandActivePduData.sessionId;
if (demandActivePduData.capabilitySets != null)
{
cloneServerDemandActivePdu.demandActivePduData.capabilitySets = new Collection<ITsCapsSet>();
for (int i = 0; i < demandActivePduData.capabilitySets.Count; ++i)
{
cloneServerDemandActivePdu.demandActivePduData.capabilitySets.Add(
RdpbcgrUtility.CloneCapabilitySet(demandActivePduData.capabilitySets[i]));
}
}
}
return cloneServerDemandActivePdu;
}