/// <summary>
        /// One or more exons fully included (no partial overlap)
        /// </summary>
        private void exons()
        {
            Interval cdsMarker = null;

            if (Transcript.IsProteinCoding())
            {
                cdsMarker = Transcript.CdsMarker();
            }

            foreach (Exon ex in Transcript.Exons)
            {
                if (Variant.Intersects(ex))
                {
                    EffectImpact impact = EffectImpact.LOW;

                    // Is the variant affecting a coding part of the exon?
                    // If so, then this is a HIGH impact effect.
                    if (cdsMarker != null && Variant.Intersect(ex).Intersects(cdsMarker))
                    {
                        impact = EffectImpact.HIGH;
                    }

                    // Is the whole exon inverted or just part of it?
                    EffectType effType = Variant.Includes(ex) ? EffectType.EXON_INVERSION : EffectType.EXON_INVERSION_PARTIAL;

                    EffectNoCodon(ex, effType, impact);
                }
            }
        }