Map<String, dynamic> toMap() { return { 'name': name, 'type': type, 'isNullable': isNullable, 'subFields': subFields.map((field) => field.toMap()).toList(), }; }