protected SingularEventToken(IEventToken innerToken)
            : base(innerToken)
        {
            if (this.InnerToken.Events.Count != 1)
            {
                throw new ArgumentException(SystemForCrossDomainIdentityManagementSchemasResources.ExceptionSingleEventExpected);
            }

            KeyValuePair <string, object> singleEvent = this.InnerToken.Events.Single();

            this.SchemaIdentifier = singleEvent.Key;
            this.Event            = new ReadOnlyDictionary <string, object>((IDictionary <string, object>)singleEvent.Value);
        }
 protected EventTokenDecorator(IEventToken innerToken)
 {
     this.InnerToken = innerToken ?? throw new ArgumentNullException(nameof(innerToken));
 }