public static DataObjectBaseAdapter CreateObject(CompactTlvDataObjectBase value)
 {
     if (value == null)
     {
         return(null);
     }
     else if (value is CompactTlvDataObjectApplicationIdentifier)
     {
         return(new DataObjectApplicationIdentifierAdapter((CompactTlvDataObjectApplicationIdentifier)value));
     }
     else if (value is CompactTlvDataObjectCardCapabilities)
     {
         return(new DataObjectCardCapabilitiesAdapter((CompactTlvDataObjectCardCapabilities)value));
     }
     else if (value is CompactTlvDataObjectCardIssuerData)
     {
         return(new DataObjectCardIssuerDataAdapter((CompactTlvDataObjectCardIssuerData)value));
     }
     else if (value is CompactTlvDataObjectCardServiceData)
     {
         return(new DataObjectCardServiceDataAdapter((CompactTlvDataObjectCardServiceData)value));
     }
     else if (value is CompactTlvDataObjectCountryCode)
     {
         return(new DataObjectCountryCodeAdapter((CompactTlvDataObjectCountryCode)value));
     }
     else if (value is CompactTlvDataObjectInitialAccessData)
     {
         return(new DataObjectInitialAccessDataAdapter((CompactTlvDataObjectInitialAccessData)value));
     }
     else if (value is CompactTlvDataObjectIssuerIdentificationNumber)
     {
         return(new DataObjectIssuerIdentificationNumberAdapter((CompactTlvDataObjectIssuerIdentificationNumber)value));
     }
     else if (value is CompactTlvDataObjectPreIssuingData)
     {
         return(new DataObjectPreIssuingDataAdapter((CompactTlvDataObjectPreIssuingData)value));
     }
     else if (value is CompactTlvDataObjectRfu)
     {
         return(new DataObjectRfuAdapter((CompactTlvDataObjectRfu)value));
     }
     else if (value is CompactTlvDataObjectStatusIndicator)
     {
         return(new DataObjectStatusIndicatorAdapter((CompactTlvDataObjectStatusIndicator)value));
     }
     else
     {
         throw new ArgumentException();
     }
 }
 public DataObjectBaseAdapter(CompactTlvDataObjectBase value)
 {
     this.value         = value;
     this.removeCommand = new DelegateCommand(this.Remove);
 }
 public static DataObjectBaseAdapter GetObject(CompactTlvDataObjectBase value)
 {
     return(DataObjectBaseAdapter.objectCache.GetObject(value));
 }