write json serialized PlanDescriptions directly to output stream instead of in-memory string <-- avoid OOM when plans are huge