def group_cache_valid(self, col_list):
        """
        Checks whether the column has a factorization that exists and is not older than the source

        :param col:
        :return:
        """
        cache_valid = False

        if self.rootdir:
            col_values_file_check = os.path.join(self.rootdir, self.create_group_base_name(col_list)) + \
                                    '.values/__attrs__'

            exists_group_index = os.path.exists(col_values_file_check)
            missing_col_check = [1 for col in col_list if not os.path.exists(self[col].rootdir + '/__attrs__')]
            cache_valid = (exists_group_index and not missing_col_check)

        return cache_valid