<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def create(self, tables, version):
 """Do the actual work of creating the database, filling its tables with values, creating indices, and setting the datacache version metadata. Parameters tables : list List of datacache.DatabaseTable objects version : int """

        for table in tables:
            self._create_table(
                table_name=table.name,
                column_types=table.column_types,
                primary=table.primary_key,
                nullable=table.nullable)
            self._fill_table(table.name, table.rows)
            self._create_indices(table.name, table.indices)
        self._finalize_database(version)
        self._commit()