docs: def _get_example_values(self, route: str,
                              annotation: ResourceAnnotation) -> Dict[str, Any]:
          """Gets example values for all properties in the annotation's schema.
  
          :param route: The route to get example values for.
          :type route: werkzeug.routing.Rule for a flask api.
          :param annotation: Schema annotation for the method to be requested.
          :type annotation: doctor.resource.ResourceAnnotation
          :retruns: A dict containing property names as keys and example values
              as values.
          """
          defined_values = self.defined_example_values.get(
              (annotation.http_method.lower(), str(route)))
          if defined_values and not defined_values['update']:
              return defined_values['values']
  
          # If we defined a req_obj_type for the logic, use that type's
          # example values instead of the annotated parameters.
          if annotation.logic._doctor_req_obj_type:
              values = annotation.logic._doctor_req_obj_type.get_example()
          else:
              values = {
                  k: v.annotation.get_example()
                  for k, v in annotation.annotated_parameters.items()
              }
          if defined_values:
              values.update(defined_values['values'])
  
          # If this is a GET route, we need to json dumps any parameters that
          # are lists or dicts.  Otherwise we'll get a 400 error for those params
          if annotation.http_method == 'GET':
              for k, v in values.items():
                  if isinstance(v, (list, dict)):
                      values[k] = json.dumps(v)
          return values