Map<String, dynamic> toMap() { return { "key": key, "name": name, "buildRuntime": buildRuntime, "runtimes": runtimes, "adapters": adapters.map((p) => p.toMap()).toList(), }; }