docs: def _list_tables(self, max_results=None, marker=None, timeout=None, _context=None):
          '''
          Returns a list of tables under the specified account. Makes a single list 
          request to the service. Used internally by the list_tables method.
  
          :param int max_results:
              The maximum number of tables to return. A single list request may 
              return up to 1000 tables and potentially a continuation token which 
              should be followed to get additional resutls.
          :param marker:
              A dictionary which identifies the portion of the query to be
              returned with the next query operation. The operation returns a
              next_marker element within the response body if the list returned
              was not complete. This value may then be used as a query parameter
              in a subsequent call to request the next portion of the list of
              tables. The marker value is opaque to the client.
          :type marker: obj
          :param int timeout:
              The server timeout, expressed in seconds.
          :return: A list of tables, potentially with a next_marker property.
          :rtype: list(:class:`~azure.storage.common.models.table.Table`)
          '''
          request = HTTPRequest()
          request.method = 'GET'
          request.host_locations = self._get_host_locations(secondary=True)
          request.path = '/Tables'
          request.headers = {'Accept': TablePayloadFormat.JSON_NO_METADATA}
          request.query = {
              '$top': _int_to_str(max_results),
              'NextTableName': _to_str(marker),
              'timeout': _int_to_str(timeout),
          }
  
          return self._perform_request(request, _convert_json_response_to_tables,
                                       operation_context=_context)