@override Map<String, dynamic> toMap() { return { "installed": installed, "available": available, "metadata": metadata.map((p) => p.toMap()).toList(), }; }