public bool Decode(PduMarshaler marshaler)
 {
     try
     {
         this.CapabilityType = (CapabilityType_Values)marshaler.ReadUInt16();
         this.CapabilityLength = marshaler.ReadUInt16();
         this.Version = (CAPABILITY_VERSION)marshaler.ReadUInt32();
         return true;
     }
     catch
     {
         marshaler.Reset();
         throw new PDUDecodeException(this.GetType(), marshaler.ReadToEnd());
     }
 }
 public CAPABILITY_HEADER(CapabilityType_Values type)
 {
     this.CapabilityType = type;
 }
 public CAPABILITY_SET(CapabilityType_Values type)
 {
     this.Header = new CAPABILITY_HEADER(type);
 }
 public CAPABILITY_HEADER(CapabilityType_Values type, CAPABILITY_VERSION ver)
 {
     this.CapabilityType = type;
     this.Version = ver;
 }
 public CAPABILITY_SET(CapabilityType_Values type, CAPABILITY_VERSION ver)
 {
     this.Header = new CAPABILITY_HEADER(type, ver);
 }