public TokenEntity(TokenIdentityEntity onBehalfOf, TokenIdentityEntity initiator, TokenIdentityEntity[] consumedBy)
 {
     if (onBehalfOf != null)
     {
         this.OnBehalfOf = onBehalfOf;
     }
     if (initiator != null)
     {
         this.Initiator = initiator;
     }
     if (consumedBy != null)
     {
         this.ConsumedBy = consumedBy;
     }
     ModelVersion          = "1.0";
     ExpirationIntervalSec = int.MaxValue;
     // default Initiation and EffectiveTime to now
     InitiationTime  = DateTime.Now;
     EffectiveTime   = InitiationTime;
     ExpirationTime  = EffectiveTime.AddSeconds(ExpirationIntervalSec);
     CurrentUseCount = 0;
     MaxUseCount     = int.MaxValue;
 }
 /// <summary>
 /// Primary constructor used by services.
 /// </summary>
 /// <param name="onBehalfOf"></param>
 /// <param name="initiator"></param>
 public TokenEntity(TokenIdentityEntity onBehalfOf, TokenIdentityEntity initiator) : this(onBehalfOf, initiator, null)
 {
 }