<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def table(self, name=DEFAULT_TABLE, **options):
 """ Get access to a specific table. Creates a new table, if it hasn't been created before, otherwise it returns the cached :class:`~tinydb.Table` object. :param name: The name of the table. :type name: str :param cache_size: How many query results to cache. :param table_class: Which table class to use. """


        if name in self._table_cache:
            return self._table_cache[name]

        table_class = options.pop('table_class', self._cls_table)
        table = table_class(self._cls_storage_proxy(self._storage, name), name, **options)

        self._table_cache[name] = table

        return table