Generic helper.
Inheritance: Rosetta.AST.Factories.PropertyDeclarationTranslationUnitFactory
 /// <summary>
 /// Copy initializes a new instance of the <see cref="PropertyDefinitionTranslationUnitFactory"/> class.
 /// </summary>
 /// <param name="other"></param>
 /// <remarks>
 /// For testability.
 /// </remarks>
 public PropertyDefinitionTranslationUnitFactory(PropertyDefinitionTranslationUnitFactory other)
     : base(other)
 {
     this.createWhenProtected = other.createWhenProtected;
 }
 /// <summary>
 /// Copy initializes a new instance of the <see cref="PropertyDefinitionTranslationUnitFactory"/> class.
 /// </summary>
 /// <param name="other"></param>
 /// <remarks>
 /// For testability.
 /// </remarks>
 public PropertyDefinitionTranslationUnitFactory(PropertyDefinitionTranslationUnitFactory other)
     : base(other)
 {
     this.createWhenProtected = other.createWhenProtected;
 }
        /// <summary>
        /// 
        /// </summary>
        /// <param name="node"></param>
        public override void VisitPropertyDeclaration(PropertyDeclarationSyntax node)
        {
            var propertyDefinitionTranslationUnit = new PropertyDefinitionTranslationUnitFactory(node, this.semanticModel, this.generateTranslationUniOnProtectedMembers).Create();
            if (propertyDefinitionTranslationUnit == null)
            {
                // When the factory returns null, then the member is not exposed, thus we do not generate it in the translation tree
                return;
            }

            this.classDeclaration.AddPropertyDeclaration(propertyDefinitionTranslationUnit);

            this.InvokePropertyDeclarationVisited(this, new WalkerEventArgs());
        }