public OnTokenTransformationEventArgs(
     CommandContext commandContext,
     TokenTransformation transformation,
     TokenCollection pre,
     TokenCollection post)
 {
     CommandContext      = commandContext ?? throw new ArgumentNullException(nameof(commandContext));
     Transformation      = transformation ?? throw new ArgumentNullException(nameof(transformation));
     PreTransformTokens  = pre ?? throw new ArgumentNullException(nameof(pre));
     PostTransformTokens = post ?? throw new ArgumentNullException(nameof(post));
 }
 internal void TokenTransformation(CommandContext commandContext, TokenTransformation transformation, TokenCollection pre, TokenCollection post)
 {
     OnTokenTransformation?.Invoke(new OnTokenTransformationEventArgs(commandContext, transformation, pre, post));
 }