public string FindEncoding([NotNull] IT4OutputDirective directive, [NotNull] IT4CodeGenerationInterrupter interrupter)
        {
            var attribute = directive.GetFirstAttribute(T4DirectiveInfoManager.Output.EncodingAttribute);
            var value     = attribute?.Value;

            if (value == null)
            {
                return(null);
            }
            string rawEncoding = value.GetText();

            if (IsCodePage(rawEncoding))
            {
                return(rawEncoding);                                     // Insert unquoted
            }
            if (IsEncodingName(rawEncoding))
            {
                return($"\"{rawEncoding}\"");
            }
            interrupter.InterruptAfterProblem(T4FailureRawData.FromElement(value, "Unknown encoding"));
            return(null);
        }
		public override void VisitOutputDirectiveNode(IT4OutputDirective outputDirectiveParam) =>
			Result.Encoding = EncodingsManager.FindEncoding(outputDirectiveParam, Interrupter);