protected override void WriteFieldTypeAndName(FieldDefinition field)
        {
            if (field.IsUnsafe)
            {
                WriteKeyword(KeyWordWriter.Unsafe);
                WriteSpace();
            }

            TypeReference fieldType = field.FieldType;
            if (fieldType.IsRequiredModifier && (fieldType as RequiredModifierType).ModifierType.FullName == "System.Runtime.CompilerServices.IsVolatile")
            {
                WriteKeyword(KeyWordWriter.Volatile);
                WriteSpace();
                fieldType = (fieldType as RequiredModifierType).ElementType;
            }

            string fieldName = GetFieldName(field);

            CustomAttribute dynamicAttribute;
            if (field.TryGetDynamicAttribute(out dynamicAttribute))
            {
                WriteDynamicType(fieldType, dynamicAttribute);
                WriteSpace();
                int startIndex = this.formatter.CurrentPosition;
                WriteReference(fieldName, field);
                int endIndex = this.formatter.CurrentPosition - 1;
                this.currentWritingInfo.MemberDeclarationToCodePostionMap[field] = new OffsetSpan(startIndex, endIndex);
            }
            else
            {
                WriteTypeAndName(fieldType, fieldName, field);
            }
        }