private bool IsOverridable(ITypeDefinitionMember member)
        {
            if (!member.IsVirtual())
                return false;

            // member virtual final is not overridable
            if (member.IsSealed())
                return false;

            // if member type is Effectively sealed and cannot be extended, then the member cannot be inherited
            if (member.ContainingTypeDefinition != null && member.ContainingTypeDefinition.IsEffectivelySealed())
                return false;

            return true;
        }
        private bool IsOverridable(ITypeDefinitionMember member)
        {
            if (!member.IsVirtual())
            {
                return(false);
            }

            // member virtual final is not overridable
            if (member.IsSealed())
            {
                return(false);
            }

            // if member type is Effectively sealed and cannot be extended, then the member cannot be inherited
            if (member.ContainingTypeDefinition != null && member.ContainingTypeDefinition.IsEffectivelySealed())
            {
                return(false);
            }

            return(true);
        }