void DeclareAndInitField(Type t, string name, AccessibilityFlags accessibility = AccessibilityFlags.Private,
                                 ExpressionSyntax initValue = null)
        {
            var entityGroup = RoslynBuilder
                              .DeclareField(t, name)
                              .WithModifiers(TokenList(RoslynBuilder.AccessibilityToSyntaxToken(accessibility)));

            AddMember(entityGroup);

            if (initValue == null)
            {
                return;
            }

            StatementSyntax init = ExpressionStatement(
                AssignmentExpression(
                    SyntaxKind.SimpleAssignmentExpression,
                    IdentifierName(name),
                    initValue))
                                   .NormalizeWhitespace();

            InitializationStatements.Add(init);
        }