docs: def documentation(self, base_url=None, api_version=None, prefix=""):
          """Generates and returns documentation for this API endpoint"""
          documentation = OrderedDict()
          base_url = self.base_url if base_url is None else base_url
          overview = self.api.doc
          if overview:
              documentation['overview'] = overview
  
          version_dict = OrderedDict()
          versions = self.versions
          versions_list = list(versions)
          if None in versions_list:
              versions_list.remove(None)
          if False in versions_list:
              versions_list.remove(False)
          if api_version is None and len(versions_list) > 0:
              api_version = max(versions_list)
              documentation['version'] = api_version
          elif api_version is not None:
              documentation['version'] = api_version
          if versions_list:
              documentation['versions'] = versions_list
          for router_base_url, routes in self.routes.items():
              for url, methods in routes.items():
                  for method, method_versions in methods.items():
                      for version, handler in method_versions.items():
                          if getattr(handler, 'private', False):
                              continue
                          if version is None:
                              applies_to = versions
                          else:
                              applies_to = (version, )
                          for version in applies_to:
                              if api_version and version != api_version:
                                  continue
                              if base_url and router_base_url != base_url:
                                  continue
                              doc = version_dict.setdefault(url, OrderedDict())
                              doc[method] = handler.documentation(doc.get(method, None), version=version, prefix=prefix,
                                                                  base_url=router_base_url, url=url)
          documentation['handlers'] = version_dict
          return documentation