Map<String, dynamic> get attributes => _attributes?.map((key, value) => MapEntry<String, dynamic>( key, value.isCollection ? value.values : value.value)) ?? <String, dynamic>{};