def _list_tables(self, max_results=None, marker=None, timeout=None):
request = HTTPRequest()<EOL>request.method = '<STR_LIT:GET>'<EOL>request.host = self._get_host()<EOL>request.path = '<STR_LIT>'<EOL>request.headers = [('<STR_LIT>', TablePayloadFormat.JSON_NO_METADATA)]<EOL>request.query = [<EOL>('<STR_LIT>', _int_to_str(max_results)),<EOL>('<STR_LIT>', _to_str(marker)),<EOL>('<STR_LIT>', _int_to_str(timeout)),<EOL>]<EOL>response = self._perform_request(request)<EOL>return _convert_json_response_to_tables(response)<EOL>
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
    queues. 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 of :class:`~azure.storage.models.table.Table`: