/// <summary>
        /// Generate an interchange as a collection of segments.
        /// This is a valid EDI message.
        /// </summary>
        public static void Generate()
        {
            var mInvoic = EdifactHelper.CreateMessage();
            var interchangeHeader = EdifactHelper.CreateUnb();

            var ediGroup = new EdifactGroup<M_INVOIC>(null);
            ediGroup.AddItem(mInvoic);
            var ediInterchange = new EdifactInterchange(interchangeHeader);
            ediInterchange.AddItem(ediGroup);

            IEnumerable<string> ediSegments = ediInterchange.GenerateEdi();
            // The segments can be concatenated with postfix (new line, etc.)
        }
        /// <summary>
        /// Generate EDI message with no postfix.
        /// </summary>
        public static void GenerateToString()
        {
            var mInvoic = EdifactHelper.CreateMessage();
            var interchangeHeader = EdifactHelper.CreateUnb();

            var ediGroup = new EdifactGroup<M_INVOIC>(null);
            ediGroup.AddItem(mInvoic);
            var ediInterchange = new EdifactInterchange(interchangeHeader);
            ediInterchange.AddItem(ediGroup);

            IEnumerable<string> ediSegments = ediInterchange.GenerateEdi();
            string edi = ediSegments.Aggregate("",
                (current, segment) => current + segment);
        }
        /// <summary>
        /// Generates EDI with custom separators.
        /// </summary>
        public static void GenerateWithCustomSeparators()
        {
            var mInvoic = EdifactHelper.CreateMessage();
            var interchangeHeader = EdifactHelper.CreateUnb();

            var ediGroup = new EdifactGroup<M_INVOIC>(null);
            ediGroup.AddItem(mInvoic);
            var ediInterchange = new EdifactInterchange(interchangeHeader);
            ediInterchange.AddItem(ediGroup);

            var defaultSep = Separators.DefaultEdifact();
            var newSep = new Separators('>', ':',
                defaultSep.DataElement,
                defaultSep.RepetitionDataElement,
                defaultSep.Escape);

            IEnumerable<string> ediSegments = ediInterchange.GenerateEdi(newSep);
        }