def METHOD_NAME(client, filter=None, select=None, num_results=None, marker=None):
    def _convert_marker_to_continuation_token(mk):
        if not mk:
            return None
        ct = {
            'PartitionKey': mk.get('nextpartitionkey'),
            'RowKey': mk.get('nextrowkey')
        }
        return ct
    def _convert_continuation_token_to_next_marker(ct):
        if not ct:
            return {}
        mk = {
            'nextpartitionkey': ct.get('PartitionKey'),
            'nextrowkey': ct.get('RowKey')
        }
        return mk
    from ..track2_util import list_generator
    generator = client.query_entities(query_filter=filter, results_per_page=num_results, select=select)
    pages = generator.by_page(continuation_token=_convert_marker_to_continuation_token(marker))
    items = list_generator(pages=pages, num_results=num_results)
    result = {
        'items': items,
        'nextMarker': _convert_continuation_token_to_next_marker(pages.continuation_token)
    }
    return result