{% for field in fields %} {%- if field.nullable or field.optional %} outputStream.writeObject(this.{{ field.name }}); {%- elseif field.type.type.baseTypeName == "Int" %} outputStream.writeInt(this.{{ field.name }}); {%- elseif field.type.type.baseTypeName == "Long" %} outputStream.writeLong(this.{{ field.name }}); {%- elseif field.type.type.baseTypeName == "Double" %} outputStream.writeDouble(this.{{ field.name }}); {%- elseif field.type.type.baseTypeName == "String" %} outputStream.writeUTF(this.{{ field.name }}); {%- elseif field.type.type.baseTypeName == "Bool" %} outputStream.writeBoolean(this.{{ field.name }}); {%- else %} outputStream.writeObject(this.{{ field.name }}); {%- endif -%} {%- endfor -%}