factory ProjectProperties.fromJson(Map<String, dynamic> json) { return ProjectProperties( properties: decodeListMessage(json['properties'], Property.fromJson) ?? [], ); }