docs: def print_help(self):
          """
          Prints the api method info to stdout for debugging.
          """
          keyfunc = lambda x: (x.resource_name, x.__doc__.strip())
          resources = groupby(sorted(filter(lambda x: (hasattr(x, 'is_api_call') and
                                                       x.is_api_call and x.is_supported_api),
                                            [getattr(self, resource) for resource in dir(self)]),
                                     key=keyfunc),
                              key=keyfunc)
          for resource_desc, resource_methods in resources:
              print resource_desc[0]
              print '\t', resource_desc[1]
              print
              print '\t', 'Available methods:'
              for r in resource_methods:
                  method_header = r.__name__ + '('
                  if r._get_args:
                      method_header += ','.join(r._get_args)
                  if r._put_or_post_args:
                      put_or_post_args = [arg['name'] for arg in reduce(lambda x, y: x+y, r._put_or_post_args.values())]
                      method_header += ',{' + ','.join(put_or_post_args) + '}'
                  method_header += ')'
                  method_desc = ""
                  if r.__name__.startswith('create'):
                      method_desc = 'Corresponding API call: POST to ' + r._resource_uri
                  if r.__name__.startswith('update'):
                      method_desc = 'Corresponding API call: PUT to ' + r._resource_uri
                  if r.__name__.startswith('read'):
                      method_desc = 'Corresponding API call: GET to ' + r._resource_uri
                  if r.__name__.startswith('delete'):
                      method_desc = 'Corresponding API call: DELETE to ' + r._resource_uri
  
                  print '\t\t', method_header, ' - ', method_desc
              print