protected ParentAbstract(ParentAbstract other)
        {
            DoSomething();  // Noncompliant
            this.DoSomething();  // Noncompliant
            other.DoSomething(); // Compliant

            var a = this;
            a.DoSomething(); // Not recognized

            var action = new Action(() => { DoSomething(); });
        }
        protected ParentAbstract(ParentAbstract other)
        {
            DoSomething();  // Noncompliant {{Remove this call from a constructor to the overridable "DoSomething" method.}}
//          ^^^^^^^^^^^
            this.DoSomething();  // Noncompliant
            other.DoSomething(); // Compliant

            var a = this;
            a.DoSomething(); // Not recognized

            var action = new Action(() => { DoSomething(); });
        }
        protected ParentAbstract(ParentAbstract other)
        {
            DoSomething();       // Noncompliant
            this.DoSomething();  // Noncompliant
            other.DoSomething(); // Compliant

            var a = this;

            a.DoSomething(); // Not recognized

            var action = new Action(() => { DoSomething(); });
        }
        protected ParentAbstract(ParentAbstract other)
        {
            DoSomething();       // Noncompliant {{Remove this call from a constructor to the overridable 'DoSomething' method.}}
//          ^^^^^^^^^^^
            this.DoSomething();  // Noncompliant
            other.DoSomething(); // Compliant

            var a = this;

            a.DoSomething(); // Not recognized

            var action = new Action(() => { DoSomething(); });
        }