def _fetch_schema_data(self, keyspace_list: List[str]) -> Tuple:
        """
        Fetches schema data, including tables, columns, and indexes, filtered by a
        list of keyspaces. This method constructs CQL queries to retrieve detailed
        schema information from the specified keyspaces and executes them to gather
        data about tables, columns, and indexes within those keyspaces.

        Parameters
        ----------
        - keyspace_list (List[str]): A list of keyspace names from which to fetch
          schema data.

        Returns
        -------
        - Tuple[List[Dict[str, Any]], List[Dict[str, Any]], List[Dict[str, Any]]]: A
          tuple containing three lists:
        - The first list contains dictionaries of table details (keyspace name,
          table name, and comment).
        - The second list contains dictionaries of column details (keyspace name,
          table name, column name, type, kind, and position).
        - The third list contains dictionaries of index details (keyspace name,
          table name, index name, kind, and options).

        This method allows for efficiently fetching schema information for multiple
        keyspaces in a single operation,
        enabling applications to programmatically analyze or document the database
        schema.

        """
        # Construct IN clause for CQL query
        keyspace_in_clause = ", ".join([f"'{ks}'" for ks in keyspace_list])

        # Fetch filtered table details
        tables_query = f"""SELECT keyspace_name, table_name, comment
                           FROM system_schema.tables
                           WHERE keyspace_name
                           IN ({keyspace_in_clause})"""

        tables_data = self.run(tables_query, fetch="all")

        # Fetch filtered column details
        columns_query = f"""SELECT keyspace_name, table_name, column_name, type,
                                 kind, clustering_order, position
                          FROM system_schema.columns
                          WHERE keyspace_name
                          IN ({keyspace_in_clause})"""

        columns_data = self.run(columns_query, fetch="all")

        # Fetch filtered index details
        indexes_query = f"""SELECT keyspace_name, table_name, index_name,
                                 kind, options
                          FROM system_schema.indexes
                          WHERE keyspace_name
                          IN ({keyspace_in_clause})"""

        indexes_data = self.run(indexes_query, fetch="all")

        return tables_data, columns_data, indexes_data

        Fetches schema data, including tables, columns, and indexes, filtered by a
        list of keyspaces. This method constructs CQL queries to retrieve detailed
        schema information from the specified keyspaces and executes them to gather
        data about tables, columns, and indexes within those keyspaces.

        Parameters
        ----------
        - keyspace_list (List[str]): A list of keyspace names from which to fetch
          schema data.

        Returns
        -------
        - Tuple[List[Dict[str, Any]], List[Dict[str, Any]], List[Dict[str, Any]]]: A
          tuple containing three lists:
        - The first list contains dictionaries of table details (keyspace name,
          table name, and comment).
        - The second list contains dictionaries of column details (keyspace name,
          table name, column name, type, kind, and position).
        - The third list contains dictionaries of index details (keyspace name,
          table name, index name, kind, and options).

        This method allows for efficiently fetching schema information for multiple
        keyspaces in a single operation,
        enabling applications to programmatically analyze or document the database
        schema.

        
llama-index-integrations/tools/llama-index-tools-cassandra/llama_index/tools/cassandra/cassandra_database_wrapper.py