docs: def _build_body_schema(serializer, body_parameters):
      """ body is built differently, since it's a single argument no matter what. """
      description = ""
      if isinstance(body_parameters, Param):
          schema = serializer.to_json_schema(body_parameters.arginfo.type)
          description = body_parameters.description
          required = True
      else:
          if len(body_parameters) == 0:
              return None
          required = set()
          body_properties = {}
          for name, param in body_parameters.items():
              arginfo = param.arginfo
              body_properties[name] = serializer.to_json_schema(arginfo.type)
              body_properties[name]["description"] = param.description
              if arginfo.default is NoDefault:
                  required.add(name)
          schema = {
              "type": "object",
              "required": list(required),
              "properties": body_properties,
          }
          required = len(required) > 0
      return BodyParameter(
          {
              "name": "body",
              "description": description,
              "required": required,
              "schema": schema,
          }
      )